• 大小: 1.69MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-09-02
  • 语言: C/C++
  • 标签:

资源简介

基于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个文件信息

评论

共有 条评论

相关资源