cvSlite 和cvMerge 实现图像的通道分离和混合的说明

void cvSplit(const CvArr* src,CvArr *dst0,CvArr *dst1, CvArr *dst2, CvArr *dst3);  

有些时候处理多通道图像时不是很方便,在这种情况下,可以利用cvSplit()分别复制每个通道到多个单通道图像,如果需要,cvSplit()函数将复制src(即源多通道图像)的各个通道到图像dst0、dst1、dst2、dst3中。目标图像必须与源图像在大小和数据类型上匹配,当然也应该是单通道的图像。

如果源图像少于4个通道(这种情况经常出现),那么传递给cvSplit()的不必要的目标参数可设置为NULL。

下面的程序便是将多通道图像转换为单通道图像 程序的核心部分。

cvMerge( const CvArr* src0, const CvArr* src1, const CvArr* src2, const CvArr* src3, CvArr* dst );

cvMerge的作用是“从几个单通道数组组合成多通道数组或插入一个单通道数组”

对于显示单通道的图像也可以使用下面的方法

代码如下:

void Ctry::OnTryTyr1()
{//TODO:  在此添加命令处理程序代码IplImage *img = cvLoadImage("C:\\Users\\Administrator\\Desktop\\139.jpg");IplImage* merge = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 3);IplImage* r = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);IplImage* g = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);IplImage* b = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);cvSplit(img, b, g, r, NULL);cvSaveImage("C:\\Users\\Administrator\\Desktop\\r.jpg", r);cvSaveImage("C:\\Users\\Administrator\\Desktop\\g.jpg", g);cvSaveImage("C:\\Users\\Administrator\\Desktop\\b.jpg", b);cvMerge(b, g, r, 0, merge);cvSaveImage("C:\\Users\\Administrator\\Desktop\\merge.jpg", merge);cvReleaseImage(&img);cvReleaseImage(&r);cvReleaseImage(&g);cvReleaseImage(&b);cvReleaseImage(&merge);
}

原图: 分解图:b  g 

r:  合成图:merge

cvSlite 和cvMerge 实现图像的通道分离和混合的说明相关推荐

  1. 图像的通道分离与合并

    在计算机中,一张彩色图像可视为一个矩阵.矩阵中的每一个元素就是一个像素点.放大图片后我们会发现每个像素点的颜色都不一样,但其实所有的色彩都可以由三原色"蓝(blue)"" ...

  2. 【OpenCV】图像的通道分离

    分离图像通道采用函数cvSplit. 函数原型:void cvSplit(const CvArr* src, CvArr* dst0, CvArr* dst1, CvArr* dst2, CvArr* ...

  3. OpenCV开发笔记(十):OpenCV图像颜色通道分离和图像颜色多通道混合

    若该文为原创文章,未经允许不得转载 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/101420314 各位读者,知识无穷而人力有穷, ...

  4. 图像通道分离与合并操作

    图像通道分离与合并操作 文章目录 图像通道分离与合并操作 一.图片的通道分离与合并 二.编程要求 一.图片的通道分离与合并 对于一幅的数字图像,我们看到的是一幅真正的图片,但是对于计算机,这副图像只是 ...

  5. 彩色图像通道分离+融合

    前段时间做过几个彩色图像多通道特征提取的研究,所以在这里记录一下彩色图像通道分离+融合的代码. import cv2 import numpy as np from matplotlib import ...

  6. OpenCV Python教程(2、图像元素的访问、通道分离与合并)

    OpenCV Python教程之图像元素的访问.通道分离与合并 转载请详细注明原作者及出处,谢谢! 访问像素 像素的访问和访问numpy中ndarray的方法完全一样,灰度图为: [python] v ...

  7. OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并

    OpenCV之Python学习笔记 一直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看到一本国外的新书< ...

  8. opencv进阶学习笔记2:numpy操作图像,色彩空间,查找指定颜色范围,通道分离与合并

    基础部分传送门 python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录: python+opencv进阶版学习笔记目录(适合有一定基础) Numpy操作图像 1.遍历图像每一 ...

  9. OpenCV与图像处理学习一——图像基础知识、读入、显示、保存图像、灰度转化、通道分离与合并

    OpenCV与图像处理学习一--图像基础知识.读入.显示.保存图像.灰度转化.通道分离与合并 一.图像基础知识 1.1 数字图像的概念 1.2 数字图像的应用 1.3 OpenCV介绍 二.图像属性 ...

  10. OpenCV系列四 --- 颜色通道分离与多通道图像混合

    今天呢,我们一起来学习彩色图像的颜色通道分离与多通道图像混合,一般情况下,我们大多数看到的图像都是基于RGB颜色通道的图像,因此要实现颜色通道的分离,即要将R.G.B三个通道分离,而多通道图像混合,即 ...

最新文章

  1. python 基础笔记十一 - random模块
  2. java 年计算_用Java计算leap年
  3. 迎接 2019:软件开发新趋势预测
  4. 中科微研课题上犹授牌-农业大健康·李喜贵:谋定功能性农业
  5. ArcGIS中生成蜂窝多边形算法解析
  6. 18、监听器/国际化
  7. 1_统计学习方法概论
  8. 4.JUC-共享模型之无锁
  9. python二维码批量拼接,多张高清二维码批量拼接
  10. opensips mysql_基于opensips mysql数据库用户管理
  11. 树莓派sd卡linux分区,树莓派安装了Kali系统的SD卡扩容问题(分区太小)解决办法...
  12. r4900g3系统安装linux_H3C UniServer R4900 G3
  13. 概率逻辑程序设计学习 一.预备知识
  14. [毒]QQ空间出现的伪装QQ登录窗口诈骗
  15. 项目规范,介绍,规划与搭建,模块化开发,网站favicon,网站TDK
  16. 聊聊 MyBatis 中的设计模式
  17. 二叉树后序遍历非递归算法(详解)
  18. Python文件处理os模块介绍 -*- Python基础知识12 -*-
  19. 可怕,任天堂找到了一种新的赚钱方式……​
  20. 二维码的纠错码原理及如何纠错(2)

热门文章

  1. MVC自定义路由的配置,必须把自己的路由写在前面
  2. [分组背包]Luogu1064 金明的预算方案
  3. vue项目history路由的配置
  4. vscode自定义代码片段
  5. yum 安装、 rpm安装、 源码编译安装
  6. 计算机网络与应用测试题,计算机网络技术与应用测试题.doc
  7. c 打印二叉树_二叉树遍历(非递归和递归实现)
  8. python turtle输出坐标_如何在Python/turtle中使用坐标列表绘制形状
  9. 3. 什么是icmp?icmp与ip的关系_Java抽象类、内部、类接口到底是什么?
  10. StanfordDB class自学笔记 (7) SQL