Ubuntu14.04下OpenCV3.4+contrib modules和OpenCV2.4.13的多版本共存

需要用到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文件所在的准确路径。


希望能帮到大家,跟我一样的初学者要有耐心,步骤一点点看,千万别烦躁。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页