01: #ifndef __INCLUDE_HOUGH_H__
02: #define __INCLUDE_HOUGH_H__
03: 
04: //-----------------------------------------------------------------
05: // HOUGH 変換により検出する色
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, // m/c[傾き/切片]によるパラメータ空間
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: // Hough変換
26: //void LHough_proc(LPBYTE inBuf,int lhough_opt,double lnMag);
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 //__INCLUDE_HOUGH_H__
inserted by FC2 system