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 返回汉字的汉语拼音
Feb 27 Python
python实现系统状态监测和故障转移实例方法
Nov 18 Python
python抓取网页时字符集转换问题处理方案分享
Jun 19 Python
Python读写Json涉及到中文的处理方法
Sep 12 Python
python+splinter实现12306网站刷票并自动购票流程
Sep 25 Python
Python制作exe文件简单流程
Jan 24 Python
python儿童学游戏编程知识点总结
Jun 03 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
python3实现绘制二维点图
Dec 04 Python
Python 实现黑客帝国中的字符雨的示例代码
Feb 20 Python
Python用户自定义异常的实现
Dec 25 Python
matplotlib绘制正余弦曲线图的实现
Feb 22 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 动态随机生成验证码类代码
2010/04/09 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
[原创]php实现数组按拼音顺序排序的方法
2017/05/03 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
js控制表单操作的常用代码小结
2013/08/15 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
2018/11/08 Javascript
js tab栏切换代码实例解析
2019/09/03 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
Python中的推导式使用详解
2015/06/03 Python
python中map()与zip()操作方法
2016/02/27 Python
Python部署web开发程序的几种方法
2017/05/05 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
HTML5 Canvas实现360度全景图的示例代码
2018/01/29 HTML / CSS
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
咖啡店自主创业商业计划书
2014/01/22 职场文书
电焊工岗位职责
2014/03/06 职场文书
党员评议自我评价
2015/03/03 职场文书
繁星春水读书笔记
2015/06/30 职场文书
教师教育教学随笔
2015/08/15 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技