while ~done % done 为假继续迭代
g = f>=T; % 求 f 中 >= 平均灰度值的逻辑矩阵
Tn = (mean(f(g))+mean(f(~g)))/2; % 将 >= 灰度值平均加上 < 灰度值,除2(再平均)
done = abs(T-Tn)<0.1; % 将刚求得的平均值与原平均值相减取绝对值,<0.1 done为真
T = Tn; % 将新平均值赋予原平均值
end
追问还有一点不明白,请问g是一个只有0和1的矩阵吗?f(g)又表示什么?
追答g 是逻辑矩阵,只有 0 和 1,但是其行列位置是和 f 一一对应的
所以 f(g) 就会取出所有 1 对应的灰度值(0 值对应的忽略)
本回答被提问者采纳