資源簡介
基于c++的馬氏距離算法代碼,應用于對于遙感影像進行精準分類

代碼片段和文件信息
#include?“stdio.h“
#include?“math.h“
#include?“stdlib.h“
#include?“BmpFile.h“
//宏定義
#define?num_GengDi?340
#define?num_LinDi?474
#define?num_LuoDi?1589
#define?num_ShaDi?827
#define?num_QiTa?295
#define?cols?640
#define?rows?400
#define?num_band?6
//函數聲明
void?ReadTestSample(int**?Land_GengDiint**?Land_LinDiint**?Land_LuoDiint**?Land_ShaDiint**?Land_QiTa);//讀取訓練樣本
void?Compute(int**?Land_GengDiint**?Land_LinDiint**?Land_LuoDiint**?Land_ShaDiint**?Land_QiTa
?float*?ave_GengDifloat*?ave_LinDifloat*?ave_LuoDifloat*?ave_ShaDifloat*?ave_QiTa
?float**?cov_GengDifloat**?cov_LinDifloat**?cov_LuoDifloat**?cov_ShaDifloat**?cov_QiTa);//計算訓練樣本均值和協方差矩陣
void?MatrixInverse(float**?cov_infloat**?cov_inv);//計算逆矩陣
//void?ReadBmp(CBmpFile?bmpfile1CBmpFile?bmpfile2CBmpFile?bmpfile3CBmpFile?bmpfile4CBmpFile?bmpfile5CBmpFile?bmpfile6);
float*?Mahalanobis(float*?Xfloat*?ave_GengDifloat*?ave_LinDifloat*?ave_LuoDifloat*?ave_ShaDifloat*?ave_QiTa
?float**?cov_invGengDifloat**?cov_invLinDifloat**?cov_invLuoDifloat**?cov_invShaDifloat**?cov_invQiTa);//計算馬氏距離
void?Mutiply(float**?Afloat**?Bint?Mint?Nfloat**?C);?//矩陣相乘運算
float?Compare(float*?Result);?//輸出馬氏距離
//void?freeIntMatrix(int**?aint?mint?n);
//void?freeFloatMatrix(float**?aint?mint?n);
void?main()
{
int**?Land_LuoDi=(int**)malloc(sizeof(int*)*num_LuoDi);?//訓練樣本矩陣定義
for?(int?i=0;i {
Land_LuoDi[i]=(int*)malloc(sizeof(int)*num_band);
}
int**?Land_GengDi=(int**)malloc(sizeof(int*)*num_GengDi);
for?(i=0;i {
Land_GengDi[i]=(int*)malloc(sizeof(int)*num_band);
}
????int**?Land_LinDi=(int**)malloc(sizeof(int*)*num_LinDi);
for?(i=0;i {
Land_LinDi[i]=(int*)malloc(sizeof(int)*num_band);
}
int**?Land_ShaDi=(int**)malloc(sizeof(int*)*num_ShaDi);
for?(i=0;i {
Land_ShaDi[i]=(int*)malloc(sizeof(int)*num_band);
}
int**?Land_QiTa=(int**)malloc(sizeof(int*)*num_QiTa);
for?(i=0;i {
Land_QiTa[i]=(int*)malloc(sizeof(int)*num_band);
}
/**********************************************************************/
float*?ave_GengDi=(float*)malloc(sizeof(float)*num_band);??//訓練樣本均值矩陣定義
float*?ave_LinDi=(float*)malloc(sizeof(float)*num_band);
float*?ave_LuoDi=(float*)malloc(sizeof(float)*num_band);
float*?ave_ShaDi=(float*)malloc(sizeof(float)*num_band);
float*?ave_QiTa=(float*)malloc(sizeof(float)*num_band);
float**?cov_GengDi=(float**)malloc(sizeof(float*)*num_band);//訓練樣本協方差矩陣定義
for?(i=0;i {
cov_GengDi[i]=(float*)malloc(sizeof(float)*num_band);
}
????float**?cov_LinDi=(float**)malloc(sizeof(float*)*num_band);
for?(i=0;i {
cov_LinDi[i]=(float*)malloc(sizeof(float)*num_band);
}
float**?cov_LuoDi=(float**)malloc(sizeof(float*)*num_band);
for?(i=0;i {
cov_LuoDi[i]=(float*)malloc(sizeof(float)*num_band);
}
float**?cov_ShaDi=(float**)malloc(sizeof(float*)*
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????257080??2014-11-08?19:18??Mahalanobis\band1.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\band2.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\band3.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\band4.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\band5.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\band7.bmp
?????文件?????257080??2014-11-08?19:18??Mahalanobis\Mahalanobis\band1.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\Mahalanobis\band2.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\Mahalanobis\band3.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\Mahalanobis\band4.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\Mahalanobis\band5.bmp
?????文件?????257080??2014-11-08?19:19??Mahalanobis\Mahalanobis\band7.bmp
?????文件???????7111??2014-11-09?18:53??Mahalanobis\Mahalanobis\BmpFile.h
?????文件?????769078??2014-12-01?22:10??Mahalanobis\Mahalanobis\Classify.bmp
?????文件?????769078??2014-12-03?20:27??Mahalanobis\Mahalanobis\Classify2.bmp
?????文件?????512800??2014-12-01?22:10??Mahalanobis\Mahalanobis\ClassifyMatrix.txt
?????文件?????512800??2014-12-03?20:27??Mahalanobis\Mahalanobis\ClassifyMatrix2.txt
?????文件???????4393??2014-11-08?22:35??Mahalanobis\Mahalanobis\Mahalanobis.dsp
?????文件????????547??2014-11-06?21:55??Mahalanobis\Mahalanobis\Mahalanobis.dsw
?????文件??????50176??2014-12-16?23:19??Mahalanobis\Mahalanobis\Mahalanobis.ncb
?????文件??????48640??2014-12-16?23:19??Mahalanobis\Mahalanobis\Mahalanobis.opt
?????文件????????256??2014-12-04?16:38??Mahalanobis\Mahalanobis\Mahalanobis.plg
?????文件??????26290??2014-12-03?19:25??Mahalanobis\Mahalanobis\main.cpp
?????文件???????4644??2014-11-08?21:54??Mahalanobis\Mahalanobis\其他.txt
?????文件???????6783??2014-12-03?18:06??Mahalanobis\Mahalanobis\其他2.txt
?????文件??????23566??2014-11-08?21:50??Mahalanobis\Mahalanobis\林地.txt
?????文件??????11374??2014-12-03?18:04??Mahalanobis\Mahalanobis\林地2.txt
?????文件??????18862??2014-11-08?21:55??Mahalanobis\Mahalanobis\沙地.txt
?????文件??????19846??2014-12-03?18:07??Mahalanobis\Mahalanobis\沙地2.txt
?????文件???????7750??2014-11-08?22:31??Mahalanobis\Mahalanobis\耕地.txt
............此處省略10個文件信息
- 上一篇:八皇后問題MFC實現
- 下一篇:vc6.0下mfc控件加載jpg格式圖片
評論
共有 條評論