效果如下:
代码如下:
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)表示两行两列中的第一个元素,其他位置同理。