在OpenCV中加载haar级联文件 -> “OpenCV返回NULL”
这是关于OpenCV 2.1和Python 2.6的内容:
>>> 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
把 cv.Load()
换成 cv.CascadeClassifier()
然后试试看
1
看起来文件路径没有正确解析(比如说 ~/...),但具体情况不是很清楚。
建议你使用操作系统的包来找到基础路径,然后用 os.path 的函数来组合,得到完整的路径名。