Python3.7+OpenCV3 人脸检测中的那些坑
2019-01-22 17:44
134 查看
一、先看程序
此程序实现的图像中的人脸检测,不同的图像检测的精度可能略有差异。
# coding=gbk import cv2 # 待检测的图片路径 # 获取训练好的人脸的参数数据,这里直接从GitHub上使用默认值 pathf='C:\\Users\Derek\AppData\Local\Programs\Python\Python37\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml' face_cascade = cv2.CascadeClassifier(pathf) # 读取图片 image = cv2.imread("D://Python/Picture/Kobe.jpg") gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) # 探测图片中的人脸 faces = face_cascade.detectMultiScale( gray, scaleFactor = 1.15, minNeighbors = 5, minSize = (5,5), flags = cv2.CASCADE_SCALE_IMAGE ) print("发现{0}个人脸!".format(len(faces))) for(x,y,w,h) in faces: # cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2) cv2.circle(image,((x+x+w)//2,(y+y+h)//2),w//2,(0,255,0),2) cv2.imshow("Find Faces!",image) cv2.waitKey(0)
二、检测结果:
三、踩坑合集
- 坑一:编码模式
如果不写# coding=gbk报错
Non-UTF-8 code starting with ‘\xb4’ in file D:/Python/Project/opencvtest.py on line 5, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
2. 坑二:直接写分类器报错
直接写
face_detector = cv.CascadeClassifier("haarcascade_frontalface_alt_tree.xml")
会报错。
为了解决这个问题,需要在前面用绝对路径写出来,也就是你在python中的安装的位置
pathf='C:\\Users\Derek\AppData\Local\Programs\Python\Python37\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml' face_cascade = cv2.CascadeClassifier(pathf)
- 坑三:cv2和cv3中函数名不同
CV2中的
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) flags = cv2.cv.CV_HAAR_SCALE_IMAGE
在CV3中换了名称:
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) flags = cv2.CASCADE_SCALE_IMAGE
4.坑四:运算符
cv2.circle(image,((x+x+w)/2,(y+y+h)/2),w/2,(0,255,0),2)
应在/后再加一条/
cv2.circle(image,((x+x+w)//2,(y+y+h)//2),w//2,(0,255,0),2)
相关文章推荐
- 使用OpenCV调用摄像头检测人脸并截图-Python
- 基础知识(七)opencv、python、人脸框检测
- 小项目(人脸检测) Opencv实时人脸检测 (附Python代码)
- python下通过dlib和opencv实现人脸对齐(包括关键点检测和仿射变换)
- Python_人脸检测 (dlib库检测与opencv检测效果对比 含代码)
- 人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物
- python opencv读取海康威视摄像头并进行人脸检测-rtsp协议
- Python2.7+Opencv 人脸检测
- 关于Python+Opencv实现人脸检测的实验笔记(调用图片文件篇)
- Python基于OpenCV的人脸检测
- Python-OpenCV人脸检测(代码)
- Python和OpenCV简单的人脸检测程序
- python opencv人脸检测提取及保存方法
- opencv+opencv_contrib 人脸识别和检测 python开发环境快速搭建(30分钟)图文教程
- Python+OpenCV人脸检测原理及示例详解
- Python-OpenCV人脸检测---直接调用训练好的Harr特征
- python+OpenCv+dlib实现人脸68个关键点检测并标注
- 基于python OpenCV实现动态人脸检测
- OpenCV实践之路——用dlib库进行人脸检测与人脸标记(Python)
- OpenCV + Python 人脸检测