




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、%遺傳算法在道路圖像閾值分割中的應(yīng)用% 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(mh.jpg); %讀入道路圖像 %A=imresize(A,0.4); B=rgb2gray(A); %灰度化 C=B; %C=imresize(B,0.
2、1); %將讀入的圖像縮小 lchrom=8; %染色體長度 popsize=10; %種群大小 cross_rate=0.7; %交叉概率 mutation_rate=0.4; %變異概率 maxgen=150; %最大代數(shù) m,n=size(C); 計(jì)算中,請(qǐng)稍等. initpop; %初始種群 for gen=1:maxgen generation; %遺傳操作 end findresult; %圖象分割結(jié)果 %輸出進(jìn)化各曲線 figure; gen=1:maxgen; plot(gen,fit(1,gen); title(最佳適應(yīng)度值進(jìn)化曲線); figure; plot(gen,yu
3、zhi(1,gen); title(每一代的最佳閾值進(jìn)化曲線); %初始化種群% function initpop() global lchrom oldpop popsize chrom C imshow(C); for i=1:popsize chrom=rand(1,lchrom); for j=1:lchrom if chrom(1,j)=5 popsize=ceil(popsize-0.03*gen); end if gen=75 %當(dāng)進(jìn)化到末期的時(shí)候調(diào)整種群規(guī)模和交叉、變異概率 cross_rate=0.3; %交叉概率 mutation_rate=0.3; %變異概率 end %
4、如果不是第一代則將上一代操作后的種群根據(jù)此代的種群規(guī)模裝入此代種群中 if gen1 t=oldpop; j=popsize1; for i=1:popsize if j=1 oldpop(i,:)=t(j,:); end j=j-1; end end %計(jì)算適度值并排序 for i=1:popsize lowsum=0; higsum=0; lownum=0; hignum=0; chrom=oldpop(i,:); c=0; for j=1:lchrom c=c+chrom(1,j)*(2(lchrom-j); end b(1,i)=c*255/(2lchrom-1); %轉(zhuǎn)化到灰度值 f
5、or x=1:m for y=1:n if C(x,y)=b(1,i) lowsum=lowsum+double(C(x,y);%統(tǒng)計(jì)低于閾值的灰度值的總和 lownum=lownum+1; %統(tǒng)計(jì)低于閾值的灰度值的像素的總個(gè)數(shù) else higsum=higsum+double(C(x,y);%統(tǒng)計(jì)高于閾值的灰度值的總和 hignum=hignum+1; %統(tǒng)計(jì)高于閾值的灰度值的像素的總個(gè)數(shù) end end end if lownum=0 u1=lowsum/lownum; %u1、u2為對(duì)應(yīng)于兩類的平均灰度值 else u1=0; end if hignum=0 u2=higsum/hig
6、num; else u2=0; end fitness(1,i)=lownum*hignum*(u1-u2)2; %計(jì)算適度值 end if gen=1 %如果為第一代,從小往大排序 for i=1:popsize j=i+1; while jfitness(1,j) tempf=fitness(1,i); tempc=oldpop(i,:); tempb=b(1,i); b(1,i)=b(1,j); b(1,j)=tempb; fitness(1,i)=fitness(1,j); oldpop(i,:)=oldpop(j,:); fitness(1,j)=tempf; oldpop(j,:)
7、=tempc; end j=j+1; end end for i=1:popsize fitness1(1,i)=fitness(1,i); b1(1,i)=b(1,i); oldpop1(i,:)=oldpop(i,:); end popsize1=popsize; else %大于一代時(shí)進(jìn)行如下從小到大排序 for i=1:popsize j=i+1; while jfitness(1,j) tempf=fitness(1,i); tempc=oldpop(i,:); tempb=b(1,i); b(1,i)=b(1,j); b(1,j)=tempb; fitness(1,i)=fitne
8、ss(1,j); oldpop(i,:)=oldpop(j,:); fitness(1,j)=tempf; oldpop(j,:)=tempc; end j=j+1; end end end %下邊對(duì)上一代群體進(jìn)行排序 for i=1:popsize1 j=i+1; while jfitness1(1,j) tempf=fitness1(1,i); tempc=oldpop1(i,:); tempb=b1(1,i); b1(1,i)=b1(1,j); b1(1,j)=tempb; fitness1(1,i)=fitness1(1,j); oldpop1(i,:)=oldpop1(j,:); f
9、itness1(1,j)=tempf; oldpop1(j,:)=tempc; end j=j+1; end end %下邊統(tǒng)計(jì)每一代中的最佳閾值和最佳適應(yīng)度值 if gen=1 fit(1,gen)=fitness(1,popsize); yuzhi(1,gen)=b(1,popsize); yuzhisum=0; else if fitness(1,popsize)fitness1(1,popsize1) yuzhi(1,gen)=b(1,popsize); %每一代中的最佳閾值 fit(1,gen)=fitness(1,popsize);%每一代中的最佳適應(yīng)度 else yuzhi(1,
10、gen)=b1(1,popsize1); fit(1,gen)=fitness1(1,popsize1); end end %精英選擇% function select() global fitness popsize oldpop temp popsize1 oldpop1 gen b b1 fitness1 %統(tǒng)計(jì)前一個(gè)群體中適應(yīng)值比當(dāng)前群體適應(yīng)值大的個(gè)數(shù) s=popsize1+1; for j=popsize1:-1:1 if fitness(1,popsize)fitness1(1,j) s=j; end end for i=1:popsize temp(i,:)=oldpop(i,:
11、); end if s=popsize1+1 if gen50 %小于50代用上一代中用適應(yīng)度值大于當(dāng)前代的個(gè)體隨機(jī)代替當(dāng)前代中的個(gè)體 for i=s:popsize1 p=rand; j=floor(p*popsize+1); temp(j,:)=oldpop1(i,:); b(1,j)=b1(1,i); fitness(1,j)=fitness1(1,i); end else if gen100 %50100代用上一代中用適應(yīng)度值大于當(dāng)前代的個(gè)體代替當(dāng)前代中的最差個(gè)體 j=1; for i=s:popsize1 temp(j,:)=oldpop1(i,:); b(1,j)=b1(1,i);
12、 fitness(1,j)=fitness1(1,i); j=j+1; end else %大于100代用上一代中的優(yōu)秀的一半代替當(dāng)前代中的最差的一半,加快尋優(yōu) j=popsize1; for i=1:floor(popsize/2) temp(i,:)=oldpop1(j,:); b(1,i)=b1(1,j); fitness(1,i)=fitness1(1,j); j=j-1; end end end end %將當(dāng)前代的各項(xiàng)數(shù)據(jù)保存 for i=1:popsize b1(1,i)=b(1,i); end for i=1:popsize fitness1(1,i)=fitness(1,i)
13、; end for i=1:popsize oldpop1(i,:)=temp(i,:); end popsize1=popsize; %交叉% function crossover() global temp popsize cross_rate lchrom j=1; for i=1:popsize p=rand; if p=2 for k=1:2:j cutpoint=round(rand*(lchrom-1); f=k; for i=1:cutpoint temp(a(1,f),i)=parent(f,i); temp(a(1,f+1),i)=parent(f+1,i); end fo
14、r i=(cutpoint+1):lchrom temp(a(1,f),i)=parent(f+1,i); temp(a(1,f+1),i)=parent(f,i); end end end %變異% function mutation() global popsize lchrom mutation_rate temp newpop oldpop sum=lchrom*popsize; %總基因個(gè)數(shù) mutnum=round(mutation_rate*sum); %發(fā)生變異的基因數(shù)目 for i=1:mutnum s=rem(round(rand*(sum-1),lchrom)+1; %確
15、定所在基因的位數(shù) t=ceil(round(rand*(sum-1)/lchrom); %確定變異的是哪個(gè)基因 if tpopsize t=popsize; end if slchrom s=lchrom; end if temp(t,s)=1 temp(t,s)=0; else temp(t,s)=1; end end for i=1:popsize oldpop(i,:)=temp(i,:); end %查看結(jié)果% function findresult() global maxgen yuzhi m n C B A result=floor(yuzhi(1,maxgen) %result為最佳閾值 C=B; %C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣東省惠州市惠城區(qū)中考數(shù)學(xué)二模試卷(含答案)
- 財(cái)務(wù)會(huì)計(jì)入門實(shí)操指南
- 高等土力學(xué):本構(gòu)模型
- 2025年android自學(xué)視頻!一起看看這些大廠面試真題查漏補(bǔ)缺吧分享一點(diǎn)面試小經(jīng)驗(yàn)
- 2023-2024學(xué)年山西省長治市部分學(xué)校高二下學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 2025屆河南省許昌、平頂山、汝州名校高三二模語文試題(解析版)
- 2025屆福建省高三模擬練習(xí)聯(lián)合檢測語文試題(解析版)
- 2024屆湖南省益陽市七校高三下學(xué)期第二次模擬考試語文試題(解析版)
- 2024-2025學(xué)年浙江省湖州市高二上學(xué)期期末考試語文試題(解析版)
- 2024-2025學(xué)年山西省晉城市部分學(xué)校高二下學(xué)期開學(xué)檢測語文試題(解析版)
- 2022年女性精致美學(xué)白皮書
- 事業(yè)單位招聘考試《工程建設(shè)管理專業(yè)知識(shí)》真題匯總及答案【含解析】
- 文獻(xiàn)整理表格
- DBJ∕T 13-261-2017 福建省二次供水不銹鋼水池(箱)應(yīng)用技術(shù)規(guī)程
- GB∕T 16422.3-2022 塑料 實(shí)驗(yàn)室光源暴露試驗(yàn)方法 第3部分:熒光紫外燈
- 中國歷史地理復(fù)習(xí)資料
- 05示例:玉米脫粒機(jī)的設(shè)計(jì)(含全套CAD圖紙)
- 冷庫項(xiàng)目施工組織設(shè)計(jì)方案
- 年中總結(jié)會(huì)策劃方案
- (最新)污水處理池施工方案
- 肺膿腫護(hù)理查房ppt課件
評(píng)論
0/150
提交評(píng)論