首页 > 编程知识 正文

RGB像通道,灰度像rgb显示

时间:2023-05-04 08:13:47 阅读:257614 作者:4330

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

RGB彩色图像

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

常见的色彩模式如下:

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

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

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

实验结果

实验代码 import cv2import 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() 参考

色彩模式

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。