91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 724KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-08
  • 語言: Matlab
  • 標簽: 圖像分割??matlab??

資源簡介

應用matlab設計的道路圖像分割程序,包含程序和實驗圖像,采用方法為遺傳算法

資源截圖

代碼片段和文件信息

%%%%%%%%%%%%%%%%遺傳算法在道路圖像閾值分割中的應用%%%%%%%%%%%%
function?main()
clear?all
close?all
clc
global?chrom?oldpop?fitness?lchrom??popsize?cross_rate?mutation_rate?yuzhisum
global?maxgen??m?n?fit?gen?yuzhi?A?B?C?oldpop1?popsize1?b?b1?fitness1?yuzhi1
A=imread(‘1.jpg‘);?????%讀入道路圖像
A=imresize(A0.4);
B=rgb2gray(A);?????????%灰度化
C=imresize(B0.1);?????%將讀入的圖像縮小
lchrom=8;??????????????%染色體長度
popsize=10;????????????%種群大小
cross_rate=0.7;????????%交叉概率
mutation_rate=0.4;?????%變異概率
maxgen=150;????????????%最大代數
[mn]=size(C);
‘計算中請稍等...‘
initpop;????%初始種群
for?gen=1:maxgen
????generation;??%遺傳操作
end
findresult;?%圖象分割結果
%%%輸出進化各曲線
figure;
gen=1:maxgen;
plot(genfit(1gen));?
title(‘最佳適應度值進化曲線‘);
figure;
plot(genyuzhi(1gen));
title(‘每一代的最佳閾值進化曲線‘);
%%%%%%%%%%%%%%%%%%%初始化種群%%%%%%%%%%%%%%%%%%%%
function?initpop()
global?lchrom?oldpop?popsize?chrom?C
imshow(C);
for?i=1:popsize
????chrom=rand(1lchrom);
????for?j=1:lchrom
????????if?chrom(1j)<0.5
????????????chrom(1j)=0;
???????else?
???????????chrom(1j)=1;
????????end
????end
????oldpop(i1:lchrom)=chrom;????
end

%%%%%%%%%%%%%%%%%產生新一代個體%%%%%%%%%%%%%%%%%%%%%%
function?generation()
fitness_order;??????????????????%計算適應度值及排序
select;?????????????????????????%選擇操作
crossover;??????????????????????%交叉
mutation;???????????????????????%變異
%%%%%%%%%%%%%%%%%計算適度值并且排序%%%%%%%%%%%%%%%%%%%
function?fitness_order()
global?lchrom?oldpop?fitness?popsize?chrom?fit?gen?C?m?n??fitness1?yuzhisum
global?lowsum?higsum?u1?u2?yuzhi?gen?oldpop1?popsize1?b1?b?yuzhi1?
if?popsize>=5
????popsize=ceil(popsize-0.03*gen);
end
if?gen==75?????%當進化到末期的時候調整種群規模和交叉、變異概率
????cross_rate=0.3;????????%交叉概率
????mutation_rate=0.3;?????%變異概率
end
%如果不是第一代則將上一代操作后的種群根據此代的種群規模裝入此代種群中
if?gen>1???
????t=oldpop;
????j=popsize1;
????for?i=1:popsize
????????if?j>=1
????????????oldpop(i:)=t(j:);
????????end
????????j=j-1;
????end
end
%計算適度值并排序
for?i=1:popsize
????lowsum=0;
????higsum=0;
????lownum=0;
????hignum=0;
????chrom=oldpop(i:);
????c=0;
????for?j=1:lchrom
????????c=c+chrom(1j)*(2^(lchrom-j));
????end
????b(1i)=c*255/(2^lchrom-1);??%轉化到灰度值????????
????for?x=1:m
????????for?y=1:n
????????????if?C(xy)<=b(1i)
????????????????lowsum=lowsum+double(C(xy));%統計低于閾值的灰度值的總和
????????????????lownum=lownum+1;?%統計低于閾值的灰度值的像素的總個數
????????????else
????????????????higsum=higsum+double(C(xy));%統計高于閾值的灰度值的總和
????????????????hignum=hignum+1;?%統計高于閾值的灰度值的像素的總個數
????????????end
????????end
????end
????if?lownum~=0
????????u1=lowsum/lownum;?%u1、u2為對應于兩類的平均灰度值
????else
????????u1=0;
????end
????if?hignum~=0
????????u2=higsum/hignum;
????else
????????u2=0;
????end???
????fitness(1i)=lownum*hignum*(u1-u2)^2;?%計算適度值
end
if?gen==1?%如果為第一代,從小往大排序
????for?i=1:popsize
????????j=i+1;
????????while?j<=popsize
????????????if?fitness(1i)>fitness(1j)
????????????????tempf=fitness(1i);
????????????????tempc=oldpop(i:);
????????????????tempb=b(1i);
????????????????b(

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????493775??2005-10-25?15:56??2.jpg

?????文件???????8414??2007-07-13?15:11??maingaelit.m

?????文件?????251936??2000-01-06?22:43??1.JPG

-----------?---------??----------?-----??----

???????????????754125????????????????????3


評論

共有 條評論