Java应用OpenCV指南其二:OpenCV组件浅析

在上一章我们成功安装并配置了OpenCV,现在我们可以查看一下解压目录F:\tools\opencv\build\include下的文件,有两个:
这里写图片描述
opencv中包含了过去版本中保留下来的头文件,这里不做介绍。而opencv2中则包含了我们目前主要使用的组件,可以看到其中包含了一个叫做opencv_modules.hpp的hpp文件,打开可以看到里面包含了OpenCV2中所有组件的宏:
这里写图片描述

【calib3d】——其实就是Calibration(校准)加3D这两个词的组合缩写。这个模块主要是相机校准和三维重建相关的内容。基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等。

【contrib】——也就是Contributed/Experimental Stuf的缩写, 该模块包含了关一些于人脸识别,立体匹配,人工视网膜模型等技术的实现方法。

【core】——核心功能模块,包含如下内容:
• OpenCV基本数据结构
• 动态数据结构
• 绘图函数
• 数组操作相关函数
• 辅助功能与系统函数和宏
• 与OpenGL的互操作

【imgproc】——Image和Processing这两个单词的缩写组合。图像处理模块,这个模块包含了如下内容:
• 线性和非线性的图像滤波
• 图像的几何变换
• 其它(Miscellaneous)图像转换
• 直方图相关
• 结构分析和形状描述
• 运动分析和对象跟踪
• 特征检测
• 目标检测等内容

【imgcodecs】与图象读写相关的模块,包含了图象的读取输出操作,值得一提的是,OpenCV并没有在Java中实现imshow,这使得我们想要输出图片查看效果时只能通过imwrite,或者自己动手实现一个类似imshow的方法。这个模块包含了如下内容:
• imdecode 从内存缓冲中读取一张图片
• imencode 将一张图片写入内存缓冲
• imread 从文件中读取一张图片
• imwrite 将一张图片写入指定文件

【features2d】 ——也就是Features2D, 2D功能框架 ,包含如下内容:
• 特征检测和描述
• 特征检测器(Feature Detectors)通用接口
• 描述符提取器(Descriptor Extractors)通用接口
• 描述符匹配器(Descriptor Matchers)通用接口
• 通用描述符(Generic Descriptor)匹配器通用接口
• 关键点绘制函数和匹配功能绘制函数

【flann】—— Fast Library for Approximate Nearest Neighbors,高维的近似近邻快速搜索算法库,包含两个部分:
• 快速近似最近邻搜索
• 聚类

【highgui】——也就是high gui,高层GUI图形用户界面,包含媒体的I / O输入输出,视频捕捉、图像和视频的编码解码、图形交互界面的接口等内容

【ml】——Machine Learning,机器学习模块, 基本上是统计模型和分类算法,包含如下内容:
• 统计模型 (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

【objdetect】——目标检测模块,包含Cascade Classification(级联分类)和Latent SVM这两个部分。

【photo】——也就是Computational Photography,包含图像修复和图像去噪两部分

【stitching】——images stitching,图像拼接模块,包含如下部分:
• 拼接流水线
• 特点寻找和匹配图像
• 估计旋转
• 自动校准
• 图片歪斜
• 接缝估测
• 曝光补偿
• 图片混合

【superres】——SuperResolution,超分辨率技术的相关功能模块

【video】——视频分析组件,该模块包括运动估计,背景分离,对象跟踪等视频处理相关内容。

其中我们平时用的最多,也最基础的就是core、imgproc以及imgcodecs模块,其中包括了图象的基本操作和常用处理算法。

猜你喜欢

转载自blog.csdn.net/q907811175/article/details/108713145