本系列文章由 youngpan1101 出品,转载请注明出处。
文章链接: http://blog.csdn.net/youngpan1101/article/details/58027049
作者:宋洋鹏(youngpan1101)
邮箱: yangpeng_song@163.com
安装 OpenCV
- OpenCV 提供了大量图像开源算法,是计算机视觉中使用极广的图像处理算法库。
安装步骤:【Ref_1】【Removing older versions of OpenCV】
- 下载安装包
- 【opencv-3.2.0 编译安装需要的所有安装包_百度云】
- OpenCV 及所需第三方库各个版本下载链接
- 【opencv-3.2.0 编译安装需要的所有安装包_百度云】
安装依赖项
[compiler]$ sudo apt-get install build-essential [required]$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev [optional]$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
解压
$ sudo unzip opencv-3.2.0.zip $ sudo tar -xzvf opencv_contrib-3.2.0.tar.gz
编译安装
$ cd opencv-3.2.0 $ sudo mkdir build $ cd build $ sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib-3.2.0/modules/> ..
在此过程中会出现下载 ippicv_linux_20151201.tgz 或者 protobuf-cpp-3.1.0.tar.gz 包失败的情况,若 下载失败 或者 file DOWNLOAD HASH mismatch
ippicv_linux_20151201.tgz 文件复制并替换 opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ 路径下的同名文件; protobuf-cpp-3.1.0.tar.gz 复制并替换 opencv_contrib-3.2.0/modules/dnn/.download/bd5e3eed635a8d32e2b99658633815ef/v3.1.0/ 路径下的同名文件。
执行安装
$ sudo make -j4 $ sudo make install
使用命令查看安装版本
$ pkg-config --modversion opencv
- 下载安装包
实例演示【源码包下载】
CMakeLists.txt
cmake_minimum_required(VERSION 2.8) project( DisplayImage ) # 寻找OpenCV库 find_package( OpenCV 3.2 REQUIRED ) # 添加头文件 include_directories( ${OpenCV_INCLUDE_DIRS} ) add_executable( DisplayImage DisplayImage.cpp ) # 链接OpenCV库 target_link_libraries( DisplayImage ${OpenCV_LIBS} )
DisplayImage.cpp
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <stdio.h> #include <iostream> using namespace std; using namespace cv; int main(int argc, char** argv ) { if ( argc != 2 ) { std::cout << "usage: DisplayImage <Image_Path>" << std::endl; return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { std::cout << "No image data..." << std::endl; return -1; } namedWindow("Display Image", CV_WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; }
编译和运行程序
$ cd build $ cmake .. $ make $ ./DisplayImage <path to image>
查看可执行文件的依赖库
$ ldd ./DisplayImage