入门--分别提取图像三通道(RGB)灰度图
原图
输入下面代码后:
t=imread('t1.jpg')
imshow(t)
得到的图像和原图一样
但,执行下面代码后:
t=imread('t1.jpg')
t1=t(1:8:end,1:8:end)
imshow(t1)
出现了三张图片,但是感觉应该只有一张啊。
这是因为图像的存储是一个三维矩阵,包含RGB三种要素的信息,也就是我们所说的三通道。
上面的代码是分别对R G B进行了采样,所以会得到三张图片。
那么怎样得到三通道分别的图像呢?
a=imread('t1.jpg');
%提取图像三通道信息
channel_1=a;
channel_2=a;
channel_3=a;
% 第一幅图的G B通道的灰度值全部变成0 这样就只有R通道的了
channel_1(:,:,2)=0;
channel_1(:,:,3)=0;
channel_2(:,:,1)=0;
channel_2(:,:,3)=0;
channel_3(:,:,1)=0;
channel_3(:,:,2)=0;
% 显示图像
subplot(2,2,1);
imshow(channel_1,[]);
title('R通道');
subplot(2,2,2);
imshow(channel_2,[]);
title('G通道');
subplot(2,2,3);
imshow(channel_3,[]);
title('B通道');
subplot(2,2,4);
imshow(a,[]);
title('原图');
效果图: