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的发展史
Sep 26 Python
python3库numpy数组属性的查看方法
Apr 17 Python
django2用iframe标签完成网页内嵌播放b站视频功能
Jun 20 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
Python二进制文件读取并转换为浮点数详解
Jun 25 Python
python 缺失值处理的方法(Imputation)
Jul 02 Python
python实现淘宝购物系统
Oct 25 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
Feb 04 Python
如何基于python实现不邻接植花
May 01 Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 Python
在keras中model.fit_generator()和model.fit()的区别说明
Jun 17 Python
Python如何导出导入所有依赖包详解
Jun 08 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
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
PHP通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
探讨:如何使用PhpDocumentor生成文档
2013/06/25 PHP
Jquery插件写法笔记整理
2012/09/06 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
vue2 全局变量的设置方法
2018/03/09 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
2018/10/20 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
python中from module import * 的一个坑
2014/07/20 Python
Python编程中time模块的一些关键用法解析
2016/01/19 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
三八妇女节标语
2014/10/09 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python