how to count number of iterations.?

9 vues (au cours des 30 derniers jours)
Nimisha
Nimisha le 16 Déc 2014
Commenté : Adam le 16 Déc 2014
I = imread('Coins.jpg');
Id = im2double(I); % I is a uint8 grayscale image
T = 0.5*(min(Id(:)) + max(Id(:)));
deltaT = 0.01; % convergence criterion
done = false;
while done
g = Id >= T;
Tnext = 0.5*(mean(Id(g)) + mean(Id(g)));
done = abs(T - Tnext) < deltaT;
T = Tnext;
end
i want to count number of iteration for this program.! as well i want to store value of T at each iteration.!
  2 commentaires
Nimisha
Nimisha le 16 Déc 2014
I = imread('Coins.jpg');
Id = im2double(I); % I is a uint8 grayscale image
done = false;
count = 0
T = zeros(1,100); % Try to presize to something big enough to hold all iterations if you can estimate it
while done
g = Id >= T;
Tnext = 0.5*(mean(Id(g)) + mean(Id(g)));
count = count + 1;
T(count) = Tnext
end
Why we changed T.? Cant we do with previous T.?
And above is giving results as 0
Adam
Adam le 16 Déc 2014
I edited my answer below. I didn't notice the initialisation of T higher up and the >= test against it in the while loop.

Connectez-vous pour commenter.

Réponse acceptée

Adam
Adam le 16 Déc 2014
Modifié(e) : Adam le 16 Déc 2014
count = 0
newT = zeros(1,100); % Try to presize to something big enough to hold all iterations if you can estimate it
while done
g = Id >= T;
Tnext = 0.5*(mean(Id(g)) + mean(Id(g)));
count = count + 1;
newT(count) = Tnext
done = abs(T - Tnext) < deltaT;
end
Presize newT if you can come up with a sensible bounded estimate, otherwise the warning you get is likely irrelevant anyway. Your code will be a little slower, but unlikely to matter in this case.
  6 commentaires
Nimisha
Nimisha le 16 Déc 2014
Ya, This ~ sign works. Thank You very Much :)
Adam
Adam le 16 Déc 2014
No problem :)
Would have been a bit quicker if I absorbed your whole original post first time, but I was trying to just scan it for the parts relevant to the question which turned out to be a mistake!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by