由于需要使用OpenCV中SIFT,SURF,ORB等较新的算法,在已经安装的opencv2.4.10中又没有这些算法,因此在此尝试删除原有的opencv2安装最新的opencv3.2.0
操作系统:ubuntu16.04 64位
1.完全卸载opencv2
1.1.From repository,从软件仓库中安装的opencv2
sudo apt-get purge libopencv*
1.2.From source,使用cmake自行编译安装的opencv2
首先进入原先编译opencv2的build目录,在该目录下打开终端;再执行以下代码。
sudo make uninstall
cd ..
sudo rm -r build
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
这一步可能有error,忽略之。最后执行如下操作:
sudo apt-get --purge remove opencv-doc opencv-data python-opencv
2.安装opencv3.2.0和contrib组件
2.1.安装依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-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-22-dev
2.2.下载组件源码
下载opencv源码
推荐从opencv的官方网站下载:http://opencv.org/downloads.html
下载contrib组件源码
推荐从github直接克隆,一般来说与最新的opencv版本对应:https://github.com/opencv/opencv_contrib
下载的源码解压在你想要放置的地方即可,推荐放置在:/home//..
2.3.CMake 源码:
在解压的opencv源码文件夹内创建用于编译的文件夹(如/build)
cd /home/<user_name>/opencv
mkdir build
cd build
开始CMake
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib/modules/> ..
其中,”path to opencv_contrib/modules/ .. “为你解压的contrib组件源码对应的modules位置,并且” ..”(空格+两个点)不可省略。
注意在CMake时可能会遇到文件下载不下来的错误(如ippicv_linux_20141027.tgz),只需要搜索下载该文件,放置在出错信息中的指定文件夹,再CMake一次即可。
2.4.编译成可执行文件
make -j7
同样在build目录中执行(此步骤所需时间较多,请耐心等待 )。其中, -j7表示以7个进程进行编译,可按照你的电脑性能改变。
2.5.安装
sudo make install
3.使用python开发
3.1.打开opencv自带的python例程进行测试
cd <opencv3.1.0_dir>/samples/python/
python opencv_version.py --build
如果没有报错即表示安装成功,并且可以看到opencv的版本号为3.2.0
如遇到无法导入cv2的问题,在build目录下寻找lib目录里的cv2.so,这个是python需要的,将其拷贝到python的库目录里。一般情况下是在“/usr/local/lib/python2.7/dist-packages”里。
完整执行以上步骤即可shi实现卸载opencv2,使用Python开发使用opencv3的程序。