www.gusucode.com > 马尔可夫随机场(MRF)变化检测MATLAB源码 > 马尔可夫随机场(MRF)变化检测MATLAB源码/MRF/zuixiaocuofen.m

    %————基于最小错分概率的遥感影像变化检测方法——————
%————首先利用差影法取出差值影像,利用最小错——————
%————分概率的计算方式计算变化阀值,提取出重——————
%————要的变化区域,最后采用去噪扫描和形态学——————
%————的方式剔除噪声带来的虚假变化。——————————
function c=zuixiaocuofen(Y)
bianhua=Y;
%%%%%%%%%%%%%%%%%%%%阀值提取%%%%%%%%%
[hang,lie]=size(Y);
%%%%%%%%%%%%%%%%%%%%阀值提取%%%%%%%%%
bianhua1=im2uint8(mat2gray(bianhua));
tt=zeros(256,1);
chazhi0=10;
for T=10:200; 
    window1=(bianhua1<=T);
    window2=(bianhua1>T);
    bubian_geshu=sum(sum(window1));
    bianhua_geshu=sum(sum(window2));
    bubian_mean=sum(sum(double(bianhua1).*window1))/bubian_geshu;
    bianhua_mean=sum(sum(double(bianhua1).*window2))/bianhua_geshu;
    b_mean=sum(sum(bianhua1))/(hang*lie);
    b_fangcha=sum(sum((bianhua1-b_mean).^2))/(hang*lie-1);
    bian_bili=bianhua_geshu/(hang*lie);
    tt(T+1,1)=(bianhua_mean+bubian_mean)/2+(b_fangcha/(bianhua_mean-bubian_mean))*log(bian_bili/(1-bian_bili));
    chazhi=abs(tt(T+1,1)-T);
    if chazhi<chazhi0;
        fazhi=T;
        chazhi0=chazhi;
    end
end;
c=fazhi;
end