split函数用于将一个多通道数组分离成几个单通道数组。

split函数的C++版本有两个原型,分别是:

void split(const Mat& src, Mat*mvbegin);
void split(InputArray m, OutputArrayOfArrays mv);

参数含义如下:

第一个参数:InputArray m(const Mat& src),填我们需要进行分离的多通道数组。

第二个参数:OutputArrayOfArrays mv,填函数的输出数组或者输出的vector容器。

split函数分割多通道数组转换成独立的单通道数组,公式如下:

下边是一个示例:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>using namespace cv;
using namespace std;void main(){vector<Mat> channels;Mat imageBlueChannel;Mat imageGreenChannel;Mat imageRedChannel;Mat srcImage4 = imread("mogu.jpg");imshow("【原始图】", srcImage4);//把一个3通道图像转换成3个单通道图像split(srcImage4, channels);imageBlueChannel = channels.at(0);imageGreenChannel = channels.at(1);imageRedChannel = channels.at(2);//显示单通道图像imshow("【BlueChannel】", imageBlueChannel);imshow("【GreenChannel】", imageGreenChannel);imshow("【RedChannel】", imageRedChannel);waitKey();
}

代码解析:

上述代码先做了相关的类型声明,然后把载入的3通道图像转换成3个单通道图像,放到vector<Mat>类型的channels中,接着进行引用赋值。

OpenCV的BGR色彩空间(Blue、Green、Red,蓝、绿、红),其中channels.at(0)表示引用取出的是蓝色分量,channels.at(1)表示引用取出的是绿色分量,channels.at(2)表示引用取出的是红色分量。


运行结果:

原始图

BlueChannel

                                       GreenChannel

                                        RedChannel

【OpenCV】OpenCV函数精讲之 -- 通道分离:split()函数相关推荐

  1. 【OpenCV】OpenCV函数精讲之 -- 通道合并:merge()函数

    merge()函数是将多个数组合并成一个多通道的数组.将一些孤立的单通道数组合并成一个多通道数组,创建一个由多个单通道阵列组成的多通道阵列. merge()函数的C++有两个版本: void merg ...

  2. python相关函数_python常用函数精讲

    原标题:python常用函数精讲 返回值为bool类型的函数 bool是Boolean的缩写,只有真(True)和假(False)两种取值 bool函数只有一个参数,并根据这个参数的值返回真或者假. ...

  3. python常用函数-python常用函数精讲

    原标题:python常用函数精讲 返回值为bool类型的函数 bool是Boolean的缩写,只有真(True)和假(False)两种取值 bool函数只有一个参数,并根据这个参数的值返回真或者假. ...

  4. MATLAB的图像上怎么标记数据点?Text函数精讲

    MATLAB的图像上怎么标记数据点?&Text函数精讲 文章目录 MATLAB的图像上怎么标记数据点?&Text函数精讲 前言 一.用Text函数可实现指定位置的添加 二.使用方法 1 ...

  5. 【OpenCV】OpenCV函数精讲之 -- 多通道图像混合

    #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <ios ...

  6. 【OpenCV】OpenCV函数精讲之 -- 鼠标操作

    指定鼠标操作消息回调函数的函数为SetMouseCallback 函数原型: void setMouseCallback(conststring& winname, MouseCallback ...

  7. 【OpenCV】OpenCV函数精讲之 -- createTrackbar()函数、getTrackbarPos()函数

    目录 1.创建滑动条:createTrackbar()函数 2.获取当前轨迹条的位置:getTrackbarPos()函数 1.创建滑动条:createTrackbar()函数 createTrack ...

  8. 【OpenCV】OpenCV函数精讲之 -- 初级图像混合

    本文是将设置感兴趣区域ROI和使用addWeighted函数进行图像线性混合结合起来使用,下边是具体的代码示例: #include <opencv2/core/core.hpp> #inc ...

  9. 【OpenCV】OpenCV函数精讲之 -- 访问图像中的像素--计时函数

    计时函数: 简便的计时函数:getTickCount()和get TickFrequency() getTickCount()函数:返回CPU自某个事件以来走过的时钟周期数 getTickFreque ...

最新文章

  1. C#中的==、Equal、ReferenceEqual(转载)
  2. PHP中include()与require()的区别说明
  3. 腾讯二面挂了,就因为这个...
  4. Win7系统转到Win10系统的装机方法
  5. 015. 深入JVM学习—Java引用类型
  6. 如何评判在线直播源码优劣?视频直播软件开发经验之谈
  7. 苹果今年秋季或发布史上最多新品
  8. vue.js computedmethod
  9. 打开运行PS、AI等软件时卡在启动窗口的解决办
  10. 实用新型专利撰写模板(自己总结)
  11. 阿里矢量图标库项目添加合作者
  12. java缓存技术的介绍
  13. 2021年华为杯数学建模参赛经验分享
  14. 数学建模笔记(一):数学建模一般步骤
  15. 安卓系统开发常用的框架
  16. 阿里-蚂蚁金服-一面电面-上海-java研发实习生
  17. Echarts 贵州地图(增加贵安新区)
  18. 阿里云新购服务器磁盘disk挂载完整教程
  19. C#创建和部署Windows Service程序
  20. Gym - 100543G Virus synthesis Gym

热门文章

  1. 3章.Linux主机规划和磁盘分区
  2. linux端口零内存拷贝,Linux设备驱动之I/O端口与I/O内存
  3. php访问多重数组,PHP实现删除多重数组对象属性并重新赋值的方法
  4. fisher线性判别算法python_Fisher线性判别(LDA)python实现
  5. python中global的使用_PYTHON中使用GLOBAL引发的一系列问题
  6. python 分类_Python数据类型分类
  7. php用户名登录名_PHP验证登录用户名和密码
  8. network reactnative_从零学React Native之14 网络请求
  9. 用计算机转换层次的例子,两类层次分析法的转换及在应用中的比较-计算机工程与应用.PDF...
  10. java回调函数 final_java中带回调函数的字符串替换,类似js中的replace(rgExp,function)...