b8a8ff2bc6
实现内容: - 网格划分:投影分析 + 自相关估周期 + 白顶帽去背景 + 质心提取 - 三种阈值分割:人工阈值、Otsu自动阈值、迭代阈值 - TV去噪(Chambolle投影算法) - 后处理:去小连通域 + 保留最大连通域 - 完整可视化:网格叠加、阈值对比、收敛曲线、分割结果 参考MATLAB代码:NewGridAndCV/demo_GriddingAndCV.m
38 lines
811 B
Matlab
38 lines
811 B
Matlab
function indicator = checkstop(old,new,dt)
|
|
% indicate whether we should performance further iteraions or stop
|
|
|
|
% Copyright (c) 2009,
|
|
% Yue Wu @ ECE Department, Tufts University
|
|
% All Rights Reserved
|
|
|
|
layer = size(new,3);
|
|
|
|
for i = 1:layer
|
|
old_{i} = old(:,:,i);
|
|
new_{i} = new(:,:,i);
|
|
end
|
|
|
|
if layer
|
|
ind = find(abs(new)<=.5);
|
|
M = length(ind);
|
|
Q = sum(abs(new(ind)-old(ind)))./M;
|
|
if Q<=dt*.18^2
|
|
indicator = 1;
|
|
else
|
|
indicator = 0;
|
|
end
|
|
else
|
|
ind1 = find(abs(old_{1})<1);
|
|
ind2 = find(abs(old_{2})<1);
|
|
M1 = length(ind1);
|
|
M2 = length(ind2);
|
|
Q1 = sum(abs(new_{1}(ind1)-old_{1}(ind1)))./M1;
|
|
Q2 = sum(abs(new_{2}(ind2)-old_{2}(ind2)))./M2;
|
|
if Q1<=dt*.18^2 && Q2<=dt*.18^2
|
|
indicator = 1;
|
|
else
|
|
indicator = 0;
|
|
end
|
|
end
|
|
return
|