openCV开源库模块组成部分以及介绍

网友投稿 318 2022-11-09

openCV开源库模块组成部分以及介绍

简介

core -一个定义基本数据结构的模块,包括多维数组和其它模块使用的核心函数

imgproc-图像处理模块,包括线性非线性滤波,几何图像变化(尺寸变换、仿射、透视、基于表的映射),图像域卷积,直方图等

video-视频分析模块,包括运动检测,背景移除,目标跟踪。

calib3d-多视图几何算法,一维和三维相机jiaozheng2,目标位置估计,立体匹配算法,三维重构。

features2d - 特征检测和描述匹配

objdetect -类(如人脸、眼睛、人、车等)的检测

API接口的概念

CV命名空间

所有OpenCV类和函数均位于cv命名空间。所以使用这些函数使用cv::标识符,或者using namespace cv指示符。

也就是Ptr ptr封装了一个T类型的实例和一个引用计数,参考ptr的详细描述。

输出数据的自动分配

OpenCV自动释放内存,如果大多数情况下自动为输出函数分配参数空间一样。所以,对于一个有一个或多个输入/出数组(如 cv::Mat)时,输出数组被自动分配或自动重新分配。输出数组的大小和类型由输入数组的大小和类型决定。如果需要,会有额外的参数指明数组的特性。

cv::uchar是一个OpenCV 8bit无符号类型。32为整型数不支持。

固定像素类型,有限的模板类型

因此,可供使用的原始数据类型和库是一个有限的固定集合。即,阵列元素应当是下列类型:

输入和输出数组 许多OpenCV函数处理2或者多维数组。通常这些函数以cpp:class:Mat作为参数,但有时使用std::vector<>或者 Matx<>更方便,为了避免API重复,引入特殊的“代理”类。基本的代理类是InputArray,用于处理一个函数的只读数组。由InputArray 衍生出来的OutputArray用于处理一个函数的输出。通常不需要关心这类的中间类型。当一个函数有可选输入输出参数时,使用cv::noArray()传递。 错误处理 OpenCV使用异常标识严重错误。当输入数据类型和数据数据范围均正确时,但是算法发生了错误(如最优化算法不收敛),将返回一个特殊的错误码。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:网络设备 网络拓扑结构OSI 逻辑地址和物理地址 你了解那些
下一篇:电源模组和非模组的区别是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~