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.

 采纳的回答

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

3 个评论

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.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Image Filtering and Enhancement 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by