1.OpenCV数据类型
基础类型
1.模板类cv::Vec<>
- 固定向量类,维度已知的小型向量——处理效率高
2.cv::Point类(Point2i,Point2f,Point2d;Point3i,Point3f,Point3d)
3.cv::Scalar类:双精度四元素向量(继承自cv::Vec<>)
4.cv::Size类,width和height(Size2f)
5.cv::Rect类,width和height,x和y
- cv::RotateRect:cv::Point2f的中心点+cv::Size2f+float角度
6.cv::Matx<>固定矩阵类
- 已知大小,如相机矩阵
大型数据
1.cv::Mat
- 处理任何维度的大型数组——矩阵,图像,多维数组
- cv::NaryMatIterator,数组迭代器。不返回单独元素,返回一堆数组进行N-ary迭代器操作
2.cv::SparseMat,稀疏数据类(使用哈希表来存储)
- 直方图/高维数组等,非0元素非常少的情况
- 4种访问机制:cv::SparseMat::ptr(),ref(),value(),find()
辅助对象
1.cv::TermCriteria类:封装一个或两个终止条件EPS,或者COUNT
2.cv::Range:确定一个【start,end)的连续的整数序列
3.cv::Ptr()<>类:创建一个对象的引用,传递到各处
4.cv::Exception类,继承自STL的std::exception类
5.cv::DataType<>模板
6.cv::InputArray类和cv::OutputArray类:前者只读,后者可变;可代表上面任何一种数据类型
工具函数