?? yj10.m
字號:
load woman %調用MATLAB中Woman圖像灰度值
figure(1); %畫圖
image(X);colormap(map);
NIND=40; %個體數目(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(X,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(X,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(X);
for i=1:m
for j=1:n
if X(i,j)>M %灰度值大于域值時是白色
X(i,j)=256;
end
end
end
figure(2) %畫出分割后目標圖像
image(X);colormap(map);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -