使用OpenCV进行精确裁切

时间:2018-10-13 08:40:57

标签: opencv cv2 haar-classifier python-3.7 facial-identification

我正在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()

0 个答案:

没有答案