Mat矩阵中每一个元素代表一个像素,灰度图像,像素用8U 无符号数,0黑色,255白色;彩色图像,每个像素需要3位这样的8U表示,即三个通道(R、G、B),矩阵依次存储一个像素的三个通道值,然后再存储下一个像素点。
灰度图像素类型uchar; 彩色图像素点类型Vec3b

计时
double time0 = static_cast<double>(getTickCount());
{
}
time0 = ((double)getTickCount()-time0)/getTickFrequency();
压缩颜色空间
在一幅数字图像存储的矩阵一般是uchar类型,为8位256个值。如果是三通道图形,那么应该有256*256*256=16581375种不同的颜色,这1600多万种颜色,数据量会很大,影响后期的处理,这个时候,我们就需要将颜色空间进行缩减。
对于三通道图像,本来有256*256*256种颜色,这里我们取:
0-9的像素取值:0
10-19的像素取值:1
……
&nb

本文介绍了OpenCV3中Mat矩阵的像素读写,包括灰度图像的uchar类型和彩色图像的Vec3b类型。讨论了如何通过迭代器和指针高效地访问像素,并讲解了压缩颜色空间的方法,将三通道图像的大量颜色减少到26个级别,以简化后期处理。最后,提到了使用ptr函数和at方法快速访问图像像素。
最低0.47元/天 解锁文章
3522

被折叠的 条评论
为什么被折叠?



