저는 최근에 opencv를 배우기 시작했으며 python으로 이미지의 얼굴을 탐지하고 감지 된 모든 얼굴을 별도의 이미지로 저장하는 프로그램을 작성했습니다. 일부 이미지에서는 제대로 작동하지만 많은 이미지에서 모든 얼굴을 감지하지 못합니다.opencv와 python을 사용한 얼굴 검출 정확도
심지어이 (http://imgur.com/HUh3tIK) 간단한 이미지에서 실패합니다. 오른쪽 면만 감지하고 왼쪽면은 감지하지 못합니다. 정확도를 높이려면이 문제를 해결하는 방법을 도와주세요.
import cv2.cv as cv
import string
im = cv.LoadImageM("D:\Test\Dia.jpg")
storage = cv.CreateMemStorage()
haar=cv.Load("C:\opencv\data\haarcascades\haarcascade_frontalface_default.xml")
detected = cv.HaarDetectObjects(im, haar, storage, 1.1, 2,cv.CV_HAAR_DO_CANNY_PRUNING,(10,10))
i = 0
if detected:
for face in detected:
i = i + 1
xx = face[0][0]
yy = face[0][1]
width = face[0][2]
height = face[0][3]
pankaj12 = (width,height)
cvIm = cv.LoadImage("D:\Test\Dia.jpg")
cropped = cv.CreateImage(pankaj12,cvIm.depth, cvIm.nChannels)
src_region = cv.GetSubRect(cvIm, face[0])
cv.Copy(src_region, cropped)
cv.SaveImage("D:\Test\Pankaj"+str(i)+".jpg",cropped)
input("Press Enter to continue...")
"haarcascade_frontalface_default.xml"은 데모 트레이닝 세트 일뿐입니다. –
haarcascade_frontalface_default.xml 이상입니다. _alt 계곡이 나를 위해 더 좋게 작동했습니다 – berak
나는 모든 얼굴 haarascade xml을 이미 시도했지만 아무도 나를 위해 잘 작동하지 않습니다. 간단한 얼굴 사진조차 모두 실패합니다. –