RGB彩色图像由R、G、B三个通道组成,可以转成三幅灰度图像。
RGB彩色图像
色彩模式是数字世界中表示颜色的一种算法。在数字世界中,为了表示各种颜色,人们通常将颜色划分为若干分量。由于成色原理的不同,决定了显示器、投影仪、扫描仪这类靠色光直接合成颜色的颜色设备和打印机、印刷机这类靠使用颜料的印刷设备在生成颜色方式上的区别。
常见的色彩模式如下:
RGB模式:适用于显示器、投影仪、扫描仪、数码相机等。
CMYK模式:适用于打印机、印刷机等。
假设RGB彩色图像P的大小为H ×W, W和H分别为图像的宽度和高度。每个像素的值由R、G、B(分别为红、绿、蓝)颜色分量组成。这样,彩色图像就可以根据其颜色通道转化为三幅灰度图像,每种颜色(R, G, B)的矩阵大小为H ×W。
实验结果
实验代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| 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'] plt.subplot(141) plt.imshow(im[:,:,(2,1,0)]) plt.title('原图像') plt.axis('off')
plt.subplot(142) plt.imshow(R,cmap='gray') plt.title('通道R') plt.axis('off')
plt.subplot(143) plt.imshow(G,cmap='gray') plt.title('通道G') plt.axis('off')
plt.subplot(144) plt.imshow(B,cmap='gray') plt.title('通道B') plt.axis('off')
plt.show()
if __name__== '__main__': main()
|
参考
色彩模式