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

34 views (last 30 days)
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,[])

Accepted Answer

Walter Roberson
Walter Roberson on 2 Aug 2019
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)
  7 Comments
sadiqa ilyas
sadiqa ilyas on 2 Aug 2019
EncImg is only an enciphered image of green layer, so it is 1 dim
Walter Roberson
Walter Roberson on 2 Aug 2019
Then reshape it to 2d and store it as (:, :, 2) of a 3d matrix of zeros like I showed.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!