-
大小: 25KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-09
- 語言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
用于對(duì)遙感圖像進(jìn)行監(jiān)督分類,貝葉斯分類器, 用于對(duì)遙感圖像進(jìn)行監(jiān)督分類, 用于對(duì)遙感圖像進(jìn)行監(jiān)督分類, 用于對(duì)遙感圖像進(jìn)行監(jiān)督分類, 用于對(duì)遙感圖像進(jìn)行監(jiān)督分類

代碼片段和文件信息
#include
#include
#include
#include
#include
const?float?PI=3.1415;
float?train1[60][3]train2[60][3]train3[60][3]train4[60][3];??????????//存各類訓(xùn)練樣本????????
float?m1[3]m2[3]m3[3]m4[3]c1[3][3]c2[3][3]c3[3][3]c4[3][3];?????//各類均值向量及協(xié)方差矩陣
float?p=0.25;??????????????????????????????//先驗(yàn)概率
float?test[240][11];???????????????????????//檢驗(yàn)樣本??各列分別存放:分類前類別,行號(hào),列號(hào),一波段灰度,二波段灰度,三波段灰度,分類后類別
float?a1a2a3a4;?????????????????????????//公式中常數(shù)項(xiàng);
float?qqqq1qq2qq3qq4;??????????????????//分類精度???
float?k;???????????????????????????????????//kappa值
int?q[4][4];???????????????????????????????//混淆矩陣
float?a[4][4];?????????????????????????????//精度指標(biāo)矩陣?各列分別為生產(chǎn)者精度?漏分誤差
???????????????????????????????????????????//用戶精度?錯(cuò)分誤差
int?main()
{???
void?getdata1(char?*filename);
void?getdata2(char?*filename);
????void?compute(float?train[60][3]float?m[3]float?c[3][3]float?*a);
float?identify(float?m[3]float?c[3][3]float?afloat?band1float?band2float?band3);
int?classify(float?p1float?p2float?p3float?p4);
????void?testing();
void?accuracy(float?p[4][4]);
void?output(char?*filename);
void?output1(char?*filename);
getdata1(“05training.txt“);?????????//存放的是訓(xùn)練樣本三個(gè)波段的灰度值
getdata2(“05testing.txt“);??????????//檢驗(yàn)樣本行號(hào)?列號(hào)?類別代碼?三個(gè)波段的灰度值
????compute(train1m1c1&a1);??????????//計(jì)算各類均值向量及協(xié)方差矩陣
compute(train2m2c2&a2);
compute(train3m3c3&a3);
compute(train4m4c4&a4);
????testing();??????????????????????????//對(duì)檢驗(yàn)樣本分類
accuracy(a);
output(“05test-result.txt“);
output1(“05confusion-matrix.txt“);
return?0;
}
void?getdata1(char?*filename)
{???
ifstream?infile(filenameios::in|ios::nocreate);???//把每類樣本的灰度值依次存入對(duì)應(yīng)的數(shù)組
????if(infile==0)
{??cout<<“open?infile?error!“< ???exit(1);
}
????int?ij;
for(i=0;i<60;i++)
for(j=0;j<3;j++)
infile>>train1[i][j];
????for(i=0;i<60;i++)
for(j=0;j<3;j++)
infile>>train2[i][j];
????for(i=0;i<60;i++)
for(j=0;j<3;j++)
infile>>train3[i][j];
????for(i=0;i<60;i++)
for(j=0;j<3;j++)
infile>>train4[i][j];
infile.close();
}
void?getdata2(char?*filename)
{?
ifstream?infile(filenameios::in|ios::nocreate);
????if(infile==0)
{?
???cout<<“open?infile?error!“< ???exit(1);
}
????int?ij;
for(i=0;i<240;i++)??????//檢驗(yàn)樣本的數(shù)量為240
for(j=0;j<6;j++)????????????//行、列號(hào)、類別代碼、三個(gè)波段灰度值
infile>>test[i][j];
????infile.close();
}
void?compute(float?train[60][3]float?m[3]float?c[3][3]float?*a)
{???
void?gauss(int?ffloat?n[3][3]);????//求n??矩陣的逆陣聲明?
int?ij;
????for(i=0;i<3;i++)????m[i]=0;
for(i=0;i<3;i++)
{???
for(j=0;j<60;j++)
???????m[i]+=train[j][i];
????m[i]=m[i]/60;
}
????float?Train[3][60];?????????//轉(zhuǎn)置矩陣
for(i=0;i<3;i++)
for(j=0;j<60;j++)
Train[i][j]=train[j][i];????
int?k;
for(i=0;i<3;i++)???????????????????????//求協(xié)方差
???for(j=0;j<3;j++)
??????{??c[i][j]=0;
?????????????for(k=0;k<60;k++)
?c[i][j]+=((Train[i][k]-m[i])*(train[k][j
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????762??2008-08-02?11:38??貝葉斯分類\05confusion-matrix.txt
?????文件??????14899??2008-08-02?11:38??貝葉斯分類\05test-result.txt
?????文件???????6254??2007-04-30?21:22??貝葉斯分類\05testing.txt
?????文件???????3839??2007-04-29?17:11??貝葉斯分類\05training.txt
?????文件??????10323??2007-04-30?15:19??貝葉斯分類\classify.cpp
?????文件???????3425??2007-04-18?09:10??貝葉斯分類\classify.dsp
?????文件??????25600??2007-04-18?09:12??貝葉斯分類\classify.ncb
?????文件??????????0??2007-04-18?09:11??貝葉斯分類\classify.plg
?????文件???????4264??2007-04-15?22:32??貝葉斯分類\test.dsp
?????文件????????514??2007-04-15?22:12??貝葉斯分類\test.dsw
?????文件??????66560??2008-08-02?11:39??貝葉斯分類\test.ncb
?????文件??????53760??2008-08-02?11:39??貝葉斯分類\test.opt
?????文件????????881??2008-08-02?11:38??貝葉斯分類\test.plg
?????目錄??????????0??2008-08-02?11:39??貝葉斯分類\Debug
?????目錄??????????0??2008-08-02?11:39??貝葉斯分類
-----------?---------??----------?-----??----
???????????????191081????????????????????15
評(píng)論
共有 條評(píng)論