OpenCV-通道分离cv::split

简介: OpenCV-通道分离cv::split

函数原型

void split(InputArray m, OutputArrayOfArrays mv);

参数说明

  1. InputArray类型的m,输入的需要分离通道的图像。
  2. OutputArrayOfArrays的mv,输出的vector容器,装载不同通道的图像信息。
  3.       OpenCV是BGR色彩空间,第一个通道是蓝色通道Blur,第二个通道是绿色通道Green,第三个通道是红色通道Red,和我们传统意义上的RGB相反,注意一下哦~

测试代码

#include<iostream>
#include<opencv2/opencv.hpp>
#include<ctime>
using namespace std;
using namespace cv;
int main(void)
{
  // 读取图片
  Mat src = imread("tangsan.jpg");//imread()函数载入图像
  // 判断是否为空
  if (src.empty())
  {
    cout << "Can not load image\n" << endl;//
    return -1;
  }
  // vector创建三通道Mat
  vector<cv::Mat> channels;
  cv::split(src, channels);
  // OpenCV的BGR色彩空间同传统意义的RGB相反,所以1通道是Blue蓝,2通道是Green绿,3通道是Red红
  // 蓝通道削弱,再合并,看图片效果
  channels[0] = channels[0] / 2;
  cv::Mat result;
  cv::merge(channels, result);
  imshow("original", src);
  imshow("result", result);
  waitKey(0);
  system("pause");
  return 0;
}

测试效果

图1 图像三通道数据示意图

图2 图像单通道数据示意图

图3 单通道处理后的效果图

      如上图所示,图像一般是三通道的矩阵数据,通道分离后,三个通道分别成为一个灰度图像,对蓝色通道数据除以2,相当于削弱了原图的蓝通道信息比例,效果图更暖色系~


      通道分离除了处理图像,也经常用于数据计算,最常见的就是复数的计算,后面会写相关的文章介绍具体的应用场景,比如FFT傅里叶变换。


      如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

相关文章
|
6月前
|
计算机视觉
OpenCV(二十四):可分离滤波
OpenCV(二十四):可分离滤波
154 0
|
6月前
|
计算机视觉 Python
OpenCV中拆分通道、合并通道、alpha通道的讲解及实战演示(附python源码 超详细)
OpenCV中拆分通道、合并通道、alpha通道的讲解及实战演示(附python源码 超详细)
370 0
|
4月前
|
机器学习/深度学习 人工智能 算法
Python在计算机视觉(CV)中扮演重要角色,得益于其丰富的库如OpenCV、Pillow和Scikit-image。
【7月更文挑战第5天】Python在计算机视觉(CV)中扮演重要角色,得益于其丰富的库如OpenCV、Pillow和Scikit-image。CV涉及图像处理、模式识别和机器学习,用于图像理解和生成。Python的跨平台特性和活跃社区使其成为CV的理想工具。基本流程包括图像获取、预处理、特征提取、分类识别及图像生成。例如,面部识别通过预处理图像,使用如`cv2.CascadeClassifier`进行检测;物体检测类似,但需适应不同目标;图像生成则利用GAN创造新图像。
68 4
|
3月前
|
计算机视觉 索引
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
本文介绍了解决OpenCV读取视频失败的错误,指出问题通常由视频路径错误或摄像头索引错误导致,并提供了相应的解决方法。
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
|
3月前
|
计算机视觉
OpenCV 图像类型标识符 CV_<bit_depth><S|U|F>C<number_of_channels>
OpenCV 图像类型标识符 CV_<bit_depth><S|U|F>C<number_of_channels>
38 0
|
4月前
|
算法 计算机视觉 索引
python---OpenCv(二),背景分离方法较有意思
python---OpenCv(二),背景分离方法较有意思
|
5月前
|
计算机视觉
OpenCV通道分离、合并、混和
OpenCV通道分离、合并、混和
|
5月前
|
算法 计算机视觉
【Qt&OpenCV 直方图计算 split/calcHist/normalize】
【Qt&OpenCV 直方图计算 split/calcHist/normalize】
48 0
|
6月前
|
前端开发 计算机视觉 C++
【OpenCV】—分离颜色通道、多通道图像混合
【OpenCV】—分离颜色通道、多通道图像混合
|
6月前
|
计算机视觉
OpenCV报错: cv::Exception,位于内存位置 0x00000078226FEE58 处。
OpenCV报错: cv::Exception,位于内存位置 0x00000078226FEE58 处。