Python3.6.0+opencv3.3.0人脸检测(示例)
来源:互联网 发布:qq空间营销软件 编辑:程序博客网 时间:2024/05/29 16:25
网上有很多关于Python+opencv人脸检测的例子,并大都附有源程序。但是在实际使用时依然会遇到这样或者那样的问题,在这里给出常见的两种问题及其解决方法。
先给出源代码:(如下)
import cv2import numpy as npcv2.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’
解决方法:
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
解决方法:
由于minSize传到detectMultiScale函数的值不是整数导致的导致出现错误,所以这里我们需要强制转换minSize的值为整数:
minSize =(w//divisor, h//divisor)
或者
minSize=(int(w/divisor),int(h/divisor))
- Python3.6.0+opencv3.3.0人脸检测(示例)
- python3.6.3+opencv3.3.0学习笔记九--动态物体检测
- Python3与OpenCV3.3 图像处理(十九)--直线检测
- 人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物
- vs13 opencv3.0 人脸检测
- opencv+人脸检测(OpenCv3.0+VS2013)
- 基于qt和opencv3人脸检测
- Java+opencv3.2.0之人脸检测
- 基于opencv3的人脸检测
- 基于 opencv3.3 Android 人脸检测
- Python3与OpenCV3.3 图像处理(二十)--圆检测
- Python3.5.+Opencv3.3.0安装
- python3.6.3+opencv3.3.0学习笔记五--动态人脸捕获
- python3.6.3+opencv3.3.0学习笔记七--人脸识别效果实录
- python3.6.3+opencv3.3.0学习笔记八--本地视频人脸识别后另存
- opencv3.3.0+python3.6.3学习笔记十一--百度大脑人脸识别匹配
- Python3.6.3+opencv3.3.0学习笔记十四--基于分类器的动态人脸人体捕获
- windows10下python3.6+opencv3.3.0安装人脸识别face_recognition库
- python argparse 用法总结
- hdu 1217 # 最短路
- Mac本下Oracle InstantClient的安装(sqlplus命令不能执行的解决方案)
- UVALive3983[Robotruck] 动态规划 滑动窗口优化
- java Date日期格式转换
- Python3.6.0+opencv3.3.0人脸检测(示例)
- 1011. World Cup Betting
- C语言之结构体指针
- Fast convolutional neural network training using selective data sampling 笔记
- HTML-0907总结
- linux命令--解压缩(归档)命令
- Leetcode #14. Longest Common Prefix
- 安卓系统下生成QR码(二)——自定义二维码的纠错等级
- C调用C++函数