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

📄 mainprog.m

📁 人脸定位的MATLAB源程序
💻 M
字号:
%遗传算法主程序
%Name:genmain05.m
clear
q=imread('pic1.bmp'); %导入图像
q1=imread('pic.bmp');
[px1,py1]=size(q1);
popsize=100; %设置初始参数,群体大小
chromlength=16; %字符串长度(个体长度),染色体长度
pc=0.6; %设置交叉概率
pm=0.1; %设置变异概率
pop=initpop(popsize,chromlength); %运行初始化函数,随机产生初始群体
dai=200;
for i=1:dai%20为迭代次数
[objvalue]=calobjvalue(pop);%计算目标函数
fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度
[newpop]=selection(pop,fitvalue); %复制
[newpop]=crossover(newpop,pc); %交叉
[newpop]=mutation(newpop,pm);%变异
[bestindividual,bestfit]=best(pop,fitvalue);%求出群体中适应值最大的个体及其适应值
c(i)=max(bestfit);
n(i)=i;
pop5=bestindividual;
x1(i)=decodechrom(pop5,1,8);
y1(i)=decodechrom(pop5,9,8);
pop=newpop;
end
z=[c
   x1
   y1];
x=z(2,1);
y=z(3,1);
r=z(1,1);
for i=2:dai
    if z(1,i)>r
        x=z(2,i);
        y=z(3,i);
        r=z(1,i);
    end
end
bx=[x x+py1-1 x+py1-1 x];
by=[y y y+3*px1-1 y+3*px1-1];
BW=roipoly(q,bx,by);
bx1=[x-1 x+py1 x+py1 x-1];
by1=[y-1 y-1 y+3*px1 y+3*px1];
BW1=roipoly(q,bx1,by1);
BW2=BW1-BW;
q3=double(q)/255;
Q=q3+BW2;
figure,imshow(Q)

⌨️ 快捷键说明

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