分别显示一副彩色图片的B,G,R通道图片

要实现这个功能,原理很简单。

一张彩图有三个颜色通道显示哪个就将另外两个通道置0

代码

import cv2 as cv
img = cv.imread('img2.png', cv.IMREAD_REDUCED_COLOR_2)# 定义一个函数,实现显示B通道图像
def img_B():img_b, img_g, img_r = cv.split(img)  # 拆分颜色通道 (1)img_g[:, :] = 0  # 将G通道置0img_r[:, :] = 0  # 将R通道置0img_B = cv.merge([img_b, img_g, img_r])  # 按bgr合并通道scv.imshow('imgB', img_B)  # 显示图片return img_B# 定义一个函数,实现显示G通道图像
def img_G():img_b, img_g, img_r = cv.split(img)  # 拆分颜色通道 (1)img_b[:, :] = 0img_r[:, :] = 0img_G = cv.merge([img_b, img_g, img_r])  # 按bgr合并通道cv.imshow('imgG', img_G)  # 显示图片return img_G# 定义一个函数,实现显示R通道图像
def img_R():img_b, img_g, img_r = cv.split(img)  # 拆分颜色通道 (1)img_b[:, :] = 0img_g[:, :] = 0img_R = cv.merge([img_b, img_g, img_r])  # 按bgr合并通道cv.imshow('imgR', img_R)  # 显示图片return img_Rcv.imshow('img', img)
img_B = img_B()
img_G = img_G()
img_R = img_R()cv.waitKey(0)
cv.destroyAllWindows()# (1):若单独把这行代码放到全局中,可理解为全局变量,三个函数会共用一份数据
# 代码放在函数中变为局部变量,拆分三次原图颜色通道,数据互不干扰

效果图

2.0代码

# 分别显示一副彩色图像的B,G,R通道图像
import copy
import cv2 as cvpath = 'img.png'  # 图片的路径
img = cv.imread(path, cv.IMREAD_REDUCED_COLOR_2)  # 读取图片并将其缩小为原来的1/2# 调用python中的深拷贝函数,复制三份图片
img_b = copy.deepcopy(img)
img_g = copy.deepcopy(img)
img_r = copy.deepcopy(img)# 将img_b的g,r通道置0,得到b通道图片
img_b[:, :, 1] = 0
img_b[:, :, 2] = 0# 将img_g的b,r通道置0,得到g通道图片
img_g[:, :, 0] = 0
img_g[:, :, 2] = 0# 定义成函数,将img_r的b,g通道置0,得到r通道图片
def R(img_r):img_r[:, :, 0] = 0img_r[:, :, 1] = 0return img_r# 显示图片
cv.imshow('img', img)
cv.imshow('B', img_b)
cv.imshow('G', img_g)
cv.imshow('R', R(img_r))cv.waitKey(0)  # 等待按键输入,返回按键的ASCII值。0表示任意按键;其他整数表示时间,单位毫秒
cv.destroyAllWindows()  # 销毁所有窗口

效果图

pythpn实现bgr颜色通道分离,并分别显示一副彩色图片的BGR通道图片相关推荐

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

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

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

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

  3. 【OpenCV3.3+Python3.6】图片的BGR通道的分离、修改以及合并

    这里讲一下色彩空间BGR中图片的通道分割,合并等 主要看代码吧 import cv2def bgr_spilt_merge(image):b,g,r=cv2.split(image)#分离图片的三通道 ...

  4. 10_Numpy图片RGB色彩通道的分离,以及单色化,黑色化和颜色的交换

    10_Numpy图片RGB色彩通道的分离,以及单色化,黑色化和颜色的交换 使用Numpy进行图片处理时,RGB图片为行(高度)*列(宽度)*高(3)的ndarray数组,黑白图片为行(高度)*列(宽度 ...

  5. 基于openCV3的颜色通道分离及多通道图像混合

    注:文档摘至<OpenCV3编程入门>毛星云版 <1>通道分离: split()函数 split函数用于将一个多通道数组分离成几个单通道数组.这里的array 按语境翻译为数组 ...

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

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

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

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

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

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

  9. 图片的色彩空间转换、简单色彩跟踪与通道分离、合并(三)

    一 图片的色彩空间转换 灰度色彩空间 单通道,取值范围[0,255] 0黑255白 RGB色彩空间(opencv中习惯用BGR) opencv中R,G,B三通道取值范围均为[0,255]. HSV/H ...

最新文章

  1. Hugo快速搭建Blog
  2. 【Android工具】wifi概观360中文专业版,wifi overview 360 pro,wifi信息查看工具
  3. 互联网1分钟 |1115
  4. 404. Sum of Left Leaves 左叶子之和
  5. Open images from USB camera on linux using V4L2 with OpenCV
  6. Codeforces Round #565 (Div. 3) A. Divide it!
  7. Dynamics CRM 2015 站点地图公告配置实体显示名称的变更
  8. php外边框样式,CSS中的边框样式
  9. 谈谈Virtual DOM
  10. spring 定时任务---task
  11. System.Security.Cryptography.RSA.FromXmlString 系统找不到指定的文件和X509读取证书文件系统找不到指定的文件异常
  12. Python数据结构实战——单向链表(LinkedList)
  13. fiddler修改支付金额_Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解+代码
  14. Spring 单元测试(Junit)
  15. 论文赏析[AI18]更快的基于非二叉化自底向上策略的转移系统成分句法分析
  16. PHP编程中如何做到有效配置Apache
  17. psd缩略图上传控件
  18. 国内免费CMS系统大全
  19. 【往届期末试卷】2018届数据库原理与应用
  20. nividia-smi命令不显示占用显卡的进程

热门文章

  1. opensuse zypper源
  2. java-php-python-ssm新城街道社区的健康档案管理平台计算机毕业设计
  3. 云南林业计算机单招试题,云南林业职业技术学院2020年单招考试时间与地点
  4. C语言课程设计:打字母游戏
  5. 基于SSH的物流配送信息管理平台设计与实现
  6. NXP芯片 i.MX系列 UBOOT reset 命令简析
  7. springboot + Disruptor 实现特快高并发处理!!
  8. 透过DRP进一步认识MVC架构(二)
  9. 伪装discuz代码 php木马,Discuz!X系列转换工具任意代码写入漏洞 getshell
  10. 【Linux】系统编程之文件(标准I/O库)