版权声明:本文为博主原创文章,未经博主允许不得转载。http://mp.blog.csdn.net/configure#i https://blog.csdn.net/wangming520liwei/article/details/87010454
20行代码 人脸识别
import cv2
filename = "D://human.jpg"
def detect(filename):
# haarcascade_frontalface_default.xml存储在package安装的位置
face_cascade = cv2.CascadeClassifier("D:\\Program Files\\Python\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_default.xml")
img = cv2.imread(filename)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#传递参数是scaleFactor和minNeighbors,分别表示人脸检测过程中每次迭代时图像的压缩率以及每个人脸矩形保留近邻数目的最小值
#检测结果返回人脸矩形数组
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
cv2.namedWindow("Face Detected!")
cv2.imshow("Face Detected!", img)
cv2.imwrite("D://Face.jpg", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
detect(filename)
可能报错
OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\objdetect\src\cascade
cascadedetect.cpp:1698: error: (-215) !empty() in function detectMultiScale
解决方案:
windows下面 // 代替/ j
检查路径
filename = "D://human.jpg"
检查路径
扫描二维码关注公众号,回复:
5616156 查看本文章
D:\\Program Files\\Python\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_default.xml
两者地址是否确认正确,一般是没啥问题的话,能正常运行