📄 pcadll.h
字号:
char *GetFileName();
char *GetName();
void SetName(char *str_file, int len = -1);
long Getxlen();
long Getylen();
typeface *GetData();
void ReleaseData();
CMemory *GetMem();
void SetAt(long x, long y, typeface val);
void SetAt(long lpixel, typeface val);
typeface GetAt(long x, long y);
typeface GetAt(long lpixel);
void Lock();
void Unlock();
private:
long xlen, ylen; /*Dimensions of the image*/
CMemory *data; /*Memory object representing the image's bytes*/
typeface *pdata; /*pointer to the locked CMemory*/
char cFormat; /*Format of the input file, can be either ASCII or BINARY*/
char cFileType; /*File format. Can be PPM or PGM*/
char FileName[255]; /*File name*/
char FaceName[64]; /*Face's name*/
BOOL bMat; /*FALSE if the data are read from the disk
TRUE is they are from a computed matrix*/
CMatrixPtr *pMat; /*if the face is a matrix's column, pMat hold the pointer to it*/
long col; /* and col hold the column's number*/
BOOL bAlloc; /*TRUE if the object allocate itself the memory (So it has to delete it)*/
int ReadASCII(unsigned char *str); /*read an ascii image file*/
int ReadBinary(unsigned char *str); /*read a binary image file*/
char *GetNextTok(char *str);
char *GetNextLine(char *str);
};
#endif /* CFACE_H */
/*--------------------------------------------------------------------------------------------*/
#ifndef CFaceDB_H
#define CFaceDB_H
class CFaceDB
{
private:
long nNumFace; /*Number of faces in the data base*/
long xlen, ylen; /*dimension of each face*/
CObArray *pArray; /*Actual array of CFace objects, template of CPtrArray*/
public:
CFaceDB();
~CFaceDB();
int Load(char *file);
int AddFace(char *file);
int Save(char *str_dir);
int Copy(CMatrixPtr *pMat, CDiag *pDiag);
long Getxlen();
long Getylen();
long GetNumPixel();
long GetNumFace();
CFace *GetFace(int l);
typeface *GetFaceData(int l);
CMemory *GetFaceMem(int l);
char *GetFaceName(int l);
void ReleaseFaceData(int l);
void Expand(int nFace, float *scale, float *shift, float src_min, float src_max);
private:
int GetStr(char *str_temp, char *aName, int lenaName, char *Delimit);
long GetLong(char *str_temp);
int GetLine(char *str_temp, char *FileName, int lenFileName, char *FaceName, int lenFaceName);
};
#endif /* CFaceDB_H */
/*--------------------------------------------------------------------------------------------*/
#ifndef CDRAWF_H
#define CDRAWF_H
class CDrawFace : public CFrameWnd
{
private:
CFaceDB *pFaceDB; /*Face DataBase data*/
CMatrix *pFaceMat;
CDiag *pEigenVal;
char bMat;
GEOMPARAMS gp;
int nMaxVPos;
int nVPos;
HFONT hfont, hfontOld; /*Character font*/
int MapModePrevious;
public:
CDrawFace();
void SetFaceDB(CFaceDB *pFaceDBt);
void SetFaceDB(CMatrix *pFaceMatt);
void SetFaceDB(CMatrix *pFaceMatt, CDiag *pEigenValt);
void GetGeomParams(GEOMPARAMS *gp);
int Getxlen();
int Getylen();
private:
void GetCornerFace(CORNER *c, long nFace);
void GetCornerName(CORNER *c, long nFace);
// Generated message map functions
protected:
//{{AFX_MSG(CWndFace)
afx_msg void OnPaint();
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnSize(UINT nType, int cx, int cy);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#endif /* CDRAWF_H */
/*--------------------------------------------------------------------------------------------*/
#ifndef CDRAWREC_H
#define CDRAWREC_H
class CDrawReconstruction : public CFrameWnd
{
private:
CFaceDB *pFaceDB1; /*Face DataBase1 data*/
CFaceDB *pFaceDB2;
GEOMPARAMS gp;
int nVPos;
int nMaxVPos;
int nHPos;
int nMaxHPos;
HFONT hfont, hfontOld; /*Character font*/
int MapModePrevious;
public:
CDrawReconstruction();
void SetFaceDB(CFaceDB *pFaceDB1t, CFaceDB *pFaceDB2t);
void GetGeomParams(GEOMPARAMS *gp);
int Getxlen();
int Getylen();
private:
void GetCornerFace(CORNER *c, int nFace, int num);
void GetCornerName(CORNER *c, int nFace, int num);
// Generated message map functions
protected:
//{{AFX_MSG(CWndFace)
afx_msg void OnPaint();
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#endif /* CDRAWREC_H */
/*--------------------------------------------------------------------------------------------*/
#ifndef ERROR_H
#define ERROR_H
/* File */
#define ERR_FILE_READ -2
#define ERR_FILE_OPEN -3
/* File Format */
#define ERR_FF -20
#define ERR_FF_TRAINING_ENDTAG -21
#define ERR_FF_RECONSTRUCTION_ENDTAG -22
#define ERR_FF_RECOGNIZE_ENDTAG -23
#define ERR_FF_MEET_ENDTAG -24
#define ERR_FF_LOAD_EIGEN_ENDTAG -25
/* Memory */
#define ERR_MEM_GETPTR -50
#define ERR_MEM_ALLOCATE -51
#define ERR_MEM_REALLOCATE -52
#define ERR_MEMORY -53
/* Matrix */
#define ERR_MAT_LOAD_ROW -100
#define ERR_MAT_LOAD_COL -101
#define ERR_MAT_LOAD_HDR -103
#endif /* ERROR_H */
/*--------------------------------------------------------------------------------------------*/
#ifndef STR_H
#define STR_H
/* Useful strings */
extern char chr_RT1;
extern char chr_RT2;
extern char chr_BTAG;
extern char str_BTAG[];
extern char chr_PROJ_COMMENT;
extern char str_RET[];
extern char str_TABRT[];
extern char str_END[];
extern char str_DIR[];
extern char chr_DIR;
extern char str_EXT_TXT[];
extern char str_SAVE_NUM[];
/* face file opening strings */
extern char str_ERR_FILE_OPEN[];
extern char str_ERR_FILE_READPROB[];
extern char str_ERR_FILE_WRITE[];
extern char str_ERR_FILE_EXT[];
extern char str_ERR_FILE_LOCATE[];
extern char str_ERR_FILE_CLOSE[];
extern char str_ERR_ASCIIBIN[];
extern char str_ERR_FILE_UNEXPECTEDEOF[];
extern char str_ERR_NOT255[];
extern char str_LOADED[];
extern char str_LOADING[];
extern char str_SAVING[];
extern char str_SAVED[];
/* face database */
extern char str_ERR_DIMENSION[];
/* project file strings */
extern char str_TRAINING[];
extern char str_RECONSTRUCTION[];
extern char str_RECOGNIZE[];
extern char str_MEET[];
extern char str_SAVE_EIGEN[];
extern char str_SAVE_EIGEN_DB[];
extern char str_SAVE_REPORT[];
extern char str_SAVE_CMP_MEET[];
extern char str_SAVE_CMP_RECONSTRUCTION[];
extern char str_SAVE_CMP_RECOGNIZE[];
extern char str_LOAD_EIGEN[];
extern char str_PROJECT_TRAINING[];
extern char str_PROJECT_TRAINING_DONE[];
extern char str_PROJECT_RECONSTRUCTION[];
extern char str_PROJECT_RECONSTRUCTION_DONE[];
extern char str_PROJECT_RECOGNIZE[];
extern char str_PROJECT_RECOGNIZE_DONE[];
extern char str_PROJECT_MEET[];
extern char str_PROJECT_MEET_DONE[];
extern char str_PROJECT_LOAD_EIGEN[];
extern char str_PROJECT_LOAD_EIGEN_DONE[];
extern char str_PROJECT_SAVE_EIGEN[];
extern char str_PROJECT_SAVE_EIGEN_DONE[];
extern char str_PROJECT_SAVE_EIGEN_DB[];
extern char str_PROJECT_SAVE_EIGEN_DB_DONE[];
extern char str_PROJECT_SAVE_REPORT[];
extern char str_PROJECT_SAVE_REPORT_DONE[];
extern char str_PROJECT_SAVE_CMP_MEET[];
extern char str_PROJECT_SAVE_CMP_MEET_DONE[];
extern char str_PROJECT_SAVE_CMP_RECONSTRUCTION[];
extern char str_PROJECT_SAVE_CMP_RECONSTRUCTION_DONE[];
extern char str_PROJECT_SAVE_CMP_RECOGNITION[];
extern char str_PROJECT_SAVE_CMP_RECOGNITION_DONE[];
extern char str_EVAL_FILENAME[];
extern char str_ALREADY_LOAD_EIGEN[];
extern char str_ALREADY_TRAINING[];
extern char str_NOTYET_EIGEN[];
extern char str_NOTYET_MEET[];
extern char str_NOTYET_RECONSTRUCTION[];
extern char str_NOTYET_RECOGNITION[];
extern char str_ERR_WRONGARG[];
extern char str_ERR_TRAINING[];
extern char str_ERR_FILE_READ[];
extern char str_ERR_TRAINING_ENDTAG[];
extern char str_ERR_RECONSTRUCTION_ENDTAG[];
extern char str_ERR_RECOGNIZE_ENDTAG[];
extern char str_ERR_MEET_ENDTAG[];
extern char str_ERR_LOAD_EIGEN_ENDTAG[];
extern char str_PROJECT_LOADING[];
extern char str_ERR_MISMATCH[];
extern char str_ERR_AAMNOTCREATE[];
/* Memory */
extern char str_ERR_MEM_ALLOCATE[];
extern char str_ERR_MEM_REALLOCATE[];
extern char str_ERR_MEM_GETPTR[];
/* Matrix */
extern char str_TOOITER[];
extern char str_ERR_MAT_COPY[];
extern char str_ERR_MAT_LOAD_ROW[];
extern char str_ERR_MAT_LOAD_COL[];
extern char str_ERR_MAT_LOAD_HDR[];
/* Auto-Associative Memory */
extern char str_AAM_BUILD_START[];
extern char str_AAM_BUILD_NORMALIZED[];
extern char str_AAM_BUILD_INNER[];
extern char str_AAM_BUILD_EIGEN1[];
extern char str_AAM_BUILD_SORT[];
extern char str_AAM_BUILD_DONE[];
extern char str_AAM_RECONSTRUCTION_START[];
extern char str_AAM_RECONS_NORMALIZED[];
extern char str_AAM_RECONSTRUCTION_DONE[];
extern char str_AAM_RECOGNIZE_START[];
extern char str_AAM_RECOG_NORMALIZED[];
extern char str_AAM_MEET_NORMALIZED[];
extern char str_AAM_RECOG_CLASS[];
extern char str_AAM_RECOG_CLASS_DONE[];
extern char str_AAM_RECOGNIZE_DONE[];
extern char str_AAM_RECOGNIZE_PERCENT[];
extern char str_RECOGNITION_RESULT_Y[];
extern char str_RECOGNITION_RESULT_N[];
extern char str_AAM_F2CMP[];
extern char str_AAM_CMP2F[];
extern char str_AAM_COS_DONE[];
/* Messages */
extern char str_MSG_MORE_H[];
extern char str_MSG_MORE_M[];
extern char str_MSG_MORE_S[];
extern char str_MSG_MORE_MS[];
#endif /* STR_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -