尝试使用opencv harcascade文件查找人脸检测,但x、y、w、h值为空



尝试使用opencv harcascade文件查找人脸检测,但x、y、w、h值为空

import cv2            ***import packages***
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')    **import 
           haarcascade**
image=cv2.imread("messi.jpg")     **read image**
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)   **convert gray image**
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:

cv2.rectangle(image,(x,y),(x+w,y+h),(255,255,0),2)

cv2.imshow("crop/region of interset image",image) 
cv2.waitKey(0)
cv2.destroyAllWindows()

图片中是否根本没有检测到人脸(因此,循环甚至没有运行(?我建议先打印人脸的长度,以验证这一点。

这通常不应该发生。我还用python和opencv制作了一个人脸识别haar级联分类器。你确定训练数据中没有错误吗?例如,阶段被删除,或者阶段10在那里,12在那里,但阶段11不在那里。我认为这是唯一的办法。如果问题出在这里,请删除您的训练数据,然后重新进行训练。我的猜测是,你只是重新训练你的模特。记住:在重新开始训练模型之前,删除所有内容,包括阶段、训练数据和模型。