这是一个使用openCV进行面部检测的简单代码:
import cv2
img = cv2.imread("one.jpg")
hc = cv2.CascadeClassifier("haarcascade_frontalface_alt2.xml")
faces = hc.detectMultiScale(img)
for face in faces:
print 'inside for loop ! '
cv2.rectangle(img, (face[0], face[1]), (face[0] + face[2], face[0] + face[3]), (255, 0, 0), 3)
cv2.imshow("Face", img)
if cv2.waitKey(5000) == 27:
cv2.destroyWindow("Face")
cv2.imwrite("two.jpg", img)
但是当我运行此代码时,显示的最终图像,即two.jpg与输入中给出的相同,即one.jpg!没有检测到任何面孔.. for循环中的代码永远不会执行...为什么会这样?我应该在代码中做出任何更改吗?
this is the image I am giving as one.jpg & the final image ie two.jpg also looks the same
答案 0 :(得分:0)
似乎没有检测到您使用的图像中的任何面(在这种情况下,不会执行for循环)。你可以: