
1 简介图像阈值分割技术在图像分析和图像识别中有着非常重要的意义。目前,现有的阈值分割算法在实际的应用领域中都存在各种各样的问题,诸如耗时性,目标的轮廓模糊,或者重要细节被忽视掉等等。本文针对这些问题展开一系列研究,选取了阈值分割法中经典的最大类间方差(Otsu)算法作为中心点展开研究。为了进一步克服Otsu算法的用时长,本文结合遗传算法及其特点,将遗传算法用于Otsu的图像分割方法中对阈值进行寻优,加快了算法的收敛速度。实验结果表明,本算法具有良好的实时性、分割效果好的特点2 部分代码%%%%%%%%%%%%%%%%遗传算法在道路图像阈值分割中的应用%%%%%%%%%%%%function main()clear allclose allclcglobal chrom oldpop fitness lchrom popsize cross_rate mutation_rate yuzhisumglobal maxgen m n fit gen yuzhi A B C oldpop1 popsize1 b b1 fitness1 yuzhi1Aimread(1.jpg); %读入道路图像Aimresize(A,0.4);Brgb2gray(A); %灰度化Cimresize(B,0.1); %将读入的图像缩小lchrom8; %染色体长度popsize10; %种群大小cross_rate0.7; %交叉概率mutation_rate0.4; %变异概率%%%%%%%%%%%%%%%%%%%%%%%%%变异%%%%%%%%%%%%%%%%%%%%%function mutation()global popsize lchrom mutation_rate temp newpop oldpopsumlchrom*popsize; %总基因个数mutnumround(mutation_rate*sum); %发生变异的基因数目for i1:mutnumsrem((round(rand*(sum-1))),lchrom)1; %确定所在基因的位数tceil((round(rand*(sum-1)))/lchrom); %确定变异的是哪个基因if t1t1;endif tpopsizetpopsize;endif slchromslchrom;endif temp(t,s)1temp(t,s)0;elsetemp(t,s)1;endendfor i1:popsizeoldpop(i,:)temp(i,:);end%%%%%%%%%%%%%%%%%%%%%%查看结果%%%%%%%%%%%%%%%%%%%%function findresult()global maxgen yuzhi m n C B Aresultfloor(yuzhi(1,maxgen)) %result为最佳阈值Cimresize(B,0.3);imshow(A);title(原始道路图像)figure;subplot(1,2,1)imshow(C);title(原始道路的灰度图)[m,n]size(C);%用所找到的阈值分割图象for i1:mfor j1:nif C(i,j)resultC(i,j)0;elseC(i,j)255;endendendsubplot(1,2,2)imshow(C);title(阈值分割后的道路图);3 仿真结果4 参考文献[1]周爱霞, 李春贵, 陶佳伟. 基于遗传算法的图像阈值分割的研究[C]// 广西计算机学会2015年学术年会论文集. 2015.部分理论引用网络文献若有侵权联系博主删除。