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

📄 facedetectdlg.h

📁 人脸检测定位的示例代码.rar VC++源码
💻 H
字号:
// FaceDetectDlg.h : header file
//

#ifndef __FACEDETECTDLG_H
#define __FACEDETECTDLG_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Dib.h"
#include "LikelyHood.h"
#include "HairFace.h"
#include <afxtempl.h>
#include <math.h>

/////////////////////////////////////////////////////////////////////////////
// CFaceDetectDlg dialog

class CFaceDetectDlg : public CDialog
{
// Construction
public:
	CFaceDetectDlg(CWnd* pParent = NULL);	// standard constructor

	//公共变量
public:
	void MyDraw();
	void DoLOG(int left,int right,int top,int bottom,RGBQUAD** source,RGBQUAD** target);
	void SetPixelArray(RGBQUAD** target,int Val);
	void LoadOriPixel(CDib* pDib);
	void MakeBitMap();
	bool CopyBitMap(RGBQUAD** dest,RGBQUAD** source);
	void DrawCross(CDC* pDC,CPoint point,COLORREF crColor);

	CDC *pDCShow;//用来画图的区域
	CDib *m_pMainDib;//位图
	RGBQUAD** m_tOriPixelArray;//原始位图数据
	RGBQUAD** m_tResPixelArray;//参考位图数据

	CBitmap* 	m_pResMap;

	int m_nWndWidth;//图像宽度
	int m_nWndHeight;//图像高度
	CString m_sFileName;//位图名称

	bool m_bFaceOK;//脸部已经确定标志位
	bool m_bShowFace;
	CRect m_rFaceRegion;//脸部区域

	bool m_bSelectByMan;
	bool m_bLBottonDown;
	int m_ManLeft;
	int m_ManRight;
	int m_ManTop;
	int m_ManBottom;

	//下面是一些标志位
	bool m_bManualMarkFacial;
	bool m_bLeftEyeOK;//左眼确定标志位
	bool m_bRightEyeOK;//右眼确定标志位
	bool m_bLeftEyeLeftCornerOK;//左眼左角
	bool m_bLeftEyeRightCornerOK;//左眼右角
	bool m_bRightEyeLeftCornerOK;//右眼左角
	bool m_bRightEyeRightCornerOK;//右眼右角
	bool m_bLeftNostrilOK;//左鼻角
	bool m_bRightNostrilOK;//右鼻角
	bool m_bLeftMouthCornerOK;//左嘴角
	bool m_bRightMouthCornerOK;//右嘴角
	bool m_bMidMouthOK;//嘴中部
	bool m_bMidNoseOK;//鼻尖
	//下面是上那些特征点的位置
	CPoint m_LeftEye;
	CPoint m_LeftEyeLeftCorner;
	CPoint m_LeftEyeRightCorner;
	CPoint m_RightEye;
	CPoint m_RightEyeLeftCorner;
	CPoint m_RightEyeRightCorner;
	CPoint m_LeftNostril;
	CPoint m_RightNostril;
	CPoint m_LeftMouthCorner;
	CPoint m_RightMouthCorner;
	CPoint m_MidMouth;
	CPoint m_MidNose;

	//两种方法
	CLikelyHood	*method1;
	CHairFace   *method2;

// Dialog Data
	//{{AFX_DATA(CFaceDetectDlg)
	enum { IDD = IDD_FACEDETECT_DIALOG };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFaceDetectDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CFaceDetectDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnBtnBinary();
	afx_msg void OnBtnEdge();
	afx_msg void OnBtnFacehair();
	afx_msg void OnBtnHistogramFace();
	afx_msg void OnBtnHistogramH();
	afx_msg void OnBtnHistogramHair();
	afx_msg void OnBtnHistogramV();
	afx_msg void OnBtnLikehood();
	afx_msg void OnBtnMarkEye();
	afx_msg void OnBtnMarkFace1();
	afx_msg void OnBtnMarkFace2();
	afx_msg void OnBtnMarkMouse();
	afx_msg void OnBtnMarkNose();
	afx_msg void OnBtnOpenfile();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // #ifndef __FACEDETECTDLG_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -