Ubuntu 多版本Opencv安装配置教程
2017-05-09 20:20
555 查看
1、安装
1.1基本环境
在Ubuntu16.04上进行测试
1.1.1 安装检查
(1)cuda检查(如果需要安装cuda检查opencv对cuda版本的支持
- opencv3.2.0 支持cuda8.0,编辑器GCC5.4、G++5.4
- opencv2.4.13 支持cuda8.0,编辑器GCC4.9、G++4.9
(2)GCC检查
查看cuda对不同版本的gcc编辑器的支持
- cuda8.0 支持gcc5.4
- cuda4.5 只支持gcc4.6
1.1.2 环境切换
GCC多版本安装切换,请参考:Cuda多版本安装切换,请参考:
1.1.3 安装依赖包
$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
1.2 编译
如opencv-3.2.0(opencv-2.4.13安装过程同理),其中-j4代表运行逻辑核数$cd ~/opencv3.2.0 $mkdir build $cd build $sudo mkdir /usr/local/opencv/opencv3.2.0 $cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv/opencv3.2.0 -D WITH_TBB=ON -D BUILD_TIFF=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON -D BUILD_SHARED_LIBS=ON .. $make -j4 $sudo make install -j4
1.2.1 编译卡顿
安装Opencv的时候,执行编译命令后一直卡在下载ippicv的地方。处理:了解到ippicv是一个并行计算库,如果不想用这个并行计算库,在做Cmake的时候用参数关闭即可,但以防后患建议使用这个库。
手动下载ippicv_linux_20151201.tgz
将刚才下载的ippicv文件拷贝进入opencv3.1源码的下面这个目录:
opencv-x.x.x/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
最后再重新编译
1.3 编译问题
1.3.1Ubuntu16.04+Cuda8.0+Opencv3.2.0
其中gccc编译版本为5.4
编译过程中,出现
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning)
这只是提示build target 2.0, 2.1被弃用了,不影响编译结果,具体可参考官网
http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#warp-examples-broadcast
1.3.2Ubuntu16.04+Cuda8.0+Opencv2.1.13
(1)GCC版本不匹配将译器GCC5.4切换GCC4.9,具体操作见教程。否则,编译过程出错
(2)cmake23
[问题现象]:
CMake Warning at cmake/OpenCVPackaging.cmake:23 (message):
CPACK_PACKAGE_VERSION does not match version provided by version.hpp
header!
Call Stack (most recent call first):
CMakeLists.txt:1105 (include)
Configuring done
Generating done
[解决办法]:
add OPENCV_VCSVERSION = 2.4.13 (with OpenCV version 2.4.13) in
OpenCVPackaging.cmake,in OpenCVPackaging.cmake file (line 23)
set(OPENCV_VCSVERSION “2.4.13”) #<–add
set(CPACK_PACKAGE_VERSION “${OPENCV_VCSVERSION}”)
1.4 系统配置
安装完成后需要将opencv路径写入环境1.4.1添加动态库信息
(1)方法1$sudo sh -c 'echo "/usr/local/opencv/opencv3.2.0/lib" > /etc/ld.so.conf.d/opencv.conf'
(2)方法2
$sudo gedit /etc/ld.so.conf.d/opencv.conf
在文件末尾添加
/usr/local/opencv/opencv3.2.0/lib
使用下面的动态库管理命令ldconfig,让opencv的相关链接库被系统
$ sudo ldconfig
如果成功的话,正确的结果将会发现前面动态库的名字
$ sudo ldconfig -v >temp.so.txt && cat temp.so.txt|grep opencv
1.4.2指定头文件位置
完成了动态库的共享,还不能使用opencv来编程,还需要为程序指定openvc的头文件位置,这里使用pkg-config命令来完成。pkg-config 维护着一个关于opencv的配置文件,这个文件(opencv.pc)在目录 /usr/local/lib/pkgconfig,这个文件记录着opencv的一些动态库信息,还有头文件信息$sudo gedit /etc/profile
在文件末尾添加
export PKG_CONFIG_PATH=/usr/local/opencv/opencv3.2.0/lib/pkgconfig export LD_LIBRARY_PATH=/usr/local/opencv/opencv3.2.0/lib
1.4.3添加python接口
这里建立软链接sudo ln -s /usr/local/opencv/opencv3.2.0/lib/python2.7/dist-packages/cv2.so /usr/local/lib/python2.7/dist-packages sudo ln -s /usr/local/opencv/opencv3.2.0/lib/python3.5/dist-packages/cv2.cpython-35m-x86_64-linux-gnu.so /usr/local/lib/python3.5/dist-packages
2、切换
opencv版本由3.2.0改为2.4.13的方法2.1三步修改
(1)第1步$sudo gedit /etc/ld.so.conf.d/opencv.conf
在文件末尾修改为
/usr/local/opencv/opencv2.4.13/lib
(2)第2步
$sudo gedit /etc/profile
修改为
export PKG_CONFIG_PATH=/usr/local/opencv/opencv2.4.13/lib/pkgconfig export LD_LIBRARY_PATH=/usr/local/opencv/opencv2.4.13/lib
保存之后
$ sudo ldconfig $ sudo source /etc/profile
(3)第3步
a.先删除软链接(如果以及配置)
注意:opencv3.2.0同时包含python2和python3接口。但是opencv2.4.13只有python2接口
cd /usr/local/lib/python2.7/dist-packages sudo rm cv2.so
抱歉,不敢用删除软链接的方法,我怕多敲了一个/。然后整个目录都没了。
b.重新建立软链接
sudo ln -s /usr/local/opencv/opencv2.4.13/lib/python2.7/dist-packages/cv2.so /usr/local/lib/python2.7/dist-packages
2.2 版本查看
2.2.1 opencv版本查看
$pkg-config --modversion opencv $pkg-config --cflags opencv $pkg-config --libs opencv
2.2.2 python接口查看
(1)opencv3.2.0之后python2(或python3) from cv2 import __version__ print(__version__)
输出3.2.0
(2)opencv2.4.13仅支持python2
当环境切换为opencv2.4.13时,执行
python2 from cv2 import __version__ print(__version__)
输出2.4.13
无错误提示
可以看到全都已经变成了opencv2.4.13版本了
3、测试
http://blog.csdn.net/titer1/article/details/450700654、运用
因为usr/local/opencv/opencv3.2.0/share/OpenCV/OpenCVConfig.cmake中设置了opencv的配置,自定义路径安装opencv时,找不到这个文件OpenCVConfig.cmake,opencv-config.cmake需要在项目的CMakeList.txt中添加OpenCVConfig.cmake的路径
set(OpenCV_DIR /usr/local/opencv/opencv3.2.0/share/OpenCV)
(1)caffe安装配置
5、卸载
首先删除与opencv相关的内容sudo apt-get remove libopencv.*
5.1卸载方式1
若opencv安装命令CMAKE_INSTALL_PREFIX=/usr/local/则Going to the “build” folder directory of opencv from terminal, and execute the following:
$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*
5.2卸载方式2
若opencv安装命令CMAKE_INSTALL_PREFIX=/usr/local/opencv/opencv3.2.0则cd /usr/local/opencv $sudo rm -r opencv3.2.0
6、最后
第一次系统性的将不同的博客进行参考汇总,并用两台电脑不断测试。难免有不少纰漏,若大家在自己电脑运行过程中发现有什么问题,可留言共同探讨。同时,若以后遇到问题,会在本文基础上,对相关内容进行更新。参考:
【1】http://blog.csdn.net/cumt08113684/article/details/53006376
【2】http://blog.csdn.net/u012700322/article/details/56672533
【3】http://www.jianshu.com/p/3b4445253607
【4】http://blog.csdn.net/u010454261/article/details/53943788
【5】http://blog.csdn.net/u010454261/article/details/53943788
【6】http://stackoverflow.com/questions/38461033/cant-execute-a-simple-program-using-opencv-error-cant-find-the-entry-point-o
【7】http://blog.csdn.net/titer1/article/details/45070065
【8】https://gist.github.com/dynamicguy/3d1fce8dae65e765f7c4
【9】http://blog.csdn.net/u010566411/article/details/54317145
【10】http://stackoverflow.com/questions/35330553/python-cv2-linking-problems-while-downgrading-opencv-from-3-0-0-to-2-4-11
相关文章推荐
- Ubuntu 11.10上安装和配置OpenCV 2.3.1的步骤
- Ubuntu 10.10 图形安装教程、网络设置、软件源、基本配置(超详细)
- Ubuntu(Linux)环境下安装Eclipse,配置OpenCV
- ubuntu10.04+matlab r2011a+opencv2.2 安装于配置
- 【转】Ubuntu 10.10 图形安装教程、网络设置、软件源、基本配置(超详细)
- svn服务器安装配置,SVN服务器使用教程,版本控制器,svn与apache整合
- Openbox简易安装配置教程 [转自ubuntu论坛]
- Ubuntu下安装成了客户端版本,纠结半天,教训啊,如何配置SSH服务器
- opencv在ubuntu下的安装(2014.11.2更新:读取摄像头的配置)
- ubuntu 12 或更高版本 下安装和配置 xrdp 远程登陆
- ubuntu10.04下qtcreator和opencv安装配置
- IIS安装的详细操作步骤;IIS下载地址;IIS光盘安装和配置的视频教程;IIS安装版本和系统的匹配
- 安装Ubuntu,安装配置软件视频教程 (把学C++和CodeBlocks,玩Ubuntu的积累来个总结)
- 2012-03-27 14:55 Ubuntu 11.04 下安装配置 JDK 7 图文教程(转)
- Ubuntu下安装配置OpenNI, OpenCV
- Ubuntu下安装配置OpenNI, OpenCV
- ubuntu硬盘安装与配置详细图解 (每个版本不一样的导入文件。没成功,下载不下来)
- ubuntu下安装jdk7并配置默认使用的JDK版本(默认openjdk6)
- (超详细)Ubuntu 10.10 图形安装教程、网络设置、软件源、基本配置
- opencv教程--ubuntu下安装