Separating particular pixels based on RGB value

I want to separate a group of pixels in an image which have RGB greater than [120 115 118 ] . How can I do it? The pixels having RGB values above the mentioned ones must appear in black color.How to do it? Thanks in advance.

 Réponse acceptée

locations = YourImage(:,:,1) > 120 & YourImage(:,:,2) > 115 & YourImage(:,:,3) > 118;
YourImage(repmat(locations,1,1,3)) = 0;

3 commentaires

Niranjan
Niranjan le 20 Mar 2011
I am getting this error when I use it
??? Error using ==> repmat
Too many input arguments.
Error in ==> xxx at 8
I(repmat(locations,1,1,3)) = 0;
Should I fix the code as
I(repmat(locations,[1,1,3]) = 0; ???
Yes, that should work if you are using an old version of Matlab. Matlab has accepted the extended version for several years now.
Niranjan
Niranjan le 20 Mar 2011
oh thanks :)

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by