#pragma once class CFilterInspect { public: CFilterInspect(void); ~CFilterInspect(void); public: BOOL FilteringTiltVert(LPBYTE lpBuffer,CSize szFrame,int nThres,double dScanPitch,CPoint pointDefect,CRect rectIns,int nSuppress) { return FilteringTiltVertImpl(FALSE, lpBuffer, szFrame, nThres, dScanPitch, pointDefect, rectIns, nSuppress); } BOOL FilteringTiltVert2(LPBYTE lpBuffer,CSize szFrame,int nThres,double dScanPitch,CPoint pointDefect,CRect rectIns,int nSuppress) { return FilteringTiltVertImpl(TRUE, lpBuffer, szFrame, nThres, dScanPitch, pointDefect, rectIns, nSuppress); } BOOL FilteringTiltC2CVert(LPBYTE pOrg,LPBYTE pFirst,LPBYTE pSecond,CSize szFrame,int nLowThres,int nHighThres,int nSuppress,int nDefectIdx); BOOL FilteringTiltVertImpl(BOOL b2by2, LPBYTE lpBuffer,CSize szFrame,int nThres,double dScanPitch,CPoint pointDefect,CRect rectIns,int nSuppress); protected: float catmullRomSpline(float x, float v0,float v1, float v2,float v3); int GetArea2x2Value(LPBYTE lpImg,CSize szFrame,double TgtX,double TgtY,int nSuppress); int GetArea2x2Value(LPBYTE lpImg,CSize szFrame,int DefectX,int DefectY,int nSuppress); int GetPixelValue(LPBYTE lpImg, CSize szFrame, int x, int y, int nSuppress); int GetPixelValue(LPBYTE lpImg, CSize szFrame, double x, double y, int nSuppress); };