需要用到OpenCV的3版本和2版本,这两个版本差别还挺大。这两天在OpenCV这里就遇到了很多坑,想写一个最完整的配置环境的过程,希望给其他人带来一些帮助。
一.安装OpenCV2.4.13
1.安装编译工具
sudo apt-get install build-essential
2.安装依赖包
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
3.安装可选包(我都装了)
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
4.下载OpenCV2.4.13
https://github.com/Itseez/opencv/archive/2.4.13.zip
5.安装编译
进入下载的安装包opencv-2.4.13
cd opencv-2.4.13
新建一个文件夹release
mkdir release
进入该文件夹
cd release
开始编译
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
注意这里的CMAKE_INSTALL_PREFIX=/usr/local,就是安装路径在/usr/local下,接下来安装的OpenCV3.4的安装路径跟这个有区别,这也是多版本共存的关键。
接下来
make -j4
sudo make install
6.环境配置
将opencv的库加入到路径,从而然系统可以找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
末尾加入/usr/local/lib,保存退出
sudo ldconfig 使配置生效
sudo gedit /etc/bash.bashrc
末尾加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出
sudo source /etc/bash.bashrc #使配置生效
二.安装OpenCV3.4.0+contrib modules
1.下载安装包
git clone https://github.com/Itseez/opencv.git git clone https://github.com/Itseez/opencv_contrib.git
2.安装编译
OpenCV包的文件夹名为opencv-master,contrib modules的文件夹名为opencv_contrib-master,先将opencv_contrib-master复制到opencv-master文件夹中
cp -r opencv_contrib-master opencv-master然后执行下面的命令(跟安装OpenCV2.4.13差不多)
cd opencv-master
mkdir release
cd release
然后开始编译,首先在/usr/local/路径下新建一个opencv3.4的文件夹,然后再执行下面的命令。在编译的时候要把opencv_contrib-master模块一起编译了,并且注意安装路径。(编译contrib模块的时候会遇到ippicv无法下载的情况,参考这个教程,把ippicv下载好,
点我)
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4 -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules/ ..CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4这个命令就是将安装路径选择在我们建立的opencv3.4这个文件夹下
三.CMakeLists.txt文件的编写
使用opencv2.4.13时(usr/local文件夹下)
find_package(OpenCV REQUIRED )
使用改变路径的opencv3.4.0时(opencv3.4文件夹下)
set(OpenCV_DIR /usr/local/opencv3.4/share/OpenCV)
find_package( OpenCV 3.4.0 REQUIRED )
set(OpenCV_DIR /usr/local/opencv3.4/share/OpenCV)这一句有坑,因为这里填写的是OpenCVConfig.cmake文件所在的路径,我的在这里,你们要确定一下这个文件的路径到底在哪,否则会出错。
四.总结
其实在opencv2.4.13的安装基本没什么问题,网上的方法大都可以安装并使用。
但是安装OpenCV3.4时要注意以下几个问题
1.要安装contrib模块,否则opencv3有些功能不能用。
2.contrib在编译的时候会遇到ippicv不能下载的情况,这里要参考我给的链接,注意MD5检验问题,每个人的校验值不一样。
3.在多版本切换使用,编写CMakeLists.txt文件的时候,注意set(OpenCV_IDR )这个命令里的路径,填写的是OpenCVConfig.cmake文件所在的路径。这个问题很坑,我在网上找的是opencv3.1或3.2版本的安装,他们的路径大都填写大都是/usr/local/opencv3.4/share,但我在share文件夹中没有找到OpenCVConfig.cmake文件,而是在下一级目录OpenCV这个文件夹中,所以在填写路径的时候一定确认你要使用的opencv版本的OpenCVConfig.cmake文件所在的准确路径。
希望能帮到大家,跟我一样的初学者要有耐心,步骤一点点看,千万别烦躁。