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

📄 sa1.m

📁 模拟退火算法进行图像配准算法的研究
💻 M
字号:
tic
I = imread('cameraman.jpg');
H=imrotate(I,3,'bilinear','crop');
H=rgb2gray(H);
I=rgb2gray(I);
I=double(I);
H=double(H);
fw=mean2(abs(H-I));
fb=0;
p=0.8;
t0=-(fw-fb)/log(p);
n=5;
nn=n*n;
nge=60;
ee=zeros(nn,1);
a=zeros(nn,1);
JIAO=zeros(nn,1);
JIAO(1:nn)=5*rand(nn,1);
JIAO((nn+1)/2)=5;
JIAO(1,1)=5*rand(1);
JIAOnew=zeros(nn,1);
E=zeros(nn,1);
Enew=zeros(nn,1);
T=zeros(nge,1);
T(1,1)=t0;
Th=H;
Ti=I;
for l=1:nn  
   [EEE,E(l,1)]=mubiao(Th,Ti,JIAO(l,1));
end
JIAOnew=JIAO;
Enew=E;
Thnew=H;
Tinew=I;

for k=1:nn-1
   a(k,1)=newstate(JIAO(k,1),E(k,1));   %a为产生的新状态
   [eee,ee(k,1)]=mubiao(Th,Ti,a(k,1));  %ee为产生的新状态的目标函数
   chaEE(k,1)=ee(k,1)-E(k,1);           %对JIAO,E进行平移移位
   if chaEE(k,1)<=0|exp(-chaEE(k,1)/T(1,1))>=rand(1) %如条件满足对JIAO,E进行平移移位
       JIAOnew(k+1,1)=a(k,1);Enew(k+1,1)=ee(k,1);
       JIAO=JIAOnew;E=Enew;
   elseif chaEE(k,1)>0
       JIAOnew=JIAO;Enew=E;
      end
    end
[min,imin]=min(Enew(:));
[xpeak,ypeak]=ind2sub(size(Enew),imin(1));
E(1,1)=Enew(xpeak,ypeak);
JIAO(1,1)=JIAOnew(xpeak,ypeak);
M(1,1)=E(1,1);
N(1,1)=JIAO(1,1);
toc

       
    

⌨️ 快捷键说明

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