【发布时间】:2013-03-25 02:01:03
【问题描述】:
我一直在研究一个人脸检测脚本,它可以让您使用 OpenCV 的 (cv2) Haar Cascade Classifier 一次检测多个人脸,但是,每次我调用这个函数时,程序都会无限期冻结而没有任何错误迹象,这是我的函数的代码:
import cv2
import cv2.cv
def detect(img, cascade_fn='haarcascade_frontalface_alt2.xml',
scaleFactor=1.3, minNeighbors=4, minSize=(20, 20),
flags=cv.CV_HAAR_SCALE_IMAGE):
cascade = cv2.CascadeClassifier(cascade_fn)
faces = list()
test = True
while test == True:
rect = cascade.detectMultiScale(img, scaleFactor=scaleFactor,
minNeighbors=minNeighbors,
minSize=minSize, flags=flags)
if len(rect) == 0:
test = False
else:
for x1, y1, x2, y2 in rect:
faces.append(img[y1:y2, x1:x2])
cv2.rectangle(img, (x1, y1), (x2, y2), color, (0, 0, 0))
return faces
所以请,谁能指出我面临这个错误的原因,谢谢。
【问题讨论】:
标签: python opencv numpy computer-vision