#pragma once #include class CDefectPair; class AFX_EXT_CLASS CCompareAverage { public: CCompareAverage(void); ~CCompareAverage(void){} int CompareAverage_nbym_SmartROI(BYTE* pSrc, __int64* pCompBuff, int nWidth, CRect rtROI , int nThresD, int nThresW, int nSupPixel, CRect *prtDeadZone , CDefectPair *pPixel, int nPixel, int nMaxDefect , int nDFilterSize, int nBFilterSize, int &nEndLine); protected: //Get Filter Sum BOOL GetFilterValue(CPoint pt, __int64 &n64Return, __int64* pSumBuffer, int nBufferWidth, CRect &rtROI, int nFilterSIze); void GetSum(CRect rtFilter, __int64 &n64Return, __int64* pSumBuffer, int nBufferWidth); BOOL SmartGetSum(CRect &rtFilter, __int64 &n64Return, __int64* pSumBuffer, int nBufferWidth, CRect &rtROI, int nFilterSize); //API -> MyFunction BOOL IsPtInRegion(CRect &rtOut, CPoint &ptIn); BOOL IsRectInRegion(CRect &rtOut, CRect &rtIn); BOOL IntersectRect(CRect &rtResult, CRect &rt1, CRect &rt2); void InflateRect(CRect &rt, int nH, int nV); };