Ubuntu 14.04 安装 OpenCV-3.2.0

本系列文章由 youngpan1101 出品,转载请注明出处。
文章链接: http://blog.csdn.net/youngpan1101/article/details/58027049
作者:宋洋鹏(youngpan1101)
邮箱: [email protected]

安装 OpenCV
OpenCV 提供了大量图像开源算法,是计算机视觉中使用极广的图像处理算法库。
安装步骤:【Ref_1】【Removing older versions of OpenCV

下载安装包
【opencv-3.2.0 编译安装需要的所有安装包_百度云】
opencv_3.2.0_packages.jpg
OpenCV 及所需第三方库各个版本下载链接
opencv releases
opencv_contrib releases
ippicv_linux_20151201.tgz
protobuf releases
安装依赖项

[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

猜你喜欢

转载自blog.csdn.net/liboxiu/article/details/80536751
今日推荐