位置: 编程技术 - 正文
推荐整理分享python使用opencv进行人脸识别(opencv for python),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:opencv python教程,opencv+python,python的opencv,opencv for python,python opencv基本操作,opencv+python,python opencv基本操作,python opencv基本操作,内容如对您有帮助,希望把文章链接给更多的朋友!
环境
ubuntu . LTSpython 2.7.3opencv 2.3.1-7
安装依赖
示例代码
转换效果
原图:
转换后
使用感受
对于大部分图像来说,只要是头像是正面的,没有被阻挡,识别基本没问题,准确性还是很高的。
识别效率有点低,有时候一张图片能处理七八秒才能处理完,当然这个和机器配置有关。 如果想加速的话可以使用C语言重写,经测试,C语言版的所花时间大约是python的一半
另外,官方提供了几个库可一选择,这里使用的是haarcascade_frontalface_alt_tree.xml, 除此之外, /usr/share/opencv/haarcascades/文件夹下还有几个库:
根据文件名大家应该能知道是识别什么的。值得一提的是,这里面有四个关于人脸(frontalface)的识别库, 根据我的使用体验,default这个xml识别的最多,这就意味着本来不是头像的也识别成头像了。 alt_tree这个库虽然是最大的,但并不意味着这个库是最好的,应该说,用这个库,识别是最严格的, 这就意味着,有些头像不能被识别,因为根据他的算法,他认为这不是头像。 其余两个和alt_tree差不多。具体识别细节大家可以打开相应的xml看一下。
上面的代码只是识别面部,并不包括头发,如果大家想抓一个完整的头像的话, 可以将识别出来的矩形框的上边缘增加一定的比例,比如增加%头像的高度。
附:C++语言人脸识别代码
网上找的,亲测可用,效率比python高一点。
上一篇:Python 实现链表实例代码(python怎么写链表)
下一篇:OpenCV实现人脸识别(opencv人脸识别模型训练)
友情链接: 武汉网站建设