Ubuntu 14.04 安装 OpenCV-3.2.0

来源:互联网 发布:汉朝武将官职品级知乎 编辑:程序博客网 时间:2024/06/05 04:03

本系列文章由 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_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
2 0
原创粉丝点击