我目前正在开发一个为OpenCV 3.0测试版添加新模块的项目,所以我尝试使用我自己编译的Python版本(就像一个注释,C ++版本有效)。
由于我不想搞乱已经安装的OpenCV和Python的版本,我没有向ldconfig添加我的OpenCV 3.0 beta的特定构建/安装,如果可能的话我想在python virtualenv中使用它。
到目前为止,我已经设置了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
有没有办法纠正?
答案 0 :(得分:1)
关于“找不到库”问题,我删除了文件CMakeCache.txt
,并在下面的cmake命令中找到了python库。 (但我不知道为什么会这样)
答案 1 :(得分:0)
编译OpenCV 3.0将创建自己的cv2.so
文件,其中包含您的新模块,通常位于opencv3-0-0-beta/build
目录中。您需要将OpenCV 3.0构建目录添加到PYTHONPATH
,而不是apt-get创建的目录。