基于模糊理论的图像分割算法研究(11)
作者:佚名; 更新时间:2014-12-05
(scale));

lb(scale) = log( abs(lb(scale)) );

ub(scale) = log( abs(ub(scale)) );

delta = ub - lb;

Prec = .5 .^ len;

num = (~lin) .* Prec;

den = (lin + uin - 1) .* Prec;

for i = 1:Nvar,

    idx = li(i):lf(i);

    if code(i) % Gray decoding

           Chrom(:,idx)=rem(cumsum(Chrom(:,idx)')',2);

    end

    Phen(:,i) = Chrom(:,idx) * [ (.5).^(1:len(i))' ];

    Phen(:,i) = lb(i) + delta(i) * (Phen(:,i) + num(i)) ./ (1 - den(i));

end

expand = ones(Nind,1);

if any(scale)

       Phen(:,scale) = logsgn(expand,:) .* exp(Phen(:,scale));

end

附录 四

适应度函数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

附录 五

选择函数Select源代码:(由谢菲尔德大学Hartmut Pohlheim编写)

% SELECT.M          (universal SELECTion)

%

% This function performs universal selection. The function handles

% multiple populations and calls the low level selection function

% for the actual selection process.

%

% Syntax:  SelCh = select(SEL_F, Chrom, FitnV, GGAP, SUBPOP)

%

% Input parameters:

%    SEL_F     - Name of the selection function

%    Chrom     - Matrix containing the individuals (parents) of the current

%                population. Each row corresponds to one individual.

%    FitnV     - Column vector containing the fitness values of the

%                individuals in the population.

%    GGAP      - (optional) Rate of individuals to be selected

%                if omitted 1.0 is assumed

%    SUBPOP    - (optional) Number of subpopulations

%                if omitted 1 subpopulation is assumed

%

% Output parameters:

%    SelCh     - Matrix containing the selected individuals.

% Author:     Hartmut Pohlheim

% History:    10.03.94     file created

function SelCh = select(SEL_F, Chrom, FitnV, GGAP, SUBPOP);

% Check parameter consistency

   if nargin < 3, error('Not enough input parameter'); end

   % Identify the population size (Nind)

   [NindCh,Nvar] = size(Chrom);

   [NindF,VarF] = size(FitnV);

   if NindCh ~= NindF, error('Chrom and FitnV disagree'); end

   if VarF ~= 1, error('FitnV must be a column vector'); end

   if nargin < 5, SUBPOP = 1; end

   if nargin > 4,

      if isempty(SUBPOP), SUBPOP = 1;

      elseif isnan(SUBPOP), SUBPOP = 1;

      elseif length(SUBPOP) ~= 1, error('SUBPOP must be a scalar'); end

   end

   if (NindCh/SUBPOP) ~= fix(NindCh/SUBPOP), error('Chrom and SUBPOP disagree'); end

   Nind = NindCh/SUBPOP;  % Compute number of individuals per subpopulation

   if nargin < 4, GGAP = 1; end

   if nargin > 3,

      if isempty(GGAP), GGAP = 1;

      elseif isnan(GGAP), GGAP = 1;

      elseif length(GGAP) ~= 1, error('GGAP must be a scalar');

      elseif (GGAP < 0), error('GGAP must be a scalar bigger than 0'); end

   end

% Compute number of new individuals (to select)

   NSel=max(floor(Nind*GGAP+.5),2);

% Select individuals from population

   SelCh = [];

   for irun = 1:SUBPOP,

      FitnVSub = FitnV((irun-1)*Nind+1:irun*Nind);

      ChrIx=feval(SEL_F, FitnVSub, NSel)+(irun-1)*Nind;

      SelCh=[SelCh; Chrom(ChrIx,:)];

   end

 

% End of function

附录 六

交叉函数recombin的源代码:(由谢菲尔德大学Hartmut Pohlheim编写)

% RECOMBIN.M       (RECOMBINation high-level function)

%

% This function performs recombination between pairs of individuals

% and returns the new individuals after mating. The function handles

% multiple populations and calls the low-level recombination function

% for the actual recombination process.

%

% Syntax:  NewChrom = recombin(REC_F, OldChrom, RecOpt, SUBPOP)

%

% Input parameters:

%    REC_F     - String containing the name of the recombination or

%                crossover function

%    Chrom     - Matrix containing the chromosomes of the old

%                population. Each line corresponds to one individual

核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com