我目前正在做一个项目,向OpenCV 3.0测试版添加一个新模块,所以我试图使用我自己编译的Python版本(就像一个注释,c++版本工作)。
因为我不想把已经安装的OpenCV和Python版本搞砸,我没有添加到ldconfig我的OpenCV 3.0测试版的特定构建/安装,如果可能的话,我想在Python虚拟环境中使用它。
到目前为止,我已经设置了venv,由于其中无法访问cv2,所以我更新了PYTHONPATH
以添加包含cv2.so
文件的文件夹(使用sudo apt-get install python-opencv
创建)。但是,加载的不是正确版本的opencv绑定:
$ python -c "import cv2; print cv2.__version__"
2.4.8
你知道我该怎么做吗?
编辑(感谢@otibom):
我的构建似乎是我没有正确的cv2.so
文件的原因。cmake的结果如下:
-- Python 2:
-- Interpreter: /usr/bin/python2.7 (ver 2.7.6)
-- Libraries: NO
-- numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
-- packages path: lib/python2.7/dist-packages
有办法纠正吗?
关于"库未找到"问题,我删除了文件CMakeCache.txt
,并在以下cmake命令中找到了python库。(但我不知道为什么会这样)
编译OpenCV 3.0将创建自己的包含新模块的cv2.so
文件,通常在您的opencv3-0-0-beta/build
目录中。您需要将OpenCV 3.0构建目录添加到PYTHONPATH
,而不是由apt-get创建的目录。