我尝试使用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
我不知道导致此错误的原因或解决方法。提前致谢。
答案 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的文件路径来修复它。希望它会有所帮助!