第3章:了解OpenCV的数据类型
本文仅作学习记录,不作他用!
OpenCV 的数据类型
OpenCV的基础数据类型主要分为三类:
- 第一类是直接从C++原语中继承的基础数据类型(如int和float等) 。
- ;第二类是辅助对象。这些对象代表更抽象的概念, 比如垃圾收集指针类、用于数据切片的范围对象(range objects) 以及抽象的终止条件类等。
- 第三类可以称为大型数组类型。这些对象原本目的是涵盖数组或一些其他的原语、程序集或更常见的基础数据类型。这一类的典型代表是c v: :问at 类,该类用来代表任意维度的包含任意基础元素的数组。
除此之外,OpenCV还使用了很多标准模板库(STL)。
深入了解基础类型
Point类
操作 | 示例 |
---|---|
默认构造函数 | cv::Point2i p; cv::Point3i p; |
复制构造函数 | cv::Point3f p2(p1); |
值构造函数 | cv::Point2i(x0,x1); cv::Point3d p(x0, x1, x2); |
构造成固定向量类 | ( cv::Vec3f) p; |
成员访问 | p.x, p. y, |
点乘 | float x = p1.dot(p2); |
双精度点乘 | double x = p1.dot(p2); |
又乘 | p1. cross (p2) ; |
判断一个点p是否在举行r内 | p. inside ( r ); |
cv: :Scalar类
cv::Scalar
是四维点类。
操作 | 示例 |
---|---|
默认构造函数 | cv::Scalar s; |
复制构造函数 | cv:.:Scalar s2(s1); |
值构造函数 | cv::Scalar s(x0); cv::Scalar s(x0, x1, x2, x3); |
元素相乘 | s1.mul(s2); |
元素相乘 | s.conj(); //(returns cv::Scalar(s0, -s1, -s2 , -s2)); |
(四元数)真值测试 | s. isReal (); // (returns true , if s1 == s2 == s3 == 0) |
cv::size类
-------未完待续---------