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

7 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)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!