⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcadll.h

📁 face recognition test source code
💻 H
📖 第 1 页 / 共 2 页
字号:
		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 + -