Python 人脸检测-打开CV can';我找不到那张脸

Python 人脸检测-打开CV can';我找不到那张脸,python,opencv3.0,face,Python,Opencv3.0,Face,我正在学习OpenCV。这是我的密码: import cv2 face_patterns = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') sample_image = cv2.imread('1.jpg') gray = cv2.cvtColor(sample_image,cv2.COLOR_RGB2GRAY) faces = face_patterns.detectMultiScale(gray,1.3,5) pri

我正在学习OpenCV。这是我的密码:

import cv2
face_patterns = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
sample_image = cv2.imread('1.jpg')
gray = cv2.cvtColor(sample_image,cv2.COLOR_RGB2GRAY)
faces = face_patterns.detectMultiScale(gray,1.3,5)
print(len(faces))
for (x, y, w, h) in faces:
    cv2.rectangle(sample_image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imwrite('result.jpg', sample_image)
如果我用图片A,我可以得到很多张脸,如果我用图片B,我一张也没有

我多次更改了
detectMultiScale(灰色,1.3,5)
中的参数,它仍然不起作用


而不是-

faces = face_patterns.detectMultiScale(gray,1.3,5)
faces = face_patterns.detectMultiScale(blackandwhite,1.3,5)
尝试使用-

faces = face_patterns.detectMultiScale(gray,1.3,5)
faces = face_patterns.detectMultiScale(blackandwhite,1.3,5)
如果问题在此之后仍然出现,请查看我的代码


我认为这更多的是Cv2模块本身的问题。在人脸检测方面,有比HAAR级联更好的模型。人脸识别库对于检测和识别人脸也非常有用。它使用hog作为默认模型。您也可以使用cnncnn以获得更高的准确度,但检测过程会很慢

找到更多

导入cv2
将人脸识别作为fr导入
sample\u image=fr.load\u image\u文件(“1.jpg”)
未知面部位置=面部位置(示例图像,model=“hog”)
打印(len(未知面位置))#检测到的面计数
对于未知面位置中的面位置:
y1,x2,y2,x1=faceloc
cv2.矩形(样本_图像,(x1,y1),(x2,y2),(0,0,255),2)
样本图像=样本图像[:,:::-1]#将bgr图像转换为rbg
imwrite(“result.jpg”,示例图像)

根据我的经验,
Haar Cascade
不适用于倾斜角度为
图像B
的面。谢谢,它确实有效!