美文网首页程序员机器学习与计算机视觉
opencv3.1.0基本介绍及在unbuntu14.04的安装

opencv3.1.0基本介绍及在unbuntu14.04的安装

作者: 西风酹江月 | 来源:发表于2017-07-16 18:41 被阅读192次

    opencv简介


    Opencv是著名的计算机视觉开源库,由以下几大模块组成:

    1、核心库 core. Core functionality
    2、图像处理 imgproc. Image processing
    3、图像数据读写 imgcodecs. Image file reading and writing
    4、视频媒体读写 videoio. Media I/O
    5、图形用户界面 highgui. High-level GUI
    6、视频分析 video. Video Analysis
    7、多摄像头及3D重建calib3d. Camera Calibration and 3D Reconstruction
    8、2D特征框架 features2d. 2D Features Framework
    9、物体检测 objdetect. Object Detection
    10、机器学习 ml. Machine Learning
    11、多维空间聚类搜索 flann. Clustering and Search in Multi-Dimensional Spaces
    12、计算摄影技术 photo. Computational Photography(利用编码孔径和波前编码等技术进行成像,借助于计算机对编码的过程进行解码,还原成原先图像的信息,例如获取场景中的深度信息、全聚焦成像、消除运动模糊等。)
    13、图像拼接 stitching. Images stitching
    14、cuda矩阵计算 cudaarithm. Operations on Matrices
    15、cuda背景分割 cudabgsegm. Background Segmentation
    16、cuda视频编码解码 cudacodec. Video Encoding/Decoding
    17、cuda特征探测和描述 cudafeatures2d. Feature Detection and Description
    18、cuda图像滤波 cudafilters. Image Filtering
    19、cuda图像处理 cudaimgproc. Image Processing
    20、cuda固件支持 cudalegacy. Legacy support
    21、cuda物体检测 cudaobjdetect. Object Detection
    22、cuda光流 cudaoptflow. Optical Flow
    23、cuda双目立体匹配 cudastereo. Stereo Correspondence
    24、cuda图像变形 cudawarping. Image Warping
    25、cuda设备层 cudev. Device layer
    26、形状距离与匹配 shape. Shape Distance and Matching
    27、超分辨率 superres. Super Resolution
    28、视频防抖 videostab. Video Stabilization
    29、3D可视化viz. 3D Visualizer
    另外还有一些附加库。

    opencv安装


    以ubuntu14.04为例,安装opencv的步骤如下:

    1)预安装:

    Required Packages需要预装的软件:

    • GCC 4.4.x or later
    • CMake 2.6 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

    2) 下载源代码:

    可以在SourceForge上下载opencv的源代码,也可以在Git上下载最新的版本(可能不太稳定)

    3)编译安装

    用cmake编译opencv源文件。首先解压.zip格式的安装文件后,进入,创建release目录。之后进入release文件夹,并输入编译命令,命令格式如下:
    cmake [<some optional parameters>] <path to the OpenCV source directory>

    cd ~/opencv
    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_TIFF=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
    

    这里如果不加上-D BUILD_TIFF=ON,执行后面的make命令时会报错:
    libopencv_highgui.so:undefined reference to TIFFIsTiled@LIBTIFF_4.0'等
    这是因为OpenCV需要libtiff4库,然而Ubuntu14.04系统安装不会自带libtiff4, 虽然之前安装了libtiff4-dev库,但是还是需要明确指明编译时需要libtiff4库。
    编译完成后,输入make生成安装文件:

    make
    sudo make install
    

    安装完成。下面,找个例子试一下。采用opencv自带的sample:

    $ cd ~/Opencv_Source/opencv-3.1.0/samples/cpp/example_cmake
    $ make 
    

    生成里面就是刚刚make的文件,运行后窗口中打开摄像头,并有hello,opencv!的字样

    在opencv3.0以后,将SIFT等特征提取算子都放到了contrib模块中,不随着稳定版本一起发布,需要另外下载:
    网上多个博客都提供了contrib模块的下载链接,但是个别版本不稳定,安装不成功。安装成功的稳定版本的链接为:(https://codeload.github.com/Wangyida/opencv_contrib/zip/master)
    因此,如果需要contrib模块,那么必须重新编译opencv库。在终端进入release文件夹重新编译

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_TIFF=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D CMAKE_INSTALL_PREFIX=/usr/local ..
    

    安装和运行例子时出现的错误及解决方案:


    cmake ..时提示无法找到ippicv错误:

    下载ippicv库
    https://raw.githubusercontent.com/Itseez/opencv_3rdparty/81a676001ca8075ada498583e4166079e5744668/ippicv/ippicv_linux_20151201.tgz
    将下载到的.tgz文件保存在opencv/cd 3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/
    Linux-808b791a6eac9ed78d32a7666804320e文件夹最初没有,release文件夹下在终端中输入:
    cmake ..
    之后查看opencv/cd 3rdparty/ippicv/downloads,其中就有了linux-808b791a6eac9ed78d32a7666804320e这个文件夹。将下载到的ippicv库文件拷贝到该地址,在build路径下,重新cmake编译源码。

    编译例子时,输入make后返回: cannot find -lippicv错误

    首先进入目录:
    opencv-3.1.0/3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64
    将库文件 libippicv.a文件cp到/usr/local/lib下面。增加可执行权限:

    cp libippicv.a /usr/local/lib
    cd /usr/local/lib
    sudo chmod +x libippicv.a
    

    无法下载ippicv_linux_20151201.tgz

    可以提前下载好ippicv_linux_20151201.tgz文件, 如果运行报错,根据报错提示,将tgz文件拷贝到相应的文件夹,路径通常是opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e

    stdlib.h: 没有那个文件

    cmake编译时遇到:
    usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: 没有那个文件或目录.
    在cmake后面加上参数: -D NABLE_PRECOMPILED_HEADERS=OFF

    参考:


    Opencv帮助文档:
    http://docs.opencv.org/3.1.0/doc/tutorials/tutorials.html
    安装教程:
    http://m.blog.csdn.net/qccz123456/article/details/52351831
    http://www.cnblogs.com/asmer-stone/p/5089764.html
    [图像处理之image stitching]http://www.cnblogs.com/naive/p/3579610.html?utm_source=tuicool&utm_medium=referral

    相关文章

      网友评论

        本文标题:opencv3.1.0基本介绍及在unbuntu14.04的安装

        本文链接:https://www.haomeiwen.com/subject/ksqxkxtx.html