OpenCV中固定向量模板类cv::Vec<>

OpenCV中固定向量模板类cv::Vec<>

1、vector

Vector(向量)是一个封装了动态大小数组的顺序性容器,能存放各种类型的对象。可以简单的认为vector是一个能够存放任意类型的动态数组。

用法:

#include <vector>
using namespace std;

vector<int> v;  //声明一个 int 向量 v,未分配大小,可以动态的向里面添加删除

2、vec<>

Vec3b color;  //变量 color 是一个长度为 3 的 uchar 数组,用于描述 RGB 颜色

固定向量别名命名规则:cv::Vec{2,3,4,6}{b, s ,w , i, f, d}

{2,3,4,6}代表向量的长度;
{b, s ,w , i, f, d}表示向量内数据类型;

b:unsigned char ; s:short int
w:unsigned short; i:int
f:float; d:double

3、访问像素
cv::mat的成员函数: .at(int y, int x),可以用来存取图像中对应坐标为(x,y)的元素坐标。
在使用时,在编译期必须要已知图像的数据类型,因为cv::mat可以存放任意数据类型的元素,因此at方法的实现用模板函数来实现。

Img.at<uchar>(14,25) = 30;			//img的数据类型为 unsigned char型灰度图(单通道),要对坐标为(14,25)的像素重新赋值为30

// 若为彩色图,将坐标(14,25)的像素赋值为30,需要对这个像素三个通道的每个对应元素赋值
Opencv中图像三原色在内存中的排列顺序为BGR

img.at<Vec3b>(14,25) [0]= 25;//B  
img.at< Vec3b >(14,25) [1]= 25;//G  
img.at< Vec3b >(14,25 [2]= 25;//R  

猜你喜欢

转载自blog.csdn.net/qq_43508270/article/details/126083121