我正在Python 3.7中实现OpenCV以进行面部识别。我一次传递一组600张图像,仅从该图像上裁切出脸,但是detectMultiScale(image)
在图像上仅运行一次,有时会裁切没有脸部的区域。如何使用它来检测出准确的面孔。
几行代码是:
FACE_CASCADE=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
for filename in os.listdir('/Extracted'):
print(filename)
image=cv2.imread('/Extracted/'+filename)
faces=FACE_CASCADE.detectMultiScale(image);
for x,y,w,h in faces:
sub_img=image[y-10:y+h+10,x-10:x+w+10]
gray_image = cv2.cvtColor(sub_img,cv2.COLOR_BGR2GRAY)
cv2.imwrite('Extracted/'+str(filename),gray_image)
cv2.destroyAllWindows()