python中使用OpenCV进行人脸检测的例子
OpenCV的人脸检测功能在一般场合还是不错的。而ubuntu正好提供了python-opencv这个包,用它可以方便地实现人脸检测的代码。
写代码之前应该先安装python-opencv:
$sudoapt-getinstallpython-opencv
具体原理就不多说了,可以参考一下这篇文章。直接上源码。
#!/usr/bin/python
#-*-coding:UTF-8-*-
#face_detect.py
#FaceDetectionusingOpenCV.Basedonsamplecodefrom:
#http://python.pastebin.com/m76db1d6b
#Usage:pythonface_detect.py<image_file>
importsys,os
fromopencv.cvimport*
fromopencv.highguiimport*
fromPILimportImage,ImageDraw
frommathimportsqrt
defdetectObjects(image):
"""Convertsanimagetograyscaleandprintsthelocationsofanyfacesfound"""
grayscale=cvCreateImage(cvSize(image.width,image.height),8,1)
cvCvtColor(image,grayscale,CV_BGR2GRAY)
storage=cvCreateMemStorage(0)
cvClearMemStorage(storage)
cvEqualizeHist(grayscale,grayscale)
cascade=cvLoadHaarClassifierCascade(
"/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml",
cvSize(1,1))
faces=cvHaarDetectObjects(grayscale,cascade,storage,1.1,2,
CV_HAAR_DO_CANNY_PRUNING,cvSize(20,20))
result=[]
forfinfaces:
result.append((f.x,f.y,f.x+f.width,f.y+f.height))
returnresult
defgrayscale(r,g,b):
returnint(r*.3+g*.59+b*.11)
defprocess(infile,outfile):
image=cvLoadImage(infile);
ifimage:
faces=detectObjects(image)
im=Image.open(infile)
iffaces:
draw=ImageDraw.Draw(im)
forfinfaces:
draw.rectangle(f,outline=(255,0,255))
im.save(outfile,"JPEG",quality=100)
else:
print"Error:cannotdetectfaceson%s"%infile
if__name__=="__main__":
process("input.jpg","output.jpg")
相关文章
- python安装dlib库_pycharm安装dlib失败
- OpenCV进行人脸识别(Python)
- Python-opencv读取深度图像
- java和python哪个值得学-学java好还是Python好?
- python监控网站更新_Python 通过网站search功能监控网站内容更新[通俗易懂]
- Py之cv2:cv2库(OpenCV,opencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略[通俗易懂]
- Python的特点是什么_python具有的特点
- python分析人口出生率代码_国家统计局居然也能用的上Python?人口数据Python脚本了解一下?…[通俗易懂]
- Python 包的依赖管理,有解了!
- Python基础知识点总结[通俗易懂]
- Python的基础知识_python的基本知识点
- python中encode和decode的区别_python lstrip
- 如何利用python对HTTP代理进行自动化维护?
- opencv(4.5.3)-python(十二)--图像阈值处理
- 【7】python_matplotlib 输出(保存)矢量图方法;画图时图例说明(legend)放到图像外侧;Python_matplotlib图例放在外侧保存时显示不完整问题解决
- 搭建python开发环境-c++教程 如何搭建Python开发环境?
- Python json中一直搞不清的load、loads、dump、dumps、eval
- 100天精通Python丨办公效率篇 —— 07、Python自动化操作 Excel(读写、增删改查、分组统计)
- 100天精通Python丨办公效率篇 —— 11、Python自动化操作 Email(发送邮件、收邮件、邮箱客户端)
- python模拟Get请求保存网易歌曲的url详解编程语言
- Python学习:6.python内置函数详解编程语言
- 25 行 Python 代码实现人脸检测——OpenCV 技术教程
- python获取糗百图片代码实例
- python调用cmd命令行制作刷博器
- Python下的Mysql模块MySQLdb安装详解