opencv文件结构解析

本文介绍了OpenCV的基本结构,包括core、highgui等模块的功能。core模块定义了OpenCV的基本数据结构和函数;highgui模块则涉及图像输入输出操作。OpenCV还包含了imgproc、video、calib3d、features2d、objdetect等多个用于图像处理、视频分析、特征检测和3D重建的模块。此外,文章提到了GPU加速算法和与其他库的接口。


OpenCV有许多不同的模块,每个模块关心图像处理中不同的领域及方法,在使用之前我们首先需要对相应的头文件进行包含,一般情况下我们都会用到的两个模块:

1)core section. 这里定义了OpenCV的一些基本的块(Blocks);

2)highgui module. 该模块包含了一些图像的输入输出操作(UI)。

另外,为了能够在控制台做输入输出,我们会包含iostream,而string是用于字符串的处理。接下来,为了防止OpenCV的数据结构或命名与其它库函数比如STL有冲突,我们引入命名空间cv,在有冲突的情况下可以用前缀cv::来指定具体使用哪个库(关于命名空间,我们会在下一讲做详细介绍)。

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),分别如下

core. 该模块定义了OpenCV的基本数据结构,包括多维数组(Multi-dimensional Array)和用于其它模块的基本函数;

imgproc. 该模块用于图像处理(Image Processing)。它包括线性和非线性的图像滤波(Linear and Non-Linear Image Filtering)、几何图像变换(Geometrical image Transformations),包括缩放(Resize), affine andperspective 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等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值