Python 人脸检测,未检测到人脸

Python 人脸检测,未检测到人脸,python,python-3.x,opencv,face-recognition,Python,Python 3.x,Opencv,Face Recognition,我试图做人脸检测,但它没有检测到任何人脸 这是我为人脸检测创建的函数 def faceDetection(test_img): gray_img=cv2.cvtColor(test_img,cv2.COLOR_BGR2GRAY) face_haar_cascade=cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # haar classifier faces=face_haar_ca

我试图做人脸检测,但它没有检测到任何人脸

这是我为人脸检测创建的函数

def faceDetection(test_img):
     gray_img=cv2.cvtColor(test_img,cv2.COLOR_BGR2GRAY)
     face_haar_cascade=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
     # haar classifier
     faces=face_haar_cascade.detectMultiScale(gray_img,scaleFactor=1.32,minNeighbors=5)

     return faces,gray_img
这是用于

test_img=cv2.imread('pic.png')
faces_detected,gray_img=fr.faceDetection(test_img)
print("faces_detected:",faces_detected)


for (x,y,w,h) in faces_detected:
    cv2.rectangle(test_img,(x,y),(x+w,y+h),(255,0,0),thickness=5)

resized_img=cv2.resize(test_img,(500,500))
cv2.imshow("face",resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows
但当我运行此脚本时,它不会显示检测到的任何人脸 只需给出这个输出

检测到的面:()


图像周围没有方框

尝试使用不同的haar级联。默认值是
haarcascade\u frontalface\u alt.xml

face_haar_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
更改用于级联的比例因子。如果这不起作用,你还可以将邻居的数量减少到2个

faces = face_haar_cascade.detectMultiScale(gray_img, scaleFactor=1.1, minNeighbors=5);
检查找到的面数

print('Faces found: ', len(faces))

尝试使用不同的haar级联。默认值是
haarcascade\u frontalface\u alt.xml

face_haar_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
更改用于级联的比例因子。如果这不起作用,你还可以将邻居的数量减少到2个

faces = face_haar_cascade.detectMultiScale(gray_img, scaleFactor=1.1, minNeighbors=5);
检查找到的面数

print('Faces found: ', len(faces))

你确定你已经下载到了正确的目的地吗?是的,从OpenCVGithub页面这是一个链接尝试减少scaleFactor,它相当高。试试默认值1.1不,它不起作用,它通过减少scaleFactor检测但不面对你确定你下载到了正确的目的地吗?是的,从OpenCVGitHub页面这是一个链接尝试减少scaleFactor,它相当高。尝试默认值1.1否,它不起作用,它通过减少scaleFactor来检测但不检测人脸