【OpenCV】OpenCV函数精讲之 -- 通道分离:split()函数
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()函数相关推荐
- 【OpenCV】OpenCV函数精讲之 -- 通道合并:merge()函数
merge()函数是将多个数组合并成一个多通道的数组.将一些孤立的单通道数组合并成一个多通道数组,创建一个由多个单通道阵列组成的多通道阵列. merge()函数的C++有两个版本: void merg ...
- python相关函数_python常用函数精讲
原标题:python常用函数精讲 返回值为bool类型的函数 bool是Boolean的缩写,只有真(True)和假(False)两种取值 bool函数只有一个参数,并根据这个参数的值返回真或者假. ...
- python常用函数-python常用函数精讲
原标题:python常用函数精讲 返回值为bool类型的函数 bool是Boolean的缩写,只有真(True)和假(False)两种取值 bool函数只有一个参数,并根据这个参数的值返回真或者假. ...
- MATLAB的图像上怎么标记数据点?Text函数精讲
MATLAB的图像上怎么标记数据点?&Text函数精讲 文章目录 MATLAB的图像上怎么标记数据点?&Text函数精讲 前言 一.用Text函数可实现指定位置的添加 二.使用方法 1 ...
- 【OpenCV】OpenCV函数精讲之 -- 多通道图像混合
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <ios ...
- 【OpenCV】OpenCV函数精讲之 -- 鼠标操作
指定鼠标操作消息回调函数的函数为SetMouseCallback 函数原型: void setMouseCallback(conststring& winname, MouseCallback ...
- 【OpenCV】OpenCV函数精讲之 -- createTrackbar()函数、getTrackbarPos()函数
目录 1.创建滑动条:createTrackbar()函数 2.获取当前轨迹条的位置:getTrackbarPos()函数 1.创建滑动条:createTrackbar()函数 createTrack ...
- 【OpenCV】OpenCV函数精讲之 -- 初级图像混合
本文是将设置感兴趣区域ROI和使用addWeighted函数进行图像线性混合结合起来使用,下边是具体的代码示例: #include <opencv2/core/core.hpp> #inc ...
- 【OpenCV】OpenCV函数精讲之 -- 访问图像中的像素--计时函数
计时函数: 简便的计时函数:getTickCount()和get TickFrequency() getTickCount()函数:返回CPU自某个事件以来走过的时钟周期数 getTickFreque ...
最新文章
- C#中的==、Equal、ReferenceEqual(转载)
- PHP中include()与require()的区别说明
- 腾讯二面挂了,就因为这个...
- Win7系统转到Win10系统的装机方法
- 015. 深入JVM学习—Java引用类型
- 如何评判在线直播源码优劣?视频直播软件开发经验之谈
- 苹果今年秋季或发布史上最多新品
- vue.js computedmethod
- 打开运行PS、AI等软件时卡在启动窗口的解决办
- 实用新型专利撰写模板(自己总结)
- 阿里矢量图标库项目添加合作者
- java缓存技术的介绍
- 2021年华为杯数学建模参赛经验分享
- 数学建模笔记(一):数学建模一般步骤
- 安卓系统开发常用的框架
- 阿里-蚂蚁金服-一面电面-上海-java研发实习生
- Echarts 贵州地图(增加贵安新区)
- 阿里云新购服务器磁盘disk挂载完整教程
- C#创建和部署Windows Service程序
- Gym - 100543G Virus synthesis Gym
热门文章
- 3章.Linux主机规划和磁盘分区
- linux端口零内存拷贝,Linux设备驱动之I/O端口与I/O内存
- php访问多重数组,PHP实现删除多重数组对象属性并重新赋值的方法
- fisher线性判别算法python_Fisher线性判别(LDA)python实现
- python中global的使用_PYTHON中使用GLOBAL引发的一系列问题
- python 分类_Python数据类型分类
- php用户名登录名_PHP验证登录用户名和密码
- network reactnative_从零学React Native之14 网络请求
- 用计算机转换层次的例子,两类层次分析法的转换及在应用中的比较-计算机工程与应用.PDF...
- java回调函数 final_java中带回调函数的字符串替换,类似js中的replace(rgExp,function)...