我正在尝试在opencv中访问3通道图像中的整个通道(要用整个矩阵替换通道,请参见下文)。是否可以在不循环遍历单个像素值的情况下执行此操作?
Mat RGB(320, 480, CV_8UC3)
Mat R(320, 480, CV_8UC1)
Mat G(320, 480, CV_8UC1)
Mat B(320, 480, CV_8UC1)
// First channel of RGB = R
// second channel of RGB = G
// third channel fo RGB = B
只需使用拆分和合并
Mat RGB // source mat
Mat BGR_3[3];
split(RGB,RGB_3);
BGR_3[0]//do some operation Blue channel
BGR_3[1]//do some operation Green Channel
BGR_3[2]//do some operation Red channel
//later merge
Mat dst
merge(BGR_3,3,dst);