ubutnu配置opencv3.4.1+opencv_contrib

      在ubuntu上安装opencv3.4.1是已经安装好的了,但最近在做行人检测跟踪方面的问题,就准备试试跟踪算法,例如大名鼎鼎的KCF等, 因为看到一些资料说opencv3以后opencv已经集成了跟踪算法所以准备试一试,运行python程序后直接会提示找不到'TrackerKCF_create'模块,在测试C++程序后也提示找不到 tracker.h 头文件,这就是我感觉应该是opencv安装的问题了,后来经过百度,发现是opencv将目前还不是很稳定的模块功能放在了opencv_contrib中,而我的电脑中只是下载了opencv3.4.1的源码版,所以才会提示找不到tracker模块,安装opencv_contrib需要在cmake阶段设置,所以我将opencv卸载并重新安装opencv3.4.1+opencv_contrib-3.4.1,现将步骤记录如下:

1. 首先下载opencv3.4.1 和opencv_contrib-3.4.1

opencv3.4.1下载地址:https://github.com/opencv

opencv_conrib-3.4.1下载地址:https://github.com/opencv/opencv_contrib/tree/3.4.1

在这里需要注意的是opencv版本和opencv_contib版本号一定要完全相同!一开始我下载的opencv和opencv_contib版本号没对应上导致在cmake时各种error occured,在我换成对应版本好的opencv_contrib时cmake直接完成了。


2.开始编译

解压下载的opencv的zip包:

unzip opencv-3.4.1.zip


在opencv3.4.1文件夹中新建release文件夹,进入,执行cmake命令

cd opencv3.4.1
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/zz/opencv-3.4.1/opencv_contrib-3.4.1/modules/ ..

   

      CMAKE_INSTALL_PREFIX后的路径是opencv的安装路径,一般在选择在/usr/local下, 我曾经尝试安装两个版本的opencv,在/usr/local下新建opencv2和opencv3,但最后并不成功,因为似乎系统默认寻找的路径是/usr/local。

      在这里我将下载的opencv_contrib-3.4.1文件夹放入opencv3.4.1文件夹中,所以OPENCV_EXTRA_MODULES后面的路径是opencv_contib-3.4.1包的路径。

      注意cmake命令结尾有两个点。

     还有一点需要注意的是如果之前安装过opencv,像我这样属于重装的,需要现将opencv卸载掉,在重新执行cmake。


3 安装

sudo make

sudo make install 


4 配置环境

sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境,先将OpenCV的库添加到路径,从而可以让系统找到:

sudo gedit /etc/ld.so.conf.d/open.conf 

在文件中添加:

/usr/local/lib  


ubutnu配置opencv3.4.1+opencv_contrib_第1张图片

使配置的路径生效:

sudo ldconfig

5 配置bash

sudo gedit /etc/bash.bashrc  

在文件末尾添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

最后更新一下:

sudo updatedb
source /etc/bash.bashrc

至此,opencv3.4.1+opencv_contrib-3.4.1安装完成。

查看opencv版本:

pkg-config --modversion opencv 

我测试的跟踪模块也可以运行了。


你可能感兴趣的:(笔记)