Marking pixels above a certain value

10 次查看(过去 30 天)
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?

采纳的回答

James Tursa
James Tursa 2016-4-8
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 个评论
Trn
Trn 2016-4-10
This works. Thanks! Could you shortly explain what it does exactly?
rashi
rashi 2018-3-1
1,1,3 means three dimensional right. But from where do three dimensions come here..? Thanks.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by