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
- 在Opencv官网下载OpenCV3.4.2 Sources 网址链接:https://opencv.org/releases.html
如果下载太慢可在“FPGA开源工作室”微信公众号回复“OpenCV”得到百度云盘链接。
图1 OpenCV3.4.2 Sources
2. 将下载好的压缩包copy到Ubuntu系统下并解压缩。
unzip opencv-3.4.2.zip
- 进入到解压后的文件包中安装依赖库。
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
- 安装cmake
sudo apt-get install cmake
- 安装完cmake之后 ,创建编译文件夹build
mkdir build
cd build
- 执行cmake
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
- 等待cmake命令执行完成然后执行make
sudo make
sudo make install
8.sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加
/usr/local/lib
9.执行如下命令使得刚才的配置路径生效
sudo ldconfig
10.配置bash
sudo gedit /etc/bash.bashrc
在最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存,执行如下命令使得配置生效
source /etc/bash.bashrc
更新
sudo updatedb
OpenCV安装配置完成接下来我们建立一个小程序测试测试。
1 建立一个display.cpp文件
vi display.cpp
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\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
Vi CMakeLists.txt
- 运行cmake .
cmake .
- 运行make
make
- 运行./display lena.png
./display lena.png
结果显示了一张lena.png图片。
OpenCV基本配置成功。
FPGA自习学院将不断更新和总结FPGA相关学习资料,书籍,实例工程和视频。
欢迎大家加入FPGA自习学院,一起学习一起成长。
欢迎关注微信公众号:FPGA开源工作室