Python3.6.0+opencv3.3.0人脸检测示例


Posted in Python onMay 25, 2018

网上有很多关于Python+opencv人脸检测的例子,并大都附有源程序。但是在实际使用时依然会遇到这样或者那样的问题,在这里给出常见的两种问题及其解决方法。

先给出源代码:(如下)

import cv2
import numpy as np

cv2.namedWindow("test")
cap=cv2.VideoCapture(0)
success,frame=cap.read()

classifier=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")

while success:
 success,frame=cap.read()
 size=frame.shape[:2]
 image=np.zeros(size,dtype=np.float16)
 image=cv2.cvtColor(frame,cv2.cv.CV_BGR2GRAY)
 cv2.equalizeHist(image,image)
 divisor=8
 h,w=size
 minSize=(w/divisor,h/divisor)
 faceRects=classifier.detectMultiScale(image,1.2,2,cv2.CASCADE_SCALE_IMAGE,minSize)
 if len(faceRects)> 0:
 for faceRect in faceRects:
  x,y,w,h=faceRect
  cv2.circle(frame,(x+w/2,y+h/2),min(w/2,h/2),(255,0,0))
  cv2.circle(frame,(x+w/4,y+h/4),min(w/8,h/8),(255,0,0))
  cv2.circle(frame,(x+3*w/4,y+h/4),min(w/8,h/8),(255,0,0))
  cv2.rectangle(frame,(x+3*w/4,y+3*h/4),(x+5*w/8,y+7*h/8),(255,0,0))
 cv2.imshow("test",frame)
 key=cv2.waitKey(10)
 c=chr(key&255)
 if c in ['q','Q',chr(27)]:
 break
 cv2.destroyWindow("test")

运行后出现问题一:

Traceback (most recent call last):
File “E:/facepy/m.py”, line 14, in
image=cv2.cvtColor(frame,cv2.cv.CV_BGR2GRAY)
AttributeError: module ‘cv2.cv2' has no attribute ‘cv'

Python3.6.0+opencv3.3.0人脸检测示例

解决方法:

cv2.cv.CV_BGR2GRAY是Opencv 2.x的变量,在Opencv 3.3中无法识别,所以应该替换成:

image=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

修改完成后,继续运行,又出现问题二:

Traceback (most recent call last):
File “E:/facepy/m.py”, line 19, in
faceRects=classifier.detectMultiScale(image,1.2,2,cv2.CASCADE_SCALE_IMAGE,minSize)
TypeError: integer argument expected, got float

Python3.6.0+opencv3.3.0人脸检测示例

解决方法:

由于minSize传到detectMultiScale函数的值不是整数导致的导致出现错误,所以这里我们需要强制转换minSize的值为整数: minSize =(w//divisor, h//divisor)  或者 minSize=(int(w/divisor),int(h/divisor))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 学习笔记
Dec 27 Python
python使用urllib2模块获取gravatar头像实例
Dec 18 Python
python 寻找优化使成本函数最小的最优解的方法
Dec 28 Python
TensorFlow实现模型评估
Sep 07 Python
Python docx库用法示例分析
Feb 16 Python
Python实现Singleton模式的方式详解
Aug 08 Python
Python 异常处理Ⅳ过程图解
Oct 18 Python
numpy:找到指定元素的索引示例
Nov 26 Python
python如何使用socketserver模块实现并发聊天
Dec 14 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
Python批量安装卸载1000个apk的方法
Apr 10 Python
Python如何创建装饰器时保留函数元信息
Aug 07 Python
Python unittest模块用法实例分析
May 25 #Python
使用Python的Django和layim实现即时通讯的方法
May 25 #Python
matplotlib subplots 调整子图间矩的实例
May 25 #Python
Matplotlib 生成不同大小的subplots实例
May 25 #Python
python opencv3实现人脸识别(windows)
May 25 #Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 #Python
matplotlib savefig 保存图片大小的实例
May 24 #Python
You might like
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
layer 关闭指定弹出层的例子
2019/09/25 Javascript
Python yield 使用方法浅析
2017/05/20 Python
python逆向入门教程
2018/01/15 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
python绘制多个子图的实例
2019/07/07 Python
Python Pandas 箱线图的实现
2019/07/23 Python
如何在sublime编辑器中安装python
2020/05/20 Python
Pycharm Git 设置方法
2020/09/15 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
罗马尼亚购物网站:Vivantis.ro
2019/07/20 全球购物
高职助产应届生自荐信
2013/09/24 职场文书
直接有效的自我评价
2014/01/11 职场文书
工厂搬迁方案
2014/05/11 职场文书
国际贸易系求职信
2014/08/09 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS