資源簡介
最小距離分類的matlab代碼
代碼片段和文件信息
function?unsupCla(inphotooutphotoweishu)
pn1=imread(inphoto);
pn1=double(pn1);
[mnz]=size(pn1);
num=weishu;
yanse(1:121:3)?=?[02550;?00255;?2552550;?2550255;?0255255;?125125125;?12500;?01250;?00125;?1251250;?1250125;?0125125];;
%%
pn2(1:m1:n1:3)=0;??????????????%定義存放分類后的文件矩陣
c_center(1:num1:z)=0;
for?p=1:z
????mx=max(max(pn1(1:m1:np)));
????mn=min(min(pn1(1:m1:np)));
????for?q=1:5
?????????c_center(pq)=(mx*q-mn*q)/(num+1)+mn;??????%即分為五類
????end
end
new_c_center(1:z1:num)=0;?????%定義存放新的類中心
A=ones(znum);???%定義存放各象元到各類中心的光譜距離
B=ones(1num);
%%
threod1=24;???%設置秩代最大次數
threod2=1;????%循環時相鄰兩次類中心最小差值
flag=0;???????%賦予秩代次數初始值
%%
while?(flag ????lenth=B;??%定義各分類象元的個數
????he=A;?????%定義存放各分類象素之和的矩陣
????for?i=1:m
????????for?j=1:n
????????????for?k=1:num
????????????%計算各象元分別到各類的光譜歐式距離
????????????distance=0;
????????????for?dis=1:z
????????????distance=distance+(pn1(ijdis)-c_center(disk))^
- 上一篇:matlab 7.1 R14sp3
- 下一篇:使用fft方法產生FGN分形高斯噪聲
評論
共有 條評論