向量类 vec

vec2b   存储2个uchar,依次类推

typedef Vec<uchar,2> Vec2b;
typedef Vec<uchar,3> Vec3b;
typedef Vec<uchar,4> Vec4b;

vec2s  存储2个short int,依次类推

typedef Vec<short,2> Vec2s;
typedef Vec<short,3> Vec3s;
typedef Vec<short,4> Vec4s;

用法:

1. 已知一幅图像img的数据类型为 unsigned char型灰度图(单通道),要对坐标为(0,0)的像素重新赋值为0

im.at<uchar>(0,0)=0;

2. 已知一幅图片img的数据类型为unsigned char的彩色图片,再次要求将坐标(0,0)的像素赋值为0。

Opencv中图像三原色在内存中的排列顺序为B-G-R

im.at<Vec3b>(0,0)[0]=0;
im.at<Vec3b>(0,0)[1]=0;
im.at<Vec3b>(0,0)[2]=0;

3.对于二维直线而言类型为cv::Vec4f,对于三维直线类型则是cv::Vec6f,输出参数的前半部分给出的是直线的方向,而后半部分给出的是直线上的一点(即通常所说的点斜式直线)。

Vec4f line_para; 
Point point0;
point0.x = line_para[2];//2、3代表点
point0.y = line_para[3]; 
double k = line_para[1] / line_para[0];//0、1代表斜率,如代码所示
发布了128 篇原创文章 · 获赞 21 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Bluenapa/article/details/101851689