没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
// AppDesignDlg.cpp : implementation file
//
#include "stdafx.h"
#include "AppDesign.h"
#include "AppDesignDlg.h"
#include <string>
#include <math.h>
#include "Select.h"
#include "CvvImage.h"
#define MAX_POINT 200
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
using namespace std;
CvCapture * m_Video; // opencv 库的指针,从视频获取图像
int nFrmNum=0; //定义第 nFrmNum 帧,初始化为 0,自动增值,nFrmNum 是帧控件的关
联变量,帧控件的 ID 为 IDC_FRAMNUM
////定义几个重要的全局变量
int nTrainFaces =0;
// 训练图像的数目,即人脸库中有 n 张人脸
int nEigens =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 自带的库函数*/
void learn();
int loadFaceImgArr(char *filename);
void recognize2(IplImage *img);
void doPCA();
void storeTrainingData();
int loadTrainingData(CvMat** pTrainPersonNumMat);
int findNearestNeighbor(float* projectedtestFace);
//用字符串时一定要把 using namespace std;写在前面,否则不能用,下面是用于显示的字符串
CvHaarClassifierCascade* cascade=NULL;
//OPENcv 的分类器文件进行人脸检测,此函数是一个匹配函数,根据不同的分类
器(tree、stump)进行不同的匹配,返回整形值,具体参考
http://baike.so.com/doc/6988305.html 或
http://www.docin.com/p192656933.html ,是人脸检测中用到的一个很重要
的函数
/*以下是 MFC 框架代码,在我们用鼠标进行搭建框架的时候自动生成*/
class CAboutDlg : public Cdialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAppDesignDlg dialog
CAppDesignDlg::CAppDesignDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAppDesignDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CAppDesignDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
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;
}
void CAppDesignDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAppDesignDlg)
//DDX_Control(pDX, IDC_PROGRESS1, m_progress);
//}}AFX_DATA_MAP
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()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTON2, &CAppDesignDlg::OnBnClickedButton2)
ON_BN_CLICKED(IDC_BUTTON3, &CAppDesignDlg::OnBnClickedButton3)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAppDesignDlg message handlers
BOOL CAppDesignDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
剩余18页未读,继续阅读
资源评论
我是你的春哥!
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【全年行事历】行政部全年活动计划表- A公司.xls
- 【全年行事历】活动复盘表.xlsx
- 【全年行事历】活动推广进度表.xlsx
- 【全年行事历】旅游团建行程安排表-XX山.xlsx
- 【全年行事历】旅行团建活动方案.pptx
- 【全年行事历】某公司团建活动方案-【户外烧烤】.doc.baiduyun.uploading.cfg
- 【全年行事历】企业文化年度活动计划表.xlsx
- 【全年行事历】年度员工关怀计划表.xlsx
- 【全年行事历】年度行政活动计划表.xlsx
- 【全年行事历】企业团队建设活动策划.pptx
- 【全年行事历】全年活动计划.xls
- 【全年行事历】团队建设企业文化行事历——工作计划.xlsx
- 【全年行事历】企业员工夏季团建活动策划一天.pptx
- 【全年行事历】团建费用分析.xlsx
- 【全年行事历】团建行程安排及出行清单.xlsx
- 【全年行事历】团建活动采购预算清单.xlsx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功