环境:ubuntu14.04 python2.7
内容:安装并配置OpenCV3.0
今天按照OpenCV官网上的步骤装了OpenCV但是,装好之后python提示“No module named cv2”
首先,安装OpenCV的步骤:
OpenCV官网的安装步骤:http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation
1.下载OpenCV:https://codeload.github.com/Itseez/opencv/zip/3.0.0
2.解压:
tar -xzvf opencv3.0.0
3.安装OpenCV需要的包:
- GCC 4.4.x or later
- CMake 2.6 or higher
- Git
- GTK+2.x or higher, including headers (libgtk2.0-dev)
- pkg-config
- Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
- ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
- [optional] libtbb2 libtbb-dev
- [optional] libdc1394 2.x
- [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394--dev
4.在解压出来的opcv目录里,建一个release目录,然后再用cmake对源码进行编译。(使用官网的方法最后OpenCV的安装目录就是release这个目录)
cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. //这里后边有两个点不能省略,但是是什么意思我还没搞懂
5.然后安装
sudo make
sudo make install
至此,安装完成。
然后,解决安装完成之后,python引用OpenCV出现“No module named cv2”的问题。
这里我主要参考的是这篇博文:http://pinkyjie.com/2010/10/19/ubuntu-opencv-python/
这里先提示以下这个地方,make的过程中会出现这个文件“cv.so”,它是连接OpenCV和python的关键文件。
出现“No module named cv2”,原因就是python找不到我们刚才提到的cv.so文件,我们进入路径/usr/local/lib/python2.7中发现有两个文件夹,一个是dist-package,一个是site-package,python默认只在前者里搜索,而我们生成的cv.so文件则在我们的安装目录"../../opencv3.0.0/release"中(还记得这个目录吧,就是我们刚才在安装过程中建的那个目录,如果你的安装目录中没有这个文件,则说明前面的make步骤出问题了,可能需要重新走一遍整个安装过程),我们只需要简单的将它移动到dist-package文件夹即可。
最后,我的测试程序:
import cv2 img = cv2.imread('lena.jpg')
cv2.imshow('image',img)
k = cv2.waitKey(0)
cv2.destroyAllWindows()