SDC C-Project CF Review 프로그램
LYW
2021-08-17 67bcdefa0aae33fcf16333967744a9aafcaf9433
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#pragma once
 
class CPitchStat;
class CDefectStorage;
class CMosisAssem;
class CMosisBuffer;
class CInspectParam;
class CAssemControl;
 
struct SReviewDefectFindResult
{
    SReviewDefectFindResult()
    {
        nResultCode = -1;
 
        sDefectPeak = 0;
        nDefectRScale = 0;
        nDefectArea = 0;
        nDefectPosX = 0;
        nDefectPosY = 0;
        rtDefectRect = CRect(0,0,0,0);
        dDefectPitch = 0.0;
    }
 
    int        nResultCode;
    short    sDefectPeak;
    int        nDefectRScale;
    int        nDefectArea;
    int        nDefectPosX;
    int        nDefectPosY;
    CRect    rtDefectRect;
    double    dDefectPitch;
};
 
struct SReviewDefectFindParam
{
    SReviewDefectFindParam()
    {
        nDirection        = 0;
        dPitchX            = 0.0;
        dPitchY            = 0.0;
        dResolutionX    = 0.0;
        dResolutionY    = 0.0;
        nAutoPitchRange    = 0;
        nThreshold        = 30;
        nThreshold2        = 50;
        nMergePixel        = 8;
    }
 
    int        nDirection;
    double    dPitchX;
    double    dPitchY;
    double    dResolutionX;
    double    dResolutionY;
    int        nAutoPitchRange;
    int        nThreshold;
    int        nThreshold2;
    int        nMergePixel;
};
 
class AFX_EXT_CLASS CReviewDefectFinder
{
public:
    CReviewDefectFinder(void);
    virtual ~CReviewDefectFinder(void);
 
    void InitReviewDefectFinder();
    BOOL FindDefect(BYTE* pImageData, int nWidth, int nHeight, double& dPitch, int nAutoPitchRange, int nThreshold, POINT& ptDefectPos, CRect& rtDefectPos);
    BOOL FindDefect(BYTE* pImageData, int nWidth, int nHeight, const SReviewDefectFindParam& findParam, SReviewDefectFindResult& findResult);
 
protected:
    CPitchStat*            m_pPitchStat;
    CDefectStorage*        m_pDefectStorage;
    CMosisBuffer*        m_pImageBuffer;
    CInspectParam*        m_pConvParam;
    CAssemControl*        m_pAssemControl;
};