将python与特定版本的OpenCV一起使用

时间:2015-05-29 07:43:33

标签: python opencv installation virtualenv opencv3.0

我目前正在开发一个为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

有没有办法纠正?

2 个答案:

答案 0 :(得分:1)

关于“找不到库”问题,我删除了文件CMakeCache.txt,并在下面的cmake命令中找到了python库。 (但我不知道为什么会这样)

答案 1 :(得分:0)

编译OpenCV 3.0将创建自己的cv2.so文件,其中包含您的新模块,通常位于opencv3-0-0-beta/build目录中。您需要将OpenCV 3.0构建目录添加到PYTHONPATH,而不是apt-get创建的目录。