近期偷懒调OpenCV函数cvtColor()进行Raw图转RBG时,发现该函数拜耳模式简称与通常不一样,记录一下。
1、cv::cvtColor(),进行色彩空间转换,调用形式如下:
void cv::cvtColor( cv::InputArray src, cv::OutputArray dst, int code, int dstCn = 0 ); 参数说明: 1.dst 表示输出图像,与原始输入图像具有同样的数据类型和深度。 2.src 表示原始输入图像。可以是8 位无符号图像、16 位无符号图像,或者单精度浮点数等。 3.code 是色彩空间转换码。 4.dstCn 是目标图像的通道数。如果参数为默认的0,则通道数自动通过原始输入图像和code 得到。
具体code码,参看官网:OpenCV: Color Space Conversions
2、cv::cvtColor()码值拜耳模式简称:
cv::COLOR_BayerBG2BGR = 46, 对应RGGB拜耳排布 cv::COLOR_BayerGB2BGR = 47, 对应GRBG拜耳排布 cv::COLOR_BayerRG2BGR = 48, 对应BGGR拜耳排布 cv::COLOR_BayerGR2BGR = 49, 对应GBRG拜耳排布
3、原因:采用2*2拜耳排布的第4个元素(1,1)和3个元素(1,0)表示,或如下解释
cv2.cvtColor()的色彩空间转换参数中,使用两个特定的参数x 和y 来表示特定拜耳模式。
该模式组成通过图4-1 第二行中的第2 列与第3 列的值来指定。图4-1 就是典型的“BG”模式。



