Marking pixels above a certain value

10 views (last 30 days)
Trn
Trn on 8 Apr 2016
Commented: rashi on 1 Mar 2018
Hello. I have a problem.Let's say we have an image called img1 and I want to do the following two things (without loops):
"1. Create logical image where every pixel is marked that has a green channel which is greater or equal 0.5. The result should be stored in mark_green."
"2. Set all pixels in the original image (the double image from step 2) to black where _mark_green is true. Store the result in image_masked. Use repmat to complete this task."
Any ideas?

Accepted Answer

James Tursa
James Tursa on 8 Apr 2016
Hint for the 1st part,
G = (insert code here to pick off the green plane)
mark_green = G >= 0.5; % the marked pixels
For the 2nd part, repmat ~mark_green so that it can be used for all of the color planes. You might want to .* the result with your image.
Give it a try, and then post your code if you have problems and need specific advice.
  4 Comments
Trn
Trn on 10 Apr 2016
This works. Thanks! Could you shortly explain what it does exactly?
rashi
rashi on 1 Mar 2018
1,1,3 means three dimensional right. But from where do three dimensions come here..? Thanks.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!