opencv - 简介

1. 框架结构

  1. source文件夹
    (1) 3rdparty: 第三方库,比如 ffmpeg,png图片的开源解码库
    (2) apps: 进行haar分类器训练的工具,opencv 进行人脸检测便是基于haar分类器。
    (3) cmake: 生成工程项目时 cmake 的依赖文件
    (4) data: opencv 库以及范例中用到的资源文件
       [1] haar 物体检测的分类器位于haarcascades子文件中。
    (5) doc: 生成文档所需的源文件以及辅助脚本。
    (6) include: 入口头文件
       [1] opencv: 是 C 风格的API, 逐渐淘汰
       [2] opencv2: 只有一个 opencv.hpp 文件,cv2/3推荐
    (7) modules: 核心代码
    (8) platforms: 包含交叉编译所需的工具链以及额外的代码
    (9) samples: 范例文件夹,包含大量学习案例。
  1. build\include\opencv2 目录
    (1) calib3d: 主要是相机校准和三维重建相关, 基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等。
       [1] 相机标定: 用于去除相机自身缺陷导致的画面形变,还原真实的场景,确保计算的准确性。
       [2] 三维重建: 通常用在双目视觉(立体视觉),即两个标定后的摄像头观察同一个场景,通过计算两幅画面中的相关性来估算像素的深度。
    (2) contrib: 包含最近添加的不太稳定的可选功能
    (3) core: 核心功能模块,包含内容:
       OpenCV基本数据结构
       动态数据结构
       绘图函数
       数组操作相关函数
       辅助功能与系统函数和宏
       与OpenGL的互操作
    (4) imgproc: 图像处理模块,包含内容:
       线性和非线性的图像滤波
       图像的几何变换
       其它(Miscellaneous)图像转换
       直方图相关
       结构分析和形状描述
       运动分析和对象跟踪
       特征检测
       目标检测等内容
    (5) features2d: 2D功能框架 ,包含内容:
       特征检测和描述
       特征检测器通用接口
       描述符提取器通用接口
       描述符匹配器通用接口
       通用描述符匹配器通用接口
       关键点绘制函数和匹配功能绘制函数
    (6) flann: 高维的近似近邻快速搜索算法库,用于在多维空间内聚类及搜索的近似算法, 包含两个部分:
       快速近似最近邻搜索
       聚类
    (7) gpu: 用GPU加速的计算机视觉模块
    (8) highgui: 高层GUI图形用户界面,包含媒体的 I/O 输入输出,视频捕捉、图像和视频的编码解码、图形交互界面的接口等内容
    (9) legacy:一些已经废弃的代码库,保留下来作为向下兼容,包含内容:
       运动分析
       期望最大化
       直方图
       平面细分(C API)
       特征检测和描述
       描述符提取器的通用接口
       通用描述符的常用接口
       匹配器
    (10) ml: 机器学习模块, 基本上是统计模型和分类算法,包含如下内容:
       统计模型 (Statistical Models)
       一般贝叶斯分类器 (Normal Bayes Classifier)
       K-近邻 (K-NearestNeighbors)
       支持向量机 (Support Vector Machines)
       决策树 (Decision Trees)
       提升(Boosting)
       梯度提高树(Gradient Boosted Trees)
       随机树 (Random Trees)
       超随机树 (Extremely randomized trees)
       期望最大化 (Expectation Maximization)
       神经网络 (Neural Networks)
       MLData

(11) nonfree: 一些具有专利的算法模块 ,包含特征检测和GPU相关的内容, 不能商用
(12) objdetect: 目标检测模块,包含Cascade Classification(级联分类)和Latent SVM这两个部分。
(13) ocl: 运用OpenCL加速的计算机视觉组件模块
(14) photo: 包含图像修复, 图像去噪HDR成像,非真实感渲染等
(15) stitching: 图像拼接模块,包含如下部分:拼接流水线, 特点寻找和匹配图像, 估计旋转, 自动校准, 图片歪斜, 接缝估测, 曝光补偿, 图片混合
(16) superres:超分辨率技术的相关功能模块
(17) ts: opencv测试相关代码
(18) video:视频分析组件,该模块包括运动估计,背景分离,对象跟踪, 光流跟踪、卡尔曼滤波等视频处理相关内容。
(19) Videostab: 视频稳定相关的组件,官方文档中没有多作介绍。
(20) videoio: 负责视频文件, 摄像头, Kinect 等的读写,也包括摄像头、Kinect 等的输入。
(21) shape: 形状的匹配以及距离计算SHAPE
(22) text: 文字绘制与提取
(23) tracking: 目标跟踪算法
(24) surface_matching: 三维曲面匹配
(25) structured_light: 结构光被认为是获取3D模型最有效的技术之一
(26) rgbd: RGBD物体识别,目标不是介绍现有通用的物体识别技术,而是面向物流货物分练领域的物体识别
(27) bioinspired: 基于仿生学的图像/视频处理库,目前包含模拟人类视网膜的算法
(28) aruco: 基于ArUco库,是一个检测二进制marker的库
(29) 扩展模块需单独下载,地址https://github.com/opencv/opencv_contrib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值