フィルターのクリア

threshold values

6 ビュー (過去 30 日間)
Sivakumaran Chandrasekaran
Sivakumaran Chandrasekaran 2012 年 5 月 22 日
回答済み: Neesha Sahl 2019 年 4 月 3 日
My threshold value=0.9
If the pixel value is less than 0.9, I have to set it to zero...
else set it to 255.
What command should be used for this

回答 (4 件)

the cyclist
the cyclist 2012 年 5 月 22 日
Does this do what you want?
p = 255*(p>=0.9);
  3 件のコメント
Image Analyst
Image Analyst 2012 年 5 月 22 日
Assuming p is your image array, it does match your requirement. If it doesn't you need to say why not, because then there would be something you didn't tell us. In your original question you did NOT say anything about "finding" a threshold value - you said that it was 0.9.
Geoff
Geoff 2012 年 5 月 22 日
+1 : this does exactly what you have requested, but you might not understand why. The call (p>=0.9) returns an array of 0 or 1: 0 if the value is less than 0.9 and 1 otherwise. By multiplying by 255, this achieves your two tasks (set to zero or set to 255) simultaneously. Did you actually try it?

サインインしてコメントする。


Ricky
Ricky 2012 年 5 月 22 日
you could try this:
p = 255;
i = find(p < 0.9);
p(i) = 0;
  1 件のコメント
Geoff
Geoff 2012 年 5 月 22 日
This code will turn the image into a single value (255), and then do a find which will fail, rendering the last two lines of code pointless.

サインインしてコメントする。


Sivakumaran Chandrasekaran
Sivakumaran Chandrasekaran 2012 年 5 月 30 日
Hi, Thanks all for guiding me

Neesha Sahl
Neesha Sahl 2019 年 4 月 3 日
Can someone explain to me threshold values in simple English? Such as why I need to set a threshold value when I am running Optical Flow and how to pick the best threshold value.

Community Treasure Hunt

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

Start Hunting!

Translated by