【opencv】RGB图像通道分离和合并

这篇博客介绍了如何使用OpenCV进行RGB图像的通道分离和合并操作。通过示例代码展示了如何将3通道图像分解为单通道,并分别对R、G、B通道进行像素操作,然后重新合并成3通道图像。
摘要由CSDN通过智能技术生成
<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;
  }
  //
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值