##名称:分离颜色通道&多通道图像混合
##平台:QT5.7.1+OpenCV3.2.0
##时间:2017年12月11日
/***************创建QT控制台程序*******************/
#include <QCoreApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv; int main()
{
//定义相关变量
Mat image;
Mat imageGray;
Mat imageGreenChannel,imageBlueChannel,imageRedChannel;
Mat imageBlue,imagePurple,imageGreen,imageYellow,imageRed;
vector<Mat> channels; image = imread("/home/ttwang/Valley_logo.jpg"); //读入原图
imageGray = imread("/home/ttwang/Valley_logo.jpg",); //读入灰度图 /***************得到蓝色通道图和紫色通道图*****************/
split(image,channels);//分离彩色通道 imageBlueChannel = channels.at(); //蓝色通道的引用返回给imagBlueChannel
addWeighted(imageBlueChannel,1.0,imageGray,0.5,,imageBlueChannel);//混合后的蓝色通道 merge(channels,imageBlue);//此时蓝色通道已经变味了,
//再通过merge将三个通道重新合并成一个三通道,便得到蓝色通道图 imageRedChannel = channels.at(); //在上面处理后的基础上,分离红色通道,可得到紫色通道图
addWeighted(imageRedChannel,1.0,imageGray,0.5,,imageRedChannel);
merge(channels,imagePurple); imshow("blue",imageBlue);
imshow("purple",imagePurple); /***************得到绿色通道图和黄色通道图*****************/
split(image,channels);//要想出现绿色的图像,需要对原图进行重新分离
imageGreenChannel = channels.at();
addWeighted(imageGreenChannel,1.0,imageGray,0.5,,imageGreenChannel);
merge(channels,imageGreen); imageGreenChannel = channels.at();
addWeighted(imageRedChannel,1.0,imageGray,0.5,,imageRedChannel);
merge(channels,imageYellow); imshow("green",imageGreen);
imshow("yellow",imageYellow); /***************得到红色通道图*****************/
split(image,channels);
imageRedChannel = channels.at();
addWeighted(imageRedChannel,1.0,imageGray,0.5,,imageRedChannel);
merge(channels,imageRed); imshow("red",imageRed);
waitKey();
return ;
}

运行结果:

opencv3.2.0 分离颜色通道&多通道图像混合的更多相关文章

  1. 学习 opencv---(4) 分离颜色通道 && 多通道混合

    上篇文章中我们讲到了使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操作. 而为了更好地观察一些图像材料的特征,有时需要对R ...

  2. opencv 3 core组件进阶(2 ROI区域图像叠加&图像混合;分离颜色通道、多通道图像混合;图像对比度,亮度值调整)

    ROI区域图像叠加&图像混合 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp&g ...

  3. 【opencv学习笔记三】opencv3.4.0数据类型解释

    opencv提供了多种基本数据类型,我们这里分析集中常见的类型.opencv的数据类型定义可以在D:\Program Files\opencv340\opencv\build\include\open ...

  4. 多通道(Multichannel)单通道(singlechannel)图像概念梳理

    在做机器视觉时,常常要将一个多通道图像分离成几个单通道图像或者将几个单通道图像合成一个多通道图像,以方便图像处理,但是.写这篇博客,是为加深对这两个概念的理解,下面会给出部分OpenCV对单通道与多通 ...

  5. 机器学习进阶-图片基本处理-ROI区域 1.img[0:200, 0:200]截取图片 2.cv2.split(对图片的颜色通道进行拆分) 3. cv2.merge(将颜色通道进行合并) 4 cur_img[:, :, 0] = 0 使得b通道的颜色数值为0

    1. 截取图片的部分区域img[0:200, 0:200], 读入的图片是ndarray格式 2. b, g, r = cv2.split(img)  # 对图片的颜色通道进行拆分 3.img = c ...

  6. opencv3.2.0图像离散傅里叶变换

    源码: ##名称:离散傅里叶变换 ##平台:QT5.7.1+opencv3.2.0 ##日期:2017年12月13. /**** 新建QT控制台程序****/ #include <QCoreAp ...

  7. opencv3.2.0图像对比度与亮度调整

    ##名称:图像对象度与对比度调整(由轨迹条分别控制对比度和亮度值) ##平台:QT5.7.1+opencv3.2.0 ##时间:2017年12月13日 /***********建立QT控制台程序*** ...

  8. OpenCV3.1.0中调用MHI(Motion History Images, 运动历史图像)

    写在前边: OpenCV3.0+要想使用MHI,就要现安装扩展模块opencv_contrib.安装方法见:ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contr ...

  9. 学习 opencv---(3) ROI 区域图像叠加&初级图像混合

    在这篇文章里,我们一起学习了在OpenCV中如何定义感兴趣区域ROI,如何使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操 ...

随机推荐

  1. 从负数开始 ,跟随别大人脚步 ---java

    刚刚毕业    音乐生  目前在做 数据库测试和实施的相关工作 . 1个月前认识了别大人  , 打算边工作 ,边学习java 开启学习之路 . ..340多个G的java视频感觉解压完1T  足够我喝 ...

  2. Part15 – 前端之jQuery

    本节内容 jQuery 一.jQuery jQuery是对DOM的封装 jQuery 中文在线文档:http://jquery.cuishifeng.cn/ 模块(Python) <--> ...

  3. nc,远程传输文件

    linux互传文件nc命令   使用nc命令可以很快的在两台主机传递文件,且不需要在同一网段,只要设置好端口即可. 一.安装(CentOS下) yum install -y nc  (需要root权限 ...

  4. js03

    我们接着来学习js的一些基础知识点. 1.document: document是window对象的一个属性.window对象表示浏览器中打开的窗口.如果文档包含框架(frame或者iframe),浏览 ...

  5. AngularJS Directive 命名规则

    使用规则 在HTML代码中,使用的是连接符的形式,下面我们对比看看命名和使用的对应字符串: 命名 使用 people people peopleList people-list peopleListA ...

  6. Postman—使用数据文件

    前言 数据文件是非常强大的方式使用不同的测试数据来测试我们的API,以检查它们是否在各种情况下都能正常运行.我们可以认为数据文件是“Collection Runner”中每个请求的参数.下面,通过一个 ...

  7. PlanetTogether APS安装与配置

    一.PT 安装 1.PT Server与Client的下载 下载网址:https://download.planettogether.com/ 2.安装.net framework 4.6.2 安装P ...

  8. Tomcat 访问manager app报403 解决方案(虚拟机可以正常使用,外面访问报错)

    虚拟机中Tomcat启动后,可以访问项目(虚拟机里面和外面都可以).虚拟机中能够正常进入manager app进行热部署工作,但是在外面能访问tomcat首页,点击manager app报403错误. ...

  9. NoSQL之Redis入门笔记

    Redis 1.Redis介绍 1.1 NoSQL:一类新出现的数据库(not only sql),它的特点 不支持sql语法 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据 ...

  10. 从入门到不放弃系列之Koa2

    一.Koa2入门 本来是想Express入门的,但是既然都是要学,干嘛不学最新的呢? 其实我想说,我本来只是想学个小程序开发,现在已经陆陆续续开了好多坑了.. 本文参考廖雪峰教程 二.Async 最新 ...