01: #ifndef __INCLUDE_HOUGH_H__
02: #define __INCLUDE_HOUGH_H__
03:
04:
05:
06: enum HOUGH_FIND_COLOR {
07: HOUGH_WHITE = 0,
08: HOUGH_BLACK = 1,
09: };
10:
11: enum HOUGH_LINE_PROC {
12: HOUGH_LINE_MC = 0,
13: HOUGH_LINE_RTH = 1,
14: };
15:
16: typedef struct HOUGH_CIR_POINT {
17: int x,y,fv,flg;
18: } HC_POINT;
19:
20: int cir_compare(const void *c1,const void *c2);
21: int calc_cirdis(HC_POINT p1,HC_POINT p2);
22:
23: void hough_draw_line(LPBYTE inCBuf,int x1,int y1,int x2,int y2);
24: void draw_hough_cir(LPBYTE inCBuf,int cir_n,LPPOINT cir_p,int radius);
25:
26:
27: void LHough_proc(LPBYTE inBuf,double lnMag,int lhough_opt=HOUGH_LINE_MC);
28: void Hough_line_mc(LPBYTE inBuf,int *hps_mcx,int *hps_mcy,
29: int max_m,int max_c,int step=1);
30: void Hough_line_rth(LPBYTE inBuf,int *rth,int max_r,int mar_th,
31: int thstep=1);
32: int CHough_proc(LPBYTE inBuf,LPPOINT cpoints,
33: int radius,int FindMax,double lnMag);
34: void Hough_cir(LPBYTE inBuf,int* HPSwgt,int radius);
35:
36:
37: #endif