📄 calclda.h
字号:
// CalcLDA.h: interface for the CCalcLDA class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CALCLDA_H__6F168DE9_DBB9_4E80_9EC4_1FB80A12456D__INCLUDED_)
#define AFX_CALCLDA_H__6F168DE9_DBB9_4E80_9EC4_1FB80A12456D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "matrix.h"
#include "BpNNet.h" // Added by ClassView
#ifndef MIN
#define MIN(x,y) ((x)<(y) ? (x) : (y))
#endif
#ifndef MAX
#define MAX(x,y) ((x)>(y) ? (x) : (y))
#endif
#include "calceigen.h"
class CCalcLDA
{
public:
void SaveFisherFace(CMatrix &m,const char *name);
BOOL CalcPCA();
void SaveVector(CMatrix &m,int mode);
void CalcMeanJ();
BOOL CalcEigenVec();
CMatrix CalcMeanJ(int Index);
void CalcMean();
void NormImage(double *img);
void NormImage1(double *img);
BOOL LoadSample(int NumClass,double *img,int Index,int n);
BOOL SetClassInfo(int Num,int count);
void Destroy();
void Init(int NumClass,int ClassNum,int height,int width);
CCalcLDA();//构造函数
virtual ~CCalcLDA();
int m_NumClass;//类别数
int m_CurrClass;
int MainVectors;
int nHeight,nWidth;
int m_nDim;
BOOL m_Initialized;
BOOL m_SampleLoaded;
CCalcEigen m_PCA;
CMatrix m_Sw;//类内散布矩阵
CMatrix m_Sb;//类间散布矩阵
CMatrix *m_Meanj;//第j类的均值脸
int *m_Nj;
int m_ClassNum;
int m_TotalSamples;
CMatrix m_Mean;//总均值脸
CMatrix m_Mean1;
CMatrix *m_Images;
CMatrix *m_Images1;
CMatrix **m_Samples;//样本数据二维数组
CMatrix **m_Samples1;//样本数据二维数组
double *EigenValue;
CMatrix EigenVector;
private:
BOOL InitMatrix();
void CalcSW();
void CalcSB();
};
#endif // !defined(AFX_CALCLDA_H__6F168DE9_DBB9_4E80_9EC4_1FB80A12456D__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -