calobjvalue.m

来自「关于遗传算法 源代码」· M 代码 · 共 29 行

M
29
字号
% 2.2.3 计算目标函数值
% calobjvalue.m函数的功能是实现目标函数的计算
%遗传算法子程序
%Name: calobjvalue.m
%实现目标函数的计算
function [objvalue]=calobjvalue(pop)
[px,py]=size(pop);
q=imread('pic1.bmp');
q1=imread('pic3.bmp');
[py1,px1]=size(q1);
ax=decodechrom(pop,1,9);%将pop每行转化成十进制数
ay=decodechrom(pop,10,9);
for i=1:px;
    if ax(i,1)==0
       ax(i,1)=ax(i,1)+1;
   end
   if ay(i,1)==0
       ay(i,1)=ay(i,1)+1;
   end
    rect=[ax(i,1) ay(i,1) px1-1 py1-1];
    q2=imcrop(q,rect);
    [py2,px2]=size(q2);
    if (py1==py2)*(px1==px2)
    r(i,1)=corr2(q1,q2);
    objvalue(i,1)=[(r(i,1)+1)/2]^2;%计算目标函数值
    else
    objvalue(i,1)=0;
    end
end

⌨️ 快捷键说明

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