Color Imaging - RGB Channels

14 views (last 30 days)
Rahul Mishra
Rahul Mishra on 5 Jun 2020
Commented: DGM on 1 Jan 2024
Divide the given image in 3 parts(RGB) and stack them together to get a color image
please help me what to edit in code...
%Read the image
img = imread('image.jpg');
%Get the size (rows and columns) of the image
[r,c] = size(img);
rr=r/3;
%Wrire code to split the image into three equal parts and store them in B, G, R channels
B=imcrop(img,[1,1,c,rr]);
G=imcrop(img,[1,1*rr,c,rr]);
R=imcrop(img,[1,2*rr,c,rr]);
%concatenate R,G,B channels and assign the RGB image to ColorImg variable
ColorImg(:,:,1) = R;
ColorImg(:,:,2) = G;
ColorImg(:,:,3) = B;
imshow(ColorImg)
  3 Comments

Sign in to comment.

Answers (2)

shyam chauhan
shyam chauhan on 18 Jul 2020
This code is absolutely fine for the task already, if you have the "image processing toolbox" installed in your account. Imcrop is the advanced feature that of matlab that needs to be bought to use it.
If you have not installed that toolbox, change your program to split the image into three equal parts replacing the command for B, G, R.

Chit La Pyae Myo Hein
Chit La Pyae Myo Hein on 23 Sep 2020
Edited: DGM on 12 Nov 2022

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!