Ubuntu14.0下OpenCV3.0开发环境搭建

一、OpenCV是什么

Open Source Computer Vision (开源计算机视觉库) OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。


二、OpenCV主要模块

core:简洁的核心模块,定义了基本的数据结构,包括稠密多维数组 Mat 和其他模块需要的基本函数。

imgproc:图像处理模块,包括线性和非线性图像滤波、几何图像转换 (缩放、仿射与透视变换、一般性基于表的重映射)、颜色空间转换、直方图等等。

video:视频分析模块,包括运动估计、背景消除、物体跟踪算法。

calib3d:包括基本的多视角几何算法、单体和立体相机的标定、对象姿态估计、双目立体匹配算法和元素的三维重建。

features2d:包含了显著特征检测算法、描述算子和算子匹配算法。

objdetect:物体检测和一些预定义的物体的检测 (如人脸、眼睛、杯子、人、汽车等)。

ml:多种机器学习算法,如 K 均值、支持向量机和神经网络。

highgui:一个简单易用的接口,提供视频捕捉、图像和视频编码等功能,还有简单的 UI 。

gpu:OpenCV 中不同模块的 GPU 加速。

ocl:使用 OpenCL 实现的通用算法 。一些其它辅助模块,如 Python 绑定和用户贡献的算法。


三、OpenCV的优点

1. OpenCV是一个基于C/C++语言的开源图像处理函数库

2. 其代码都经过优化,可用于实时处理图像

3. 具有良好的可移植性

4. 可以进行图像/视频载入、保存和采集的常规操作

5. 具有低级和高级的应用程序接口(API)

6. 提供了面向Intel IPP高效多媒体函数库的接口,可针对你使用的Intel CPU优化代码,提高程序性能


四、OpenCV在Ubuntu下的安装

1. Install OpenCV related dependency

   eirot@ubuntu64:~$  sudo apt-get install build-essential cmake pkg-config libopencv-dev ffmpeg libjpeg-dev libavcodec-dev libavformat-dev python-dev python-numpy libfaac-dev 

2. Download opencv-3.0.0.zip

    https://github.com/Itseez/opencv/archive/3.0.0.zip

3. Unzip opencv-3.0.0.zip

    eirot@ubuntu64:~/MyDev/Opencv$  unzip  opencv-3.0.0.zip 

4. Go to the directory and show it

    eirot@ubuntu64:~/MyDev/Opencv/opencv-3.0.0$ ll 

    Ubuntu14.0下OpenCV3.0开发环境搭建_第1张图片

5. Make directory of release

    eirot@ubuntu64:~/MyDev/Opencv/opencv-3.0.0$ mkdir release 

6. Go to the release directory

    eirot@ubuntu64:~/MyDev/Opencv/opencv-3.0.0/release$  cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON BUILD_EXAMPLES=ON .. 

    Ubuntu14.0下OpenCV3.0开发环境搭建_第2张图片

7. Make it

    eirot@ubuntu64:~/MyDev/Opencv/opencv-3.0.0/release$  make 

8. Make install it

    eirot@ubuntu64:~/MyDev/Opencv/opencv-3.0.0/release$  sudo make  install 

    Ubuntu14.0下OpenCV3.0开发环境搭建_第3张图片

9. Add the library path /usr/local/lib to system

    eirot@ubuntu64:/$  vim etc/ld.so.conf 

    

10. Reload the configuration

      eirot@ubuntu64:/$  sudo ldconfig 


五、OpenCV基本使用

我们这里只是展示一张出经典的Lena图 \(^o^)/~

1. Create a program using OpenCV

//C++ 
#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;
    Mat gray_img;
    image = imread( argv[1], 1 );
    cvtColor(image,gray_img,COLOR_BGR2GRAY);

    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", gray_img);

    waitKey(0);

    return 0;
}


2. Create CMake compiled file

     eirot@ubuntu64:~/MyDev/Opencv/opencv-3.0.0/showlena$ vim Cmakelists.txt 

cmake_minimum_required(VERSION 2.8)

project( DisplayImage )

find_package( OpenCV REQUIRED )

add_executable( DisplayImage DisplayImage.cpp )

target_link_libraries( DisplayImage ${OpenCV_LIBS} )


3. Compile the project

    eirot@ubuntu64:~/MyDev/Opencv/opencv-3.0.0/showlena$ cmake .

    Ubuntu14.0下OpenCV3.0开发环境搭建_第4张图片  

4. Make the project

    eirot@ubuntu64:~/MyDev/Opencv/opencv-3.0.0/showlena$ make 

    

5. Execute the program

    eirot@ubuntu64:~/MyDev/Opencv/opencv-3.0.0/showlena$ ./DisplayImage lena.jpg 

    Ubuntu14.0下OpenCV3.0开发环境搭建_第5张图片


六、一些有用的链接

OpenCV Homepage: http://opencv.org/ 

OpenCV Q&A forum: http://answers.opencv.org/ 

OpenCV online documentation: http://docs.opencv.org/ 

OpenCV github : https://github.com/Itseez/opencv 

Willow Garage : http://www.willowgarage.com/ 

Install-OpenCV-Ubuntu-shell : https://github.com/jayrambhia/Install-OpenCV/tree/master/Ubuntu 

Lena story: http://blog.csdn.net/luckydongbin/article/details/4453718 

OpenCV 中文网站: http://www.opencv.org.cn/ 

Cvchina 计算机视觉论坛: http://cvchina.net/ 


你可能感兴趣的:(ubuntu,opencv3.0)