相关疑难解决方法(0)

使用OpenCV detectMultiScale找到我的脸

我很确定我的一般主题是正确的,但我找不到任何面孔.我的代码是从中读取的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)

python opencv face-detection

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

face-detection ×1

opencv ×1

python ×1