RGB图像转三通道灰度图像

RGB彩色图像由R、G、B三个通道组成,可以转成三幅灰度图像。

RGB彩色图像

色彩模式是数字世界中表示颜色的一种算法。在数字世界中,为了表示各种颜色,人们通常将颜色划分为若干分量。由于成色原理的不同,决定了显示器、投影仪、扫描仪这类靠色光直接合成颜色的颜色设备和打印机、印刷机这类靠使用颜料的印刷设备在生成颜色方式上的区别。

常见的色彩模式如下:

RGB模式:适用于显示器、投影仪、扫描仪、数码相机等。

CMYK模式:适用于打印机、印刷机等。

假设RGB彩色图像P的大小为H ×W, W和H分别为图像的宽度和高度。每个像素的值由R、G、B(分别为红、绿、蓝)颜色分量组成。这样,彩色图像就可以根据其颜色通道转化为三幅灰度图像,每种颜色(R, G, B)的矩阵大小为H ×W。

实验结果

在这里插入图片描述

实验代码

import cv2
import matplotlib.pyplot as plt


'''
彩色图像转化为RGB三幅灰度图像
'''
def main():
  img='./lena.png'
  im=cv2.imread(img)
  B,G,R=cv2.split(im)

  #结果展示
  plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文乱码
  #子图1,原始图像
  plt.subplot(141)
  #plt默认使用三通道显示图像,所以需要制定cmap参数为gray
  #imshow()对图像进行处理,画出图像,show()进行图像显示
  #opencv的颜色通道顺序为[B,G,R],而matplotlib颜色通道顺序为[R,G,B],所以需要调换一下通道位置
  plt.imshow(im[:,:,(2,1,0)])
  plt.title('原图像')
  #不显示坐标轴
  plt.axis('off')

  #子图2,通道R灰度图像
  plt.subplot(142)
  plt.imshow(R,cmap='gray')
  plt.title('通道R')
  plt.axis('off')

  #子图3,通道G
  plt.subplot(143)
  plt.imshow(G,cmap='gray')
  plt.title('通道G')
  plt.axis('off')

  #子图4,B
  plt.subplot(144)
  plt.imshow(B,cmap='gray')
  plt.title('通道B')
  plt.axis('off')

  plt.show()


if __name__== '__main__':
  main()

参考

色彩模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z2bns

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值