RGB图像由格式为M×N×3的三维数组组成,其中的“3”可以理解为三幅M×N的二维图像(灰度值图像)。这三幅图像分别代表R、G、B分量,每个分量的像素点取值范围是[0,255]。
有两种方法可以将RGB图像的三个分量分别显示出来,但显示效果不一样:
clc;
clean all;
RGB = imread('baby.bmp');
subplot(2,2,1),imshow(RGB(:,:,1)),title('R分量');
subplot(2,2,2),imshow(RGB(:,:,2)),title('G分量');
subplot(2,2,3),imshow(RGB(:,:,3)),title('B分量');
subplot(2,2,4),imshow(RGB),title('RGB');
只有当RGB的三个通道同时被赋值时才会显示颜色,如R分量显示出红色,matlab代码如下:
clc;
clear all;
RGB = imread('baby.bmp');
zeromatrix = zeros(512, 512); %创建一个512×512的零矩阵
RGB_R = cat(3, RGB (:,:,1), zeromatrix , zeromatrix );
RGB_G = cat(3, zeromatrix , RGB (:,:,2), zeromatrix );
RGB_B = cat(3, zeromatrix , zeromatrix, RGB (:,:,3));
subplot(2,2,1),imshow(RGB_R ),title('R分量');
subplot(2,2,2),imshow(RGB_G),title('G分量');
subplot(2,2,3),imshow(RGB_B),title('B分量');
subplot(2,2,4),imshow(RGB),title('RGB');
参考博客
https://blog.csdn.net/rzwangyu/article/details/50981762