人脸识别C程序代码副本概要文档格式.docx
- 文档编号:13330217
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:23
- 大小:27.64KB
人脸识别C程序代码副本概要文档格式.docx
《人脸识别C程序代码副本概要文档格式.docx》由会员分享,可在线阅读,更多相关《人脸识别C程序代码副本概要文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
#endif
/////////////////////////////////////////////////////////////////////////////
//CAboutDlgdialogusedforAppAbout
usingnamespacestd;
CvCapture*m_Video;
//opencv库的指针,从视频获取图像
intnFrmNum=0;
//定义第nFrmNum帧,初始化为0,自动增值,nFrmNum是帧控件的关联变量,帧控件的ID为IDC_FRAMNUM
////定义几个重要的全局变量
intnTrainFaces=0;
//
训练图像的数目,即人脸库中有n张人脸
intnEigens=0;
自己取的主要特征值数目(在提取特征脸的时候用到的参数)
IplImage**faceImgArr=0;
//
指向训练人脸和测试人脸的指针(在学习和识别阶段指向不同)
CvMat*personNumTruthMat=0;
人脸图像的ID号
IplImage*pAvgTrainImg=0;
训练人脸数据的平均值
IplImage**eigenVectArr=0;
投影矩阵,也即主特征向量
CvMat*eigenValMat=0;
特征值
CvMat*projectedTrainFaceMat=0;
训练图像的投影
CvMat*trainPersonNumMat=0;
/*以下是自定义函数的声明,具体定义会在下方,cv开头的是OPENCV自带的库函数*/
voidlearn();
intloadFaceImgArr(char*filename);
voidrecognize2(IplImage*img);
voiddoPCA();
voidstoreTrainingData();
intloadTrainingData(CvMat**pTrainPersonNumMat);
intfindNearestNeighbor(float*projectedtestFace);
//用字符串时一定要把usingnamespacestd;
写在前面,否则不能用,下面是用于显示的字符串
CvHaarClassifierCascade*cascade=NULL;
//OPENcv的分类器文件进行人脸检测,此函数是一个匹配函数,根据不同的分类器(tree、stump)进行不同的匹配,返回整形值,具体参考
/*以下是MFC框架代码,在我们用鼠标进行搭建框架的时候自动生成*/
classCAboutDlg:
publicCdialog
{
public:
CAboutDlg();
//DialogData
//{{AFX_DATA(CAboutDlg)
enum{IDD=IDD_ABOUTBOX};
//}}AFX_DATA
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);
//DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg:
:
CAboutDlg():
CDialog(CAboutDlg:
IDD)
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
voidCAboutDlg:
DoDataExchange(CDataExchange*pDX)
CDialog:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
//Nomessagehandlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//CAppDesignDlgdialog
CAppDesignDlg:
CAppDesignDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CAppDesignDlg:
IDD,pParent)
//{{AFX_DATA_INIT(CAppDesignDlg)
//NOTE:
theClassWizardwilladdmemberinitializationhere
//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32
m_hIcon=AfxGetApp()->
LoadIcon(IDR_MAINFRAME);
pCapture=NULL;
m_totalfrm=0;
m_curfrm=0;
m_stop=false;
loadxml=false;
m_src=NULL;
m_times=0;
voidCAppDesignDlg:
//{{AFX_DATA_MAP(CAppDesignDlg)
//DDX_Control(pDX,IDC_PROGRESS1,m_progress);
DDX_Control(pDX,IDC_PROGRESS1,m_progress);
BEGIN_MESSAGE_MAP(CAppDesignDlg,CDialog)
//{{AFX_MSG_MAP(CAppDesignDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1,OnOpenFile)
ON_WM_TIMER()
ON_BN_CLICKED(IDC_BUTTON5,OnStop)
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_BUTTON2,&
OnBnClickedButton2)
ON_BN_CLICKED(IDC_BUTTON3,&
OnBnClickedButton3)
//CAppDesignDlgmessagehandlers
BOOLCAppDesignDlg:
OnInitDialog()
OnInitDialog();
//Add"
About..."
menuitemtosystemmenu.
//IDM_ABOUTBOXmustbeinthesystemcommandrange.
ASSERT((IDM_ABOUTBOX&
0xFFF0)==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX<
0xF000);
CMenu*pSysMenu=GetSystemMenu(FALSE);
if(pSysMenu!
=NULL)
{
CStringstrAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if(!
strAboutMenu.IsEmpty())
{
pSysMenu->
AppendMenu(MF_SEPARATOR);
AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);
}
}
//Settheiconforthisdialog.Theframeworkdoesthisautomatically
//whentheapplication'
smainwindowisnotadialog
SetIcon(m_hIcon,TRUE);
//Setbigicon
SetIcon(m_hIcon,FALSE);
//Setsmallicon
//TODO:
Addextrainitializationhere
returnTRUE;
//returnTRUEunlessyousetthefocustoacontrol
OnSysCommand(UINTnID,LPARAMlParam)
if((nID&
0xFFF0)==IDM_ABOUTBOX)
CAboutDlgdlgAbout;
dlgAbout.DoModal();
else
CDialog:
OnSysCommand(nID,lParam);
//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow
//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,
//thisisautomaticallyd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人脸识别C 程序代码 副本概要 识别 副本 概要