作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

函数原型

void merge(const Mat* mv, size_t count, OutputArray dst);
void merge(InputArrayOfArrays mv, OutputArray dst);

参数说明

  1. 第一个参数mv,输入合并的图像阵列,一般用vector。
  2. 第二个参数count,代表需要合并的矩阵个数
  3. 第三个参数dst,输出矩阵。

merge是split函数的逆向操作,将多个数组组合成更多通道数的多通道数组。

测试代码

#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创建三通道Matvector<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 单通道处理后的效果图

如上图所示,先将图像分离成单通道进行处理,再用merge函数合并起来称为新的图像。

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

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

OpenCV-通道合并cv::merge相关推荐

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

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

  2. 【OpenCV3】图像通道分离与合并——cv::split()与cv::merge()详解

    在图像处理中,尤其是处理多通道图像时,有时需要对各个通道进行分离,分别处理:有时还需要对分离处理后的各个通道进行合并,重新合并成一个多通道的图像.opencv2和opencv3中实现图像通道的合并与分 ...

  3. OpenCV-Python学习(9)—— OpenCV 通道的分离与合并(cv.split、cv.merge、cv.mixChannels、cv.inRange)

    1. 知识点 BGR/HSV 彩色通道分离为单独通道: 针对不同通道使用不同阀值提取mask: 学会使用[通道分离]函数 cv.split: 学会使用[通道合并]函数 cv.merge: 学会使用[把 ...

  4. Opencv多通道分离函数split()和多通道合并函数merge的使用

    多通道分离函数split() 功能:把一个多通道队列分离成几个单通道的队列. 如果你需要提取一个单通道或者做一些其他的复杂的通道排列组合,使用mixChannels. 函数原型1: CV_EXPORT ...

  5. Opencv3编程入门学习笔记(五)之通道分离(split)与合并(merge)

    若要对Opencv中(BGR)颜色通道进行单一处理,那必然会涉及到通道分离(split)与合并(merge).那么本篇博客笔者记录了两个方法的使用方法和案例.案例来源于<Opencv3编程入门学 ...

  6. OpenCV cv::merge用法的实例(附完整代码)

    OpenCV cv::merge用法的实例 OpenCV cv::merge用法的实例 OpenCV cv::merge用法的实例 #include <iostream> #include ...

  7. 使用Opencv分离图像通道/合并图像通道

    一. 使用cvSplit将图像的中的通道拆分到单个图像中 1.所需函数:cvSplit 函数功能:将图像的中的通道拆分到单个图像中 函数原型: void cvSplit( const CvArr* s ...

  8. OpenCV代码提取:merge/split函数的实现

    对OpenCV中的merge/split函数进行了实现,经测试,与OpenCV3.1结果完全一致. merge实现代码merge.hpp: // fbc_cv is free software and ...

  9. OpenCV入门系列 —— cv::dilate 图像膨胀

    OpenCV入门系列 -- cv::dilate 图像膨胀 前言 程序说明 输出结果 代码示例 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用和重要程度也同步激增(识别 ...

最新文章

  1. 20145209 2016-2017-2 《Java程序设计》第7周学习总结
  2. MFC中CArray类原理及其应用
  3. from flask.ext.wtf import Form 报错 ModuleNotFoundError: No module named 'flask.ext'
  4. 目标跟踪算法三:Modeling and Propagating CNNs in a Tree Structure for Visual Tracking (VOT2016冠军)
  5. 电脑f2还原系统步骤_电脑一键还原win10系统的操作步骤
  6. java中延迟任务的处理方式
  7. python对象三个特性_python面向对象的三大特性
  8. linux vim复制和粘贴
  9. 95-910-148-源码-FlinkSQL-Flink SQL自定义聚合函数
  10. matlab二进制操作,[转载]Matlab二进制类型数据相关操作
  11. HTML中,TextArea的换行问题(添加wrap属性)。
  12. ic启动器怎么导入模组_icmod模组管理器最新版下载-ICMOD管理器(Inner Core)下载v1.5-阵 安卓版-西西软件下载...
  13. UML在线画图工具ProcessOn
  14. c语言求数组交集并集差集,求两个数组的交集、并集和差集算法分析与实现
  15. Python-Django毕业设计基于的餐厅管理系统(程序+Lw)
  16. 《深度学习之PyTorch物体检测实战》—读书笔记
  17. MAC 中selenium、webdriver打开Chrome浏览器闪退问题(版本号一致)
  18. 青云志 java_青云志手游纯手工架设含本地注册教程
  19. 西门子触摸屏数据历史数据记录_西门子触摸屏mp277历史数据丢失(免费技术支持)...
  20. CISP-PTE维持记录(2022-03-30)

热门文章

  1. 开源一个ReactNative日历控件
  2. 技术分享连载(七十九)
  3. 解决了asp.net 关于服务器版本不正确的问题
  4. 学习vue 20天,我写了点东西
  5. php截取字符串,无乱码
  6. ubuntu linux 启用root用户登录
  7. 386 · Longest Substring with At Most K Distinct Characters最多有k个不同字符的最长子字符串
  8. 【写作技巧】中文摘要及关键词的撰写
  9. 你所不知道的程序员,不要再尬黑了
  10. java构建大根堆_构建大根堆