[环境配置]opencv+opencv_contrib在Linux下编译配置

内容简介:

        OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。该拥有2500多种算法,可用于人像、物体检测识别、图像分类、寻找相似图像、文字识别、机器人自动驾驶领域等。

        OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。

Opencv下载:

        本文配置安装的版本为Opencv3.4.10,环境为Ubuntu16.04。注:Linux下安装Opencv需要先安装cmake。

以下为官网给出的Opencv3.4.10的链接:

https://codeload.github.com/opencv/opencv/zip/3.4.10

 Releases · opencv/opencv_contrib · GitHub

 Opencv编译:

下载好Opencv源码后,进入源码文件夹,创建build文件夹,并将opencv_contrib3.4.10文件夹重命名为opencv_contrib放入Opencv源码目录下,这里给出cmake编译指令,直接在命令行中运行即可,所有指令如下:

cd opencv-3.4.10
mkdir build
cd build

注:

WITH_OPENGL=ON为OpenGL选项开启 ,WITH_GTK_2_X=ON默认开启即可;

BUILD_TYPE=RELEASE为编译release库

CMAKE_INSTALL_PREFIX=/usr/local/opencv3为你指定Opencv要安装到的位置,推荐路径不变。

BUILD_NEW_PYTHON_SUPPORT=ON 为开启python支持

WITH_CUDA=ON WITH_NVCUVID=ON为开启cuda支持,需要显卡支持且安装显卡驱动和cuda,如果需要则开启

OPENCV_EXTRA_MODULES_PATH=/home/l/Downloads/opencv-3.4.10/opencv_contrib/modules该路径为opencv_contrib模块所在路径

OPENCV_ENABLE_NONFREE=ON使用特征提取模块sift、surf算子需开启此项

命令行执行如下编译指令: 

cmake -D WITH_OPENGL=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_CUDA=ON -D WITH_NVCUVID=ON -D WITH_GTK_2_X=ON -D OPENCV_EXTRA_MODULES_PATH=/home/l/Downloads/opencv-3.4.10/opencv_contrib/modules -D OPENCV_ENABLE_NONFREE=ON ..

无报错即表示配置成功,接着进行下一步

sudo make -j8
sudo make install

然后将该目录添加到系统环境变量中:

sudo gedit ~/.bashrc

在该文件中添加如下语句:

#opencv2
#export PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig"  
#export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu"

#opencv3
export PKG_CONFIG_PATH="/usr/local/opencv3/lib/pkgconfig"  
export LD_LIBRARY_PATH="/usr/local/opencv3/lib"

 #为注释符,这样可以在opencv各个版本之间切换,只需要取消注释需要的版本即可。 如下指令可以让环境在当前bash生效。或者重启bash也可达到同样的效果。

source ~/.bashrc

 查看当前生效版本可以用如下指令,查看其安装路径文件夹名称即可知道具体版本。

`pkg-config --libs --cflags opencv`

安装结束后,建议不要删除源码目录,防止可能需要卸载时需手动删除,卸载时可以在build文件夹中执行卸载指令,指令如下:

sudo make uninstall

Opencv测试: 

       在自己的测试代码文件夹下,新建showImg.cpp,将下面的代码写入其中

#include 
#include 

using namespace cv;


int main(int argc,char **argv)
{
	Mat Img = imread(argv[1]);
	imshow("TestImg",Img);
	waitKey(0);
	return 0;
}

执行编译指令:

g++ showImg.cpp -o showImg `pkg-config --libs --cflags opencv`

运行可执行文件:(apple.jpg为自己准备显示的图片)

./showImg apple.jpg

你可能感兴趣的:(opencv,图像处理/计算机视觉,Qt,linux,opencv,c++,计算机视觉,图像处理)