在OpenCV中加载haar级联文件 - > “OpenCV返回NULL”

时间:2010-11-22 01:04:29

标签: python opencv

使用Python 2.6绑定的OpenCV 2.1:

>>> cv.Load('~/Desktop/data/haarcascades/haarcascade_eye.xml')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: OpenCV returned NULL

对此有何解释?这发生在OS X和Ubuntu上。每个文件都会出现相同的错误。它起作用(我认为)2.0。

编辑 - 我想它有时会破裂。

>>> cv.Load('/Users/rob/Downloads/OpenCV-2.1.0/data/haarcascades/haarcascade_frontalface_alt.xml')
<HaarClassifierCascade 0x1003a3a40>
>>> cv.Load('/opt/local/var/macports/software/opencv/2.1.0_0/opt/local/share/opencv/haarcascade_frontalface_alt.xml')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: OpenCV returned NULL

2 个答案:

答案 0 :(得分:1)

看起来文件路径没有正确解析(例如〜/ ...),但它不是很清楚

建议您使用OS包查找basepath并使用os.path函数连接以获取完整路径名

答案 1 :(得分:0)

cv.Load()替换为cv.CascadeClassifier()并尝试