OpenCV笔记(1)基本模块

来源:互联网 发布:windows ant下载 编辑:程序博客网 时间:2024/05/16 12:58

OpenCV 是一个开源的跨平台计算机视觉库,其实就是一堆C 和C++语言的源代码文件,这些源代码文件中实现了许多常用的计算机视觉算法。OpenCV 中源代码文件巨多,根据算法的功能,将这些源文件分到了多个模块中:coreimgprochighgui 等。将每个模块中的源文件编译成一个库文件(如opencv_core.libopencv_imgproc.libopencv_highgui.lib 等),用户在使用时,只要把所需的库文件添加到自己的项目中,与自己的源文件一起连接就可以。
从OpenCV包中的opencv\sources\modules中可以找到这些模块。
这里写图片描述

  • 一些常用的主要模块:
    • core. Core functionality 核心功能模块,定义了基本的数据结构,包括最重要的 Mat 类、XML 读写、openGL三维渲染以及绘图功能等。
    • imgproc. Image processing 即图像处理。包括图像滤波、集合图像变换、直方图计算、形状描述子以及目标检测等。
    • videoio. Video I/O 负责视频文件的读写,也包括摄像头、Kinect 等的输入。
    • highgui. High-level GUI 高层GUI图形用户界面,包含视频捕捉、图像和视频的编码解码、图形交互界面的接口等内容。
    • video. Video Analysis 视频分析模块。包括背景提取、光流跟踪、卡尔曼滤波等。
    • calib3d. Camera Calibration and 3D Reconstruction 相机标定以及三维重建。相机标定用于去除相机自身缺陷导致的画面形变,还原真实的场景,确保计算的准确性。三维重建通常用在双目视觉(立体视觉),即两个标定后的摄像头观察同一个场景,通过计算两幅画面中的相关性来估算像素的深度。
    • features2d. 2D Features Framework二维特征检测与描述模块,包括:图像特征检测、描述、匹配等。
    • objdetect. Object Detection 物体检测模块。包括haar分类器、SVM检测器及文字检测。
    • ml. Machine Learning 即机器学习。包括统计模型、K最近邻、支持向量机、决策树、神经网络等经典的机器学习算法。
    • flann. Clustering and Search in Multi-Dimensional Spaces, FLANN(fast library for approximate nearest neighbors) 接口模块、FLANN库中包含在高维空间中进行搜索和聚类的方法。
    • photo. Computational图像修补、去噪、HDR成像、非真实感渲染等。
    • shape. Shape Distance and Matching 形状匹配算法模块。用于描述形状、比较形状
    • superres. Super Resolution 增强图像的分辨率
    • videostab. Video Stabilization 用于解决相机移动时拍摄的视频不够稳定的问题

参考资料
OpenCV Modules

原创粉丝点击