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 相关文章推荐
Python3搜索及替换文件中文本的方法
May 22 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
Jan 18 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
Apr 22 Python
使用Django2快速开发Web项目的详细步骤
Jan 06 Python
在Python中实现函数重载的示例代码
Dec 12 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 Python
简单了解python filter、map、reduce的区别
Jan 14 Python
python实现串口通信的示例代码
Feb 10 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
基于Python的EasyGUI学习实践
May 07 Python
Python采集壁纸并实现炫轮播
Apr 30 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
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
IE8 浏览器Cookie的处理
2009/01/31 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
js实现文字滚动效果
2016/03/03 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
Python for循环及基础用法详解
2019/11/08 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
国贸专业的职业规划书
2014/03/15 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
Angular性能优化之第三方组件和懒加载技术
2021/05/10 Javascript
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL
Python中的 No Module named ***问题及解决
2022/07/23 Python