fitness.m

来自「用matlab编写的采用遗传算法进行图像分割的一个程序」· M 代码 · 共 33 行

M
33
字号
 function [eval1]=fitness(x,popsize,stringlength)
%      A=imread('pout.tif');
%      load woman;
%      A=imread('blood1.tif');
      A=imread('rice.tif');
% my=imread('mysaturn.tif');
% A=wiener2(my,[5 5]);
%      a=imread('mytu.tif');
%      A=rgb2gray(a);
     count=imhist(A);
     [m,n]=size(A);
     N=m*n;
     L=256;
     count=count/N;     %各个灰度级出现的概率
     eval1=zeros(popsize,1);

     u=0;
     for j=1:L
         u=u+count(j)*j;   %图像的平均灰度
     end
     
     w=0;ua=0;	

     for j=1:x           
         w=w+count(j);        % 区域1出现的概率
         ua=ua+count(j)*j;    % 区域1的平均灰度
     end
     if (w==0)|(w==1)
         eval1=0;
     else
         eval1=(u*w-ua)^2/(w*(1-w));
     end

⌨️ 快捷键说明

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