在 opencv 中访问多通道阵列中的整个通道

Accessing Whole Channel in a multi channel array in opencv

本文关键字:通道 多通道 opencv 访问 阵列      更新时间:2023-10-16

我正在尝试在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);