Matlab程序代码
function [seg]=MRMRF(w,class_number,potential,maxIter)
%MRMRF
图像分割算法
%w-
待分解图像的多尺度序列
%class_number-
分类数
%potential-potts
模型势函数
%maxIter-
最大迭代次数
%
多分辨率表达的尺度数
L=size(w,1);
%
分割结果的多尺度序列
seg=cell(L,1);
%
使用ICM算法计算最高尺度的分割结果
seg{
L
}=ICM(w{
L
},class_number,potential,maxIter);
%
计算其他尺度的分割结果
for
n=(L-1):-1:1
%
获取初始分割结果
segn=myZoomOut(seg{
n+1
});
%
获取尺度n上的最终分割结果
wn=w{
n
};
segn=ICMn(wn,segn,class_number,potential,maxIter);
%
保存尺度n上的分割结果
seg{
n
}=segn;
end
end
function [seg]=ICMn(image,