OpenCV学习(3) OpenCV框架

      OpenCV是一个开源的视觉库,其中包括很多计算机视觉的算法实现。在版本2.2以后,OpenCV采用C++特征的API,在1.x版本中,OpenCV函数都是传统的C语言形式。

      OpenCV采用模块化的结构,每个模块都是由一些动态和静态库组成,该模块会实现一些特定的计算机视觉算法。要使用某个特定的库,我们必须在程序中先包含该库的头文件,并把该库的lib作为链接库。

例如要使用core和highgui库,则必须在程序源文件中包含:

#include <opencv2/core/core.hpp>

#include <opencv2/highgui/highgui.hpp

而且要把opencv_core246d.lib,opencv_highgui246d.lib作为链接库:

clip_image002

OpenCV 2.4主要包括以下的库:

image

      core库主要包括一些基本的数据结构和函数,比如cv::Mat,以及cv::Mat的操作等等,这些数据结构和函数在其它模块中被调用。

      Imgproc是图像处理库,图像的处理算法都包含在这个库里面,比如各种滤波操作,图像的平移、缩放操作,颜色空间转化,直方图等等。

Video库,主要包括运动估计,背景减法以及物体跟踪等等。

Calib3d,主要是用于摄像机标定,双目视觉以及3D重构等算法。

Features2D, 主要用于特征检测。

Highgui主要用于视频捕捉,解码以及一些简单的UI实现。

其它的一些库,我们在用到的时候再做介绍,具体可以参考opencv文档:http://docs.opencv.org/index.html

原文地址:https://www.cnblogs.com/mikewolf2002/p/3319987.html