Ubuntu16.04配置OpenCV3.4.2及基本使用
作者:OpenS_Lee
1背景知识
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby,GO的支持。
所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现
2 Ubuntu16.04配置OpenCV3.4.2
OpenCV需求包:
·GCC 4.4.x or later
·CMake 2.8.7 or higher
·Git
·GTK+2.x or higher, including headers (libgtk2.0-dev)
·pkg-config
·Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
·ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
·[optional] libtbb2 libtbb-dev
·[optional] libdc1394 2.x
·[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
·[optional] CUDA Toolkit 6.5 or higher
1.在Opencv官网下载OpenCV3.4.2 Sources网址链接:https://opencv.org/releases.html
图1 OpenCV3.4.2 Sources
2.将下载好的压缩包copy到Ubuntu系统下并解压缩。
unzip opencv-3.4.2.zip
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
4.安装cmake
sudoapt-get install cmake
5.安装完cmake之后,创建编译文件夹build
mkdir build
cd build
6.执行cmake
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
7.等待cmake命令执行完成然后执行make
sudomake
sudomake install
8.sudo make install执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加
/usr/local/lib
9.执行如下命令使得刚才的配置路径生效
sudoldconfig
1.配置bash
sudogedit /etc/bash.bashrc
在最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
exportPKG_CONFIG_PATH
保存,执行如下命令使得配置生效
source/etc/bash.bashrc
更新
sudoupdatedb
OpenCV安装配置完成接下来我们建立一个小程序测试测试。
1建立一个display.cpp文件
vi display.cpp
#include
#include
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out \n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
2建立CMakeLists.txt
ViCMakeLists.txt
3.运行cmake .
cmake .
4.运行make
make
5.运行./display lena.png
./display lena.png
结果显示了一张lena.png图片。
OpenCV基本配置成功。
希望学习到更多图像处理相关知识可以到opencv官网或者OpenCV中文网学习。
领取专属 10元无门槛券
私享最新 技术干货