前言
这几天实习生测试一张图像的三个通道分别是什么颜色,使用的是Vec3b类型,然后发现了一个有意思的点。。
测试过程
先创建了一定大小的数据,
Mat test( 500, 500, CV_8UC3, Scalar(0,0,0) ); //三通道
循环给每个像素点赋值,
test.at<Vec3b>(i,j)[ch] = 255;
当颜色通道ch的数值分别是1/2/3,其中一个设置为255,另两个设置为0,ch为1/2/3时得到的图片颜色分别是G/R/B;
再次测试通道为0/1/2时,结果分别是B/G/R;
如果通道数目不是连续的三个数,那么结果是黑色图像;
发现
图像三个通道的颜色是按3取模的,取模结果为0/1/2,结果是B/G/R,所以看起来是循环的颜色;
完