03_OpenCv之向量类Vec

03_OpenCv之向量类Vec

一.定义

这里的向量可以理解为数学意义上的列向量,构造一个_cnx1的列向量,数据类型为_Tp,格式如下:

Vec<Typename _Tp, int _cn>

二.构造向量类

比如构造一个长度为3,数据类型为int且初始化为21、32、14的列向量,代码如下:

Vec<int, 3> vi(21, 32, 14);

通过成员变量rows和cols可以看出,通过以上方式构造的向量默认为列向量:

cout << "向量的行数:" << vi.rows << endl;//输出: "向量的行数:3"
cout << "向量的列数:" << vi.cols << endl;//输出: "向量的列数:1"

三.访问向量中的值

可以通过"[]“或者”()"访问向量中的值:

cout << "访问第0个元素:" << vi[0] << endl;//输出: "访问第0个元素:21"
cout << "访问第1个元素:" << vi(1) << endl;//输出: "访问第1个元素:32"

四.OpenCv中对向量类的声明

typedef Vec<uchar, 3> Vec3b;
typedef Vec<int, 2> Vec2i;
typedef Vec<float, 4> Vec4f;
typedef Vec<double, 3> Vec3d;

单通道矩阵的每一个元素都是一个数值,多通道矩阵的每一个元素都可以看作一个向量

发布了79 篇原创文章 · 获赞 45 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gzx110304/article/details/89483838