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实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
用map函数来完成Python并行任务的简单示例
Apr 02 Python
约瑟夫问题的Python和C++求解方法
Aug 20 Python
Python正则表达式知识汇总
Sep 22 Python
Python操作Redis之设置key的过期时间实例代码
Jan 25 Python
如何用Python实现简单的Markdown转换器
Jul 16 Python
python语音识别实践之百度语音API
Aug 30 Python
Opencv+Python 色彩通道拆分及合并的示例
Dec 08 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
在Django中实现添加user到group并查看
Nov 18 Python
pytorch数据预处理错误的解决
Feb 20 Python
python利用线程实现多任务
Sep 18 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中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
php中yii框架实例用法
2020/12/22 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
python 算法 排序实现快速排序
2012/06/05 Python
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
Python subprocess模块详细解读
2018/01/29 Python
TensorFlow损失函数专题详解
2018/04/26 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
简单说说tomcat的配置
2013/05/28 面试题
大学校庆策划书
2014/01/31 职场文书
服装店营销方案
2014/03/10 职场文书
人大代表选举标语
2014/10/07 职场文书
医院见习报告范文
2014/11/03 职场文书
评先进个人材料
2014/12/29 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
python识别围棋定位棋盘位置
2021/07/26 Python