www.pudn.com > PrimeBackgroundDetection.rar > PrimeBackgroundDetection.h
// BKDetection.h: interface for the CBKDetection class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_BKDETECTION_H__73BBCC0D_149F_458B_BB0C_E2DF2BEBFF07__INCLUDED_)
#define AFX_BKDETECTION_H__73BBCC0D_149F_458B_BB0C_E2DF2BEBFF07__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "TypeDef.h"
#include "BKProcess.h"
class CBKDetection
{
public:
CBKDetection();
virtual ~CBKDetection();
DWORD BKParamInit ( DWORD dwImageWidth, DWORD dwImageHeight );
void BKUpdate ( LPBYTE lpThisBits, LPBYTE lpPreBits,
LPBYTE lpBKBits, LPBYTE lpMaskBits );
BYTE ObjectSeg ( LPBYTE lpThisBits, LPBYTE lpPreBits,
LPBYTE lpBKBits, LPBYTE lpMaskBits );
private:
void DeleteMem ();
void CreateGausTab_2();
void CreateGausTab_3();
void GetDoubleVar ( BYTE &byTripleVar );
void GetTripleVar ( BYTE &byTripleVar );
void ObjBKUpdate( LPBYTE lpBKBits, LPBYTE lpMaskBits );
public:
DWORD m_dwUpdateCount_1,
m_dwUpdateCount_2,
m_dwUpdateCount_3,
m_dwUpdateCount_4;
private:
LPBYTE m_pMedFilter;
LPBYTE m_pExtremumBits;
LPBYTE m_pAdvBKBits;
LPBYTE m_pUnchgCount;
WORD *m_pUnchgSum;
DWORD *m_pDiffHist;
DWORD m_dwGausTab[ TRIPLE_GAUS_VAR ][ MAX_GAUS_WDTH ];
ULONGLONG m_ulGausPowerSum[ TRIPLE_GAUS_VAR ];
DWORD m_dwImageWidth,
m_dwImageHeight,
m_dwRowBytes,
m_dwMidBytes;
BYTE m_byThreshold;
BOOL m_bInitStatus;
};
#endif // !defined(AFX_BKDETECTION_H__73BBCC0D_149F_458B_BB0C_E2DF2BEBFF07__INCLUDED_)