<pre name="code" class="cpp"> //彩色3通道
Mat src =imread("path",1); //读入目标图像
Mat res(src .rows,src.cols,CV_8UC3); //用来存储目的图片的矩阵
//Mat数组来存车分离后的三个通道,每个通道都初始化为0;
Mat planes[] = {Mat::zeros(src.size(), CV_8UC1),Mat::zeros(src.size(), CV_8UC1), Mat::zeros(src.size(), CV_8UC1)};
//多通道分成3个单通道
split(src,planes);//在OpenCV中,一张3通道图像的一个像素点是按BGR的顺序存储的。
/*
//对R通道逐个像素操作
for(int i=0;i<planes[0].rows;i++)
for(int j=0;j<planes[0].cols;j++)
{
if(planes[0].at<uchar>(i,j)<128)
planes[0].at<uchar>(i,j)=0;
else
planes[0].at<uchar>(i,j)=255;
}
//对G通道逐个像素操作
for(int i=0;i<planes[1].rows;i++)
for(int j=0;j<planes[1].cols;j++)
{
if(planes[1].at<uchar>(i,j)<128)
planes[1].at<uchar>(i,j)=0;
else
planes[1].at<uchar>(i,j)=255;
}
//
【opencv】RGB图像通道分离和合并
最新推荐文章于 2024-06-16 17:42:37 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)