how to count number of iterations.?

9 次查看(过去 30 天)
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 个评论
Nimisha
Nimisha 2014-12-16
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 2014-12-16
I edited my answer below. I didn't notice the initialisation of T higher up and the >= test against it in the while loop.

请先登录,再进行评论。

采纳的回答

Adam
Adam 2014-12-16
编辑:Adam 2014-12-16
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 个评论
Nimisha
Nimisha 2014-12-16
Ya, This ~ sign works. Thank You very Much :)
Adam
Adam 2014-12-16
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!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by