MATLAB 实现将彩色图像的R、G、B三个分量以彩色的形式显示

效果如下:
MATLAB 实现将彩色图像的R、G、B三个分量以彩色的形式显示_第1张图片

代码如下:

f=imread('Fig1234.tif');
R=f(:,:,1); %获取红色分量
G=f(:,:,2); %获取绿色分量
B=f(:,:,3); %获取蓝色分量

f1=f; %红色通道图片
f1(:,:,1)=R;
f1(:,:,2)=0;
f1(:,:,3)=0;

f2=f; %绿色通道图片
f2(:,:,1)=0;
f2(:,:,2)=G;
f2(:,:,3)=0;

f3=f; %蓝色通道图片
f3(:,:,1)=0;
f3(:,:,2)=0;
f3(:,:,3)=B;

subplot(2,2,1);imshow(f);title('原图像');
subplot(2,2,2);imshow(f1);title('红色');
subplot(2,2,3);imshow(f2);title('绿色');
subplot(2,2,4);imshow(f3);title('蓝色');

分析如下:
查看彩色图片大小的时候会发现图片的大小为1040×1040×3,3就是R、G、B通道。查看f变量的值会发现val(:,:,1)这种表述,代表的就是红色通道中1040行和1040列中的所有像素点。由此我们就可以分别得到三个分量的图片。

顺带说一下subplot()函数,subplot(2,2,1)表示两行两列中的第一个元素,其他位置同理。

你可能感兴趣的:(matlab)