separate the red part of imge

19 views (last 30 days)
PK on 6 Oct 2016
Commented: Image Analyst on 6 Oct 2016
I have an red flower image with green leaf. I want to separate only red flower. How can I do? Please help!

Accepted Answer

Matthew Eicholtz
Matthew Eicholtz on 6 Oct 2016
Edited: Matthew Eicholtz on 6 Oct 2016
A naive approach would be to extract "red" colors from the image:
I = imread('peppers.png');
R = I(:,:,1);
G = I(:,:,2);
B = I(:,:,3);
% Here I am naively defining "red" as the red layer being greater than
% some threshold and the blue and green layers being less than that threshold
thold = 100;
mask = R>thold & G<thold & B<thold;
R(~mask) = 255;
G(~mask) = 255;
B(~mask) = 255;
J = cat(3,R,G,B);
figure; montage(cat(4,I,J),'Size',[1 2]);
More advanced approaches exists (google "image segmentation"). For instance, see the MATLAB example for color-based segmentation using k-means clustering.
Image Analyst
Image Analyst on 6 Oct 2016
The Color thresholder app, like I recommended, will tell you those.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 6 Oct 2016
Use the Color Thresholder on the Apps tab of the toolbar ribbon.
Or else see my File Exchange for several color segmentation demos.

Community Treasure Hunt

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

Start Hunting!

Translated by