Color Imaging - RGB Channels
35 views (last 30 days)
Show older comments
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...
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/310247/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/310250/image.jpeg)
%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
Image Analyst
on 9 Aug 2020
Edited: Image Analyst
on 1 Apr 2021
Same homework problem as this other post
and this one where I put the solution:
Answers (2)
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.
0 Comments
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!