www.pudn.com > FaceDetect.part1.rar > LikelyHood.h
// LikelyHood.h: interface for the CLikelyHood class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_LIKELYHOOD_H__4D7464B9_AF48_4213_9DB6_7B6E7A6FE523__INCLUDED_) #define AFX_LIKELYHOOD_H__4D7464B9_AF48_4213_9DB6_7B6E7A6FE523__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include#include "Dib.h" #define B_Mean 117.4361; #define R_Mean 156.5599; #define Brcov00 160.1301; #define Brcov01 12.1430 ; #define Brcov10 12.1430 ; #define Brcov11 299.4574; typedef struct TCbCr { double Cb; double Cr; }CbCr; class CLikelyHood : public CObject { public: CLikelyHood(); CLikelyHood(RGBQUAD **source,int width,int height); virtual ~CLikelyHood(); public: void CalLikeHood(); bool CalBinary(); void filter(double** source,int m_nWidth,int m_nHeight); int CalParameter(CString DirectPath); TCbCr CalCbCr(int R,int G,int B); public: double bmean; double rmean; double brcov[2][2]; int m_nWidth; //图像宽度 int m_nHeight; //图像高度 RGBQUAD **m_pSourceData; //原始数据 double **m_pLikeliHoodArray; //相似度数组(二维) BYTE **m_pBinaryArray; //二值化数组(二维) bool m_bBinaryReady; //标志位,判断是否完成二值化 private: bool m_bLikeliHoodReady; //标志位,判断是否计算好相似度 }; #endif // !defined(AFX_LIKELYHOOD_H__4D7464B9_AF48_4213_9DB6_7B6E7A6FE523__INCLUDED_)