在Ubuntu 14.04中安装OpenCV

3

我从源代码构建了OpenCV,但是我无法使用它。每次尝试使用以下代码加载图像时,都会出现“No module named cv2.cv”的错误。为什么会这样?我该如何解决?

from cv2.cv import *

img = LoadImage("/home/User/Desktop/Image.png")
NamedWindow("opencv")
ShowImage("opencv",img)
WaitKey(0)

我所执行的步骤如下...

我从GitHub主页下载了zip文件,并在我创建的目标目录中使用以下命令构建OpenCV:

cmake OpenCV源目录

然后在目标目录中运行以下命令:

make

sudo make install


你正在使用Python的哪个版本?(如果是,你确定已经安装了正确的版本吗?) - Lilith Daemon
@ChrisBritt 我不知道有多个版本,但我刚从主GitHub页面下载了zip文件,然后按照我描述的做了 :/ - Adam
当你执行cmake时,它会输出其配置选项,在Python部分中说了什么?(还有你使用的Python版本是什么) - Lilith Daemon
当您第一次运行cmake时 - Lilith Daemon
@ChrisBritt 我明白,但既然我已经运行了它,那么我在哪里找到它呢? - Adam
显示剩余2条评论
3个回答

3

我找到了解决我的问题的方法。我需要按照以下方式安装python-opencv

sudo apt-get install python-opencv

之后 OpenCV 工作正常。


1
你可能已经安装了OpenCV 3,它没有cv2.cv模块。现在全部都在cv2中。
要验证,请在Python解释器中运行以下命令。
import cv2
print cv2.__version__ 

任何类似于3.0.03.1.0的内容都意味着cv2.cv模块不存在。


0

你可能已经这样做了:

git clone git@github.com:opencv/opencv.git
mkdir build; cd build
cmake ../opencv && make && sudo make install

但是如果你这样做:

cd opencv
git describe

你会得到类似的东西

3.1.0-1374-g7f14a27

那就是,默认分支是OpenCV 3,它没有cv2.cv模块。 要么修改你的代码来使用OpenCV 3的cv2模块。 要么降级到OpenCV2,你可以通过以下方式实现:
cd opencv
git checkout 2.4.13.1
cd ../build && so on ...

我只是想运行一个简单的例子。我尝试仅导入cv2模块,但结果相同......我应该使用哪个模块代替cv2? - Adam
如果您构建OpenCV并且它找不到Python .so文件,则不会构建cv2模块。您自己构建了Python吗?如果是,请确保在构建Python时使用--enable-shared选项与configure一起使用。如果您没有构建Python,在构建OpenCV时尝试cmake -DPYTHON_LIBRARY:FILEPATH = /usr/lib/x86_64-linux-gnu/libpython2.7.so(如有必要,请更正该路径)。 - Bull

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接