1 OpenCV简介
OpenCV(Open Source Computer Vision)是一个用于实时处理的计算机视觉函数库,它基于BSD许可证授权并且可免费用于学术研究和商业应用。它拥有C/C++、Python、和Java(仅用于Android)接口,并可在Windows、Linux、Mac和Android平台上运行。OpenCV库包含大于2500个优化算法,拥有5M的下载量和47K+的用户群体。OpenCV在现实中的应用包括视频监控(Video Surveillance)、交互艺术(Interactive Art)、矿山检查(Mine Inspection)、全景图拼接(Panorama Stitching)以及最新的机器人学(Robotics)应用【此段翻译自http://code.opencv.org/projects/OpenCV/wiki/WikiStart】。
2 OpenCV模块结构(Modular Structure)
OpenCV拥有一个模块结构,也就是说,OpenCV包(Package)里包含数个共享的或静态的库(Libraries),分别如下【opencv\doc\opencv2refman.pdf_P1】:
①core . 该模块定义了OpenCV的基本数据结构,包括多维数组(Multi-dimensional Array)和用于其它模块的基本函数;
②imgproc . 该模块用于图像处理(Image Processing)。它包括线性和非线性的图像滤波(Linear and Non-Linear Image Filtering)、几何图像变换(Geometrical image Transformations),包括缩放(Resize), affine and perspective warping, generic table-based remapping、颜色空间变换(Color Space Conversion)、直方图(Histograms)等;
③video . 这是一个视频分析模块,包含运动估计(Motion Estimation)、背景消除/背景差分(Background Subtraction)和物体跟踪(Object Tracking)算法;
④calib3d . 该模块包括基本的多视图集合算法(Multiple-View Geometry Algorithms)、单体和立体相机的标定(Single and Stereo Camera Calibration)、对象姿态估计(Object Pose Estimation)、双目立体匹配(Stereo Correspondence)算法和元素的三维重建(Elements of 3D Reconstruction);
⑤features2d . 包括显着特征检测器(Salient Feature Detectors)、描述符(Descriptors)和描述符匹配器(Descriptor Matchers);
⑥objdetect . 包括预定义的目标和实例的检测,如脸、眼、杯子、人以及汽车等;
⑦highgui . 该模块拥有一个简单易用的视频捕捉(Video Capturing)、图像及视频译码(Image and Video Codecs)以及简单的UI接口;
⑧gpu . 包含不同模块的GPU加速算法。
另外还有其它的辅助模块,比如FLANN以及Google的测试包、Python bindings等。
3 OpenCV的下载、安装、配置及使用
本章内容可参照本站文章:OpenCV 2.3.1/2.4.0在Visual Studio 2008及Visual Studio 2010下安装及配置方法(附HelloWorld)