⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yichuan.m

📁 把遗传算法和退火算法相结合
💻 M
字号:
close all;
clear all;

%****************************************************
%*
%*  遗传+退火算法   确定阈值
%****************************************************

data=imread('e:/watermark/use picture/64color.bmp','bmp');
dat=data(:,:,1);
figure();
imshow(dat);

%********************************************************


m=max(max(dat));
n=min(min(dat));
p=zeros(1,256);

for i=1:64
    for j=1:64
        a=dat(i,j);
        p(1,a+1)=p(1,a+1)+1;
    end
end
p=p/4096;                      % 计算各灰度级的像素百分比

for t=n:m
    w0(1,t+1)=0;
    for k=n:t
        w0(1,t+1)=w0(1,t+1)+p(1,k+1);
    end
    w1(1,t+1)=1-w0(1,t+1);
    ut(1,t+1)=0;
    b0(1,t+1)=0;
    b1(1,t+1)=0;
    for k=n:t
        ut(1,t+1)=ut(1,t+1)+k*p(1,k+1);
    end
    u0(1,t+1)=ut(1,t+1)/w0(1,t+1);
    u(1,t+1)=0;
    for k=n:m
        u(1,t+1)=u(1,t+1)+k*p(1,k+1);
    end
    u1(1,t+1)=(u(1,t+1)-ut(1,t+1))/(1-w0(1,t+1));
    for k=n:t
        b0(1,t+1)=b0(1,t+1)+(k-u0(1,t+1)).^2*p(1,k+1)/w0(1,t+1);
    end
    for k=t+1:m
        b1(1,t+1)=b1(1,t+1)+(k-u1(1,t+1)).^2*p(1,k+1)/w1(1,t+1);
    end
    tao(1,t+1)=w0(1,t+1)*(u0(1,t+1)-u(1,t+1)).^2+w1(1,t+1)*(u1(1,t+1)-u(1,t+1)).^2;  
end

for t=n:m
    if tao(1,t+1)==max(tao)
        yuzhi1=t;                             % 类间最大方值阈值分割
    end
end


%*******************************************
% 退火算法

for t=n:m
    J(1,t+1)=(abs(u0(1,t+1)-u1(1,t+1))).^2/(b0(1,t+1)+b1(1,t+1));
end
for t=n:m
    if J(1,t+1)==max(J)
        yuzhi2=t;
    end
end


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -