opencv基础数据类型
-
从C++原语中继承的基础数据类型
如int,float或者简单的几何概念(点,矩阵,大小)
-
辅助对象
如垃圾收集指针,数据切片的范围对象,终止条件等
-
大型数组类型
如cv::Mat,从cv::SparseMat
基础类型概述
-
cv::Vec<>
在opencv中,cv::Vec<>主要用于记录小的,固定的向量类,别名cv::Vec2i,cv::Vec3i,cv::Vec4d,通过下标访问,定义形式cv::Vec{2.3.4.6}{b.w.s.i.f.d}
-
cv::Matx<>
主要用于小型矩阵,2X2或3X3等
定义形式cv::Matx{1,2,3,4,6}{1,2,3,4,6}{f,d}
-
cv::Point
可以从cv::Vec<>转换而来,访问方法(myPoint.x,myPoint.y)
-
cv::Scalar
继承于cv::Vec<double,4>,实际上是一个双精度四元素向量的别名,通过下标访问
-
cv::Size, cv::Rect
两个都是矩阵类,但是Size只有width 和 height,但是Rect还有一个左上角坐标x,y
另外Size2f可以用浮点数表示宽高,而Rect是整数宽高
-
cv::RotateRect
非对称性矩形,含有一个cv::Point2f中心点,cv::Size2f尺寸,还有一个额外的浮点型角度数据
深入了解基础类型
-
cv::Point类
二维点cv::Point2i,三维点cv::Point3f
成员:x,y,(z)
可转换为cv::Vec<>,cv::Size
P40,图3-1
-
cv::Scalar
四维点类,从cv::Vec<>继承而来
成员类型:double,
P41,图3-2
-
cv::Size
矩阵类
成员:width,height
别名:cv::Size,cv::Size2i,cv::Size2f
P41,图3-3
-
cv::Rect
矩阵类
成员:x,y(左上角坐标),width,height
P42,图3-4,图3-5:cv::Rect对象的覆写操作符
-
cv::RotatedRect
非规则矩阵
成员:cv::Point2f(中心点),cv::Size2f(大小),角度(float)
P43,图3-6
-
cv::Matx<>
固定矩阵类,主要用于固定维度的小型数组,定义形式cv::Matx{1,2,3,4,6}{1,2,3,4,6}{f,d}
P44,图3-7
-
cv::Vec<>
固定向量类,继承于cv::Matx,可以理解为列为1的matx,
P45,图3-8
-
cv::Complax<>
复数类,cv::Complexf,cv::Complexd
成员:实部.re,虚部.im
辅助对象
-
cv::TermCriteria类
终止条件类
成员:type,maxCount(int),epsilon(double)
通过type=cv::TermCriteria::COUNT(MAX_ITER) 或 cv::TermCriteria::EPS或两个条件相并(|)
-
cv::Range类
连续的整数序列
成员:start(int),end(int)
定义规则:range = [start,end)