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.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 20 de Mzo. de 2011
locations = YourImage(:,:,1) > 120 & YourImage(:,:,2) > 115 & YourImage(:,:,3) > 118;
YourImage(repmat(locations,1,1,3)) = 0;

3 comentarios

Niranjan
Niranjan el 20 de Mzo. de 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; ???
Walter Roberson
Walter Roberson el 20 de Mzo. de 2011
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 el 20 de Mzo. de 2011
oh thanks :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Community Treasure Hunt

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

Start Hunting!

Translated by