FaceMFC_v1Dlg.h
上传用户:xiaoge123
上传日期:2022-08-05
资源大小:5794k
文件大小:4k
源码类别:

OpenCV

开发平台:

Visual C++

  1. // FaceMFC_v1Dlg.h : header file
  2. //
  3. #include "cv.h"
  4. #include "highgui.h"
  5. #include <vector>
  6. using namespace std;
  7. #if !defined(AFX_FACEMFC_V1DLG_H__09F97E5F_AC61_40F1_ACA5_E94C19C4A25A__INCLUDED_)
  8. #define AFX_FACEMFC_V1DLG_H__09F97E5F_AC61_40F1_ACA5_E94C19C4A25A__INCLUDED_
  9. #if _MSC_VER > 1000
  10. #pragma once
  11. #endif // _MSC_VER > 1000
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CFaceMFC_v1Dlg dialog
  14. void ThreadFunc();
  15. class CFaceMFC_v1Dlg : public CDialog
  16. {
  17. // Construction
  18. public:
  19. void merge();
  20. void Seperator();
  21. int frame_time[6];
  22. IplImage* ImgFaceResult[12];
  23. IplImage* ImgFaceTemp[6];
  24. //IplImage*  ImgFaceResult[12];
  25. int FaceRecgnition(IplImage* img,CvHaarClassifierCascade* cascade,vector<CvRect *> &faceposition);
  26. void Findneighbors(vector<double> v,int n,vector<int> &frontposition);
  27. int FindSmallest(vector<double> v,double &smallest);
  28. void MatSVD(CvMat *src,CvMat *dst,double &scale);
  29. void Do2DPCA(IplImage *face);
  30. IplImage* ImgData;
  31. IplImage* FaceSel[6];//保存六个人脸的灰度图,用于单选按钮部分
  32. IplImage* FaceToSel;
  33. char* cascade_name;
  34. int FaceNum;
  35. void DrawPicToHDC(IplImage *img, UINT ID);
  36. int detect_and_draw(IplImage *img, CvHaarClassifierCascade *cascade);
  37. void CFaceMFC_v1Dlg::CreatMask(CvMat* Mask,double r);
  38. IplImage* img_face[6];
  39. CvHaarClassifierCascade* cascade;
  40. IplImage* mImg;
  41. int m_Facesel;
  42. int startframe,overframe;
  43. int hour[2],minute[2],second[2];
  44. double framerate;
  45. int numFrames;
  46. CFaceMFC_v1Dlg(CWnd* pParent = NULL); // standard constructor
  47. // Dialog Data
  48. //{{AFX_DATA(CFaceMFC_v1Dlg)
  49. enum { IDD = IDD_FACEMFC_V1_DIALOG };
  50. CStatic m_totaltime;
  51. CStatic m_timedown;
  52. CStatic m_timeup;
  53. int m_framestep;
  54. //}}AFX_DATA
  55. // ClassWizard generated virtual function overrides
  56. //{{AFX_VIRTUAL(CFaceMFC_v1Dlg)
  57. protected:
  58. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  59. //}}AFX_VIRTUAL
  60. // Implementation
  61. protected:
  62. CPoint temp_p1;
  63. CPoint temp_p2;
  64. CPoint temp_p3;
  65. int m_iIsDraging;
  66. IplImage* ImgReload;
  67. int rectheight;
  68. int rectwidth;
  69. int imgheight;
  70. int imgwidth;
  71. CPoint m_p1;
  72. CPoint m_p2;
  73. int m_height;
  74. int m_width;
  75. BOOL m_bIsDraging;
  76. //BOOL m_bDrawed;
  77. CRect m_MouseRect;
  78. CRect m_InfoRect;//确定弹出软件信息的鼠标活动区域
  79. int aimframe;
  80. HICON m_hIcon;
  81. DWORD ThreadID;
  82. HANDLE hThread;
  83. IplImage* ImgTemp;
  84. // Generated message map functions
  85. //{{AFX_MSG(CFaceMFC_v1Dlg)
  86. virtual BOOL OnInitDialog();
  87. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  88. afx_msg void OnPaint();
  89. afx_msg HCURSOR OnQueryDragIcon();
  90. afx_msg void OnOpenimage();
  91. afx_msg void OnFacedetect();
  92. afx_msg void OnRadioface1();
  93. afx_msg void OnRadioface2();
  94. afx_msg void OnRadioface3();
  95. afx_msg void OnRadioface4();
  96. afx_msg void OnRadioface5();
  97. afx_msg void OnRadioface6();
  98. afx_msg void OnOpenvideo();
  99. afx_msg void OnReload();
  100. afx_msg void OnPlayPause();
  101. afx_msg void OnCustomdrawSlider(NMHDR* pNMHDR, LRESULT* pResult);
  102. afx_msg void OnTimestart();
  103. afx_msg void OnTimeover();
  104. afx_msg void OnKillfocusEditStep();
  105. afx_msg void OnFaceretrieval();
  106. afx_msg void OnDown();
  107. afx_msg void OnUp();
  108. afx_msg void OnFollow();
  109. afx_msg void OnRadioresult1();
  110. afx_msg void OnRadioresult2();
  111. afx_msg void OnRadioresult3();
  112. afx_msg void OnRadioresult4();
  113. afx_msg void OnRadioresult5();
  114. afx_msg void OnRadioresult6();
  115. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  116. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  117. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  118. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  119. afx_msg void OnImageinfo();
  120. afx_msg void OnVideoinfo();
  121. afx_msg void OnInfo();
  122. //}}AFX_MSG
  123. DECLARE_MESSAGE_MAP()
  124. };
  125. //{{AFX_INSERT_LOCATION}}
  126. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  127. #endif // !defined(AFX_FACEMFC_V1DLG_H__09F97E5F_AC61_40F1_ACA5_E94C19C4A25A__INCLUDED_)