MATLAB: How to get coloured layer from an rgb image in matlab.

rgb images

Hi. I want to extract all three layers from rgb colour image.For red layer i want it is red colour and similarly for green layer i need the image in green shade. simple code is attached but it increase the size of the image which i dont want. If an input image is of small size I need the output of the same size.
I1=imread('Hello.png')
I1 = I1(:,:,2);
R=image(I1), colormap([zeros(256,1),[0:1/255:1]', zeros(256,1)]);
figure;
imshow(R,[])

Best Answer

I1 = imread('Hello.png');
R = 0 * I1; R(:,:,1) = I1(:,:,1);
G = 0 * I1; G(:,:,2) = I1(:,:,2);
B = 0 * I1; B(:,:,3) = I1(:,:,3);
subplot(1,3,1)
image(R)
subplot(1,3,2)
image(G)
subplot(1,3,3)
image(B)