Clear Filters
Clear Filters

Extracting the red channel of an image

2 views (last 30 days)
for extracting red color alone of a color image input, i used the following code.
i=imread('football.jpg');
v=i(:,:,1);
imshow(v)
whether my code is doubt and if yes, why red color is not visible

Accepted Answer

Image Analyst
Image Analyst on 9 Apr 2012
You extracted the red channel of a color image. Each color channel is simply a 2D image with an intensity. Essentially each one is a monochrome image, and those are displayed in gray scale by default. You can apply a colormap if you want to each to make it appear in it's original shade as explained in http://www.mathworks.com/support/solutions/en/data/1-GNRWEH/index.html;jsessionid=523e8fb9a5651ebf4a0434578bbb but it's not really necessary and not usually done, or convert back to a color image again like Razvan did.

More Answers (1)

Razvan
Razvan on 9 Apr 2012
v contains only one color plane, so imshow(v) treats it as a grayscale image. You have there the actual red intensities.
If you want to show the image as red, you need to do something like
v = zeros(size(i));
v(:,:,1) = i(:,:,1);
imshow(v)

Community Treasure Hunt

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

Start Hunting!