11 #define PI 3.1415926535
12 #define ZERO_TRESH 0.0000000001
24 #define HYST_LOW_CUT 0.0
29 #define ALF_TRESH PI/4
31 static const int gNb[8][2]=
43 static const double gAlpha[8][2]=
70 void DoEdgeDetect(BgImage* cim, BgEdgeList* cel,
double nmxr,
double nmxc,
71 double rh,
double ch,
double rl,
double cl,
72 int nMin,
int nmxType,
int hystTypeHigh,
int hystTypeLow);
75 void ComputeEdgeInfo(BgImage*,
float*,
float*);
78 void DoRecompute(BgEdgeList*,
double,
double,
double,
double,
double,
double,
int,
int,
int,
int);
80 BgEdgeDetect(
int filtDim);
85 float EllipseEval(
float,
float);
86 float EllipseComp(
float,
float,
float,
float);
87 float LineEval(
float,
float);
88 float LineComp(
float,
float,
float,
float);
89 float VerticalLineEval(
float,
float);
90 float VerticalLineComp(
float,
float,
float,
float);
91 float HorizontalLineEval(
float,
float);
92 float HorizontalLineComp(
float,
float,
float,
float);
93 float SquareEval(
float,
float);
94 float SquareComp(
float,
float,
float,
float);
95 float CustomRegionEval(
float,
float);
96 float CustomRegionComp(
float,
float,
float,
float);
98 void SetCustomHigh(
int*,
int*,
int,
int,
int);
99 void SetCustomLow(
int*,
int*,
int,
int,
int);
100 void SetCustomHigh(
double*,
double*,
int);
101 void SetCustomLow(
double*,
double*,
int);
104 void GetPixels(
int*,
int*,
int*,
double,
double,
double,
double);
105 void GetNmxPixels(
int*,
int*,
int*,
double,
double,
double,
double);
107 double smofil_[MAX_FILTS];
108 double diffil_[MAX_FILTS];
109 double wdx_[MAX_FILTS*MAX_FILTS];
110 double wdy_[MAX_FILTS*MAX_FILTS];
111 double mN_[MAX_FILTS][MAX_FILTS];
112 double mQ_[MAX_FILTS][MAX_FILTS];
113 double* lookTable_[NO_ANGLES];
143 void GenerateMaskAngle(
double*,
double);
144 void CreateFilters(
void);
145 void CreateLookTable(
void);
146 void DeleteLookTable(
void);
147 void GaussFilter(BgImage*,
float*,
double,
int);
148 void GaussDiffFilter(BgImage*,
float*,
float*,
float*);
149 void Strength(
float*,
float*,
float*);
150 void NewNonMaxSupress(
float*,
float*,
float*,
float*,
float*,
float* ,
151 float (BgEdgeDetect::*compf)(
float,
float,
float,
float));
152 void StrConfEstim(
float*,
float*,
float*,
float (BgEdgeDetect::*evalf)(
float,
float));
153 void CompRanks(
float*,
float*);
154 void NewHysteresisTr(
float*,
float*, BgEdgeList*,
int,
float*,
float*);
155 void NewEdgeFollow(
int,
int);
156 void SubspaceEstim(
float*,
float*,
float*,
float*);