This proggram is for thresholding :

[n,m]=size(a);
abin=zeros(n,m);
thresh = 90;
for i=1:n
for j=1:m
if (a(i,j)>thresh)
abin(i,j)=0;
else
abin(i,j)=1;
end
end
end
Why, in another example, did I find thresh = 0.1 ( 0 < thresh < 1 )? What's the difference? Thanks

Answers (1)

I'll fix your formatting this time for you but for next time, read this link
The answer is because the other program wanted 0.1 for a threshold - because they were using a floating point image - and you decided to use 90 because you probably have a uint8 integer image. HOW you go the 90, I don't know, but you can do your whole program more simply with just 2 lines:
thresh = 90;
abin = a <= thresh;
Everything else you have is unnecessary or overly complicated.

This question is closed.

Asked:

on 24 Feb 2018

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!