使用OpenCV面部检测时出错

时间:2014-02-23 00:37:11

标签: python opencv debian raspberry-pi

我尝试使用python脚本和OpenCV进行面部检测,但我一直收到此错误:

Traceback (most recent call last)
    File "face_detect.py", line 19, in <module>
        cascade = cv.Load(options, cascade)
TypeError: OpenCV returned NULL

我使用的代码在这里:https://github.com/mitchtech/py_servo_facetracker

我不知道导致此错误的原因或解决方法。提前致谢。

3 个答案:

答案 0 :(得分:0)

如果戴上护目镜;)

你会看到,

cascade = cv.Load(options, cascade)

在原始代码中,但是:

cascade = cv.Load(options.cascade)

(还有一句话:旧的cv api在较新的opencv版本中删除了,你可能应该避免使用cv2)

答案 1 :(得分:0)

我有同样的问题。对我来说,haarcascade的相对路径是不正确的。它认为数据文件夹是一级的,而不是两个。

我的更改

原件:
parser.add_option("-c", "--cascade", action="store", dest="cascade", type="str", help="Haar cascade file, default %default", default = "../data/haarcascades/haarcascade_frontalface_alt.xml")

修饰


parser.add_option("-c", "--cascade", action="store", dest="cascade", type="str", help="Haar cascade file, default %default", default = "../../data/haarcascades/haarcascade_frontalface_alt.xml")

答案 2 :(得分:0)

我遇到了同样的问题,看起来haarcascade_frontalface_alt.xml的文件路径不正确。

您应该从http://eclecti.cc/files/2008/03/haarcascade_frontalface_alt.xml将haarcascade_frontalface_alt.xml下载到您的计算机。

所以我通过改变haarcascade_frontalface_alt.xml的文件路径来修复它。希望它会有所帮助!