python - opencv 与 python 模块有不同的版本

标签 python opencv

我已经在我的 ubuntu 14.04LTS 上安装了 opencv,但是我有两个版本 .完成安装后。我尝试以下命令:

pkg-config --modversion opencv

我得到的版本是:3.0.0 当我在 python shell 上工作时

>>import cv2
>>cv2.__version__
'2.4.8'

当我关注这个 http://docs.opencv.org/trunk/d5/d26/tutorial_py_knn_understanding.html#gsc.tab=0 我收到一些错误消息说“cv2 没有模块‘ml’”,所以我发现这是因为我猜我的 opencv 版本与本教程不匹配!谁能帮忙,为什么我的 opencv 与 python 模块不匹配?

最佳答案

还需要一个步骤。您需要将新创建的库文件 -cv2.so- 符号链接(symbolic link)到您的 python 包路径。详细信息可以在本说明的最后部分找到PyImageSearch article - Install OpenCV 3.0 and Python 2.7+ on Ubuntu

由于您已经安装了 OpenCV,因此链接库文件已经存在,您需要先将其删除。从这里的 Docker Ubuntu 14.04LTS 实例,如果我运行下面的"file"命令,它会显示:

file /usr/local/lib/python2.7/site-packages/cv2.so

/usr/local/lib/python2.7/site-packages/cv2.so: symbolic link to `/usr/lib/python2.7/dist-packages/cv2.so'

因此您需要使用“rm”删除该符号链接(symbolic link)并使用此命令创建一个新链接:

ln -s ~path to your new cv2.so file~ /usr/local/lib/python2.7/site-packages/cv2.so

有了它,您应该能够启动 python,导入 cv2,并确认新版本的 OpenCV 已启用。享受教程。

关于python - opencv 与 python 模块有不同的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35990469/

相关文章:

python - 无法让 glVertexAttribPointer 从着色器渲染颜色

opencv - 如何在OpenCV中绘制填充形状

c++ - 使用 opencv 从帧创建 divx 编码的 avi

javascript - Django 模板中的 moment.js 日期

python - 如何检查矩阵中的行是否有重复项?

python - 如何在 Python 的目录中提取每个文件的 'last modified time'?

python - 自定义指标的 Xgboost Early.stop.round 错误

opencv - 图片中特定区域的纹理识别

c++ - 使用imencode()时访问冲突读取位置

python - Numpy 翻转坐标系