我很确定我的一般主题是正确的,但我找不到任何面孔.我的代码是从中读取的c=cv2.VideoCapture(0),即计算机的摄像机.然后我进行以下设置以获得面部的位置.正如你所看到的,我循环遍历不同的scaleFactors和minNeighbors,但rects总是返回空.我还尝试了opencv/data/haarcascades包中包含的四个不同haarcascade xml文件中的每一个.
有小费吗?
while(1):
ret, frame = c.read()
rects = find_face_from_img(frame)
def detect(img, cascade):
for scale in [float(i)/10 for i in range(11, 15)]:
for neighbors in range(2,5):
rects = cascade.detectMultiScale(img, scaleFactor=scale, minNeighbors=neighbors,
minSize=(20, 20), flags=cv2.cv.CV_HAAR_SCALE_IMAGE)
print 'scale: %s, neighbors: %s, len rects: %d' % (scale, neighbors, len(rects))
def find_face_from_img(img):
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = cv2.equalizeHist(gray)
rects = detect(gray, cascade)
Run Code Online (Sandbox Code Playgroud)