Vec3b类型数据确定颜色通道

前言

  这几天实习生测试一张图像的三个通道分别是什么颜色,使用的是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,所以看起来是循环的颜色;

原文地址:https://www.cnblogs.com/happyamyhope/p/7505818.html