七、opencv通过像素指针操作图像
图像读取到Mat类,本质是将图像转换成矩阵,然后通过Mat类来进行统一的矩阵操作。我们也可以通过指针的方式来对图像的每个像素点进行操作。
7.1 获取像素
想要访问图像的一个像素,可以使用Mat类中的cv::Mat::at(row,clo),模板函数。模板函数要有返回值类型。
-
在灰度图中,可以直接使用图像中的无符号的字符uchar或者任何其他数字格式
uchar pixel = color_img.at<uchar>(my_row, my_clo);
-
8位彩色图像中的typename是一个Vec3b类,它存储三个无符号字符数据(vec=向量,3=组件数,b=1字节)。
Vec3b类型读取RGB像素点的像素值
Vec3b intensity = img.at<Vec3b>(y, x)