计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于模糊理论的图像分割算法研究(13)

2013-07-28 01:28
导读:数目(Number of individuals) MAXGEN=50; %最大遗传代数(Maximum number of generations) PRECI=8; %变量的二进制位数(Precision of variables) GGAP=0.9; %代沟(Generation gap) FieldD=[8;1;256
数目(Number of individuals)

MAXGEN=50;                        %最大遗传代数(Maximum number of generations)

PRECI=8;                                  %变量的二进制位数(Precision of variables)

GGAP=0.9;                                                       %代沟(Generation gap)

FieldD=[8;1;256;1;0;1;1];                        %建立区域描述器(Build field descriptor)

Chrom=crtbp(NIND,PRECI);                                         %创建初始种群

gen=0;   

phen=bs2rv(Chrom,FieldD);                                    %初始种群十进制转换

ObjV=target(Z,phen);                                           %计算种群适应度值

while gen<MAXGEN                                                %代沟(Generation gap)

    FitnV=ranking(-ObjV);                        %分配适应度值(Assign fitness values)

    SelCh=select('sus',Chrom,FitnV,GGAP);                                    %选择

    SelCh=recombin('xovsp',SelCh,0.7);                                        %重组

    SelCh=mut(SelCh);                                                     %变异

    phenSel=bs2rv(SelCh,FieldD);                                  %子代十进制转换

    ObjVSel=target(Z,phenSel);

    [Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);                      %重插入

    gen=gen+1;

end

[Y, I]=max(ObjV);

M=bs2rv(Chrom(I,:),FieldD);                                             %估计域值

[m, n]=size(Z);

for i=1:m

    for j=1:n

        if Z(i,j)>M                                      %灰度值大于域值时是白色

            Z(i,j)=256;

        end

    end

end

figure(4)                                                    %画出分割后目标图像

image(Z),title('分割后图像');colormap(map1);

target求适应度函数代码:

function f=target(T,M)                     %适应度函数,T为待处理图像,M为域值序列

[U, V]=size(T);

W=length(M);

f=zeros(W,1);

for k=1:W

    I=0;s1=0;J=0;s2=0;                     %目标图像和背景图像的像素数及像素之和

    for i=1:U

        for j=1:V

            if T(i,j)<=M(k)

                s1=s1+T(i,j);I=I+1;

            end

            if T(i,j)>M(k)

                s2=s2+T(i,j);J=J+1;

            end

        end

    end

    if I==0,  p1=0;  else p1=s1/I; end

    if J==0,  p2=0;  else p2=s2/J; end

    f(k)=I*J*(p1-p2)*(p1-p2)/(256*256);

end;

上一篇:计算机多媒体技术应用分析 下一篇:没有了