try to discard unconnected points.
[sparrow.git] / edges.h
blob5ae480da24523da540bd47c177f13f370ad40a4d
1 #ifndef __SPARROW_EDGES_H__
2 #define __SPARROW_EDGES_H__
4 typedef struct sparrow_corner_s {
5 int in_x;
6 int in_y;
7 /*dyr -> dy to next point right
8 dxd ->dx to next point down */
9 int dxr;
10 int dyr;
11 int dxd;
12 int dyd;
13 int used;
14 } sparrow_corner_t;
16 typedef struct sparrow_voter_s {
17 int x;
18 int y;
19 guint32 signal;
20 } sparrow_voter_t;
22 typedef struct sparrow_cluster_s {
23 int n;
24 sparrow_voter_t voters[8];
25 } sparrow_cluster_t;
28 typedef union sparrow_signal_s {
29 guint16 v_signal;
30 guint16 h_signal;
31 } sparrow_signal_t;
34 typedef struct sparrow_intersect_s {
35 guint16 lines[2];
36 guint16 signal[2];
37 } sparrow_intersect_t;
39 typedef struct sparrow_line_s {
40 gint offset;
41 sparrow_axis_t dir;
42 gint index;
43 } sparrow_line_t;
45 typedef struct sparrow_find_lines_s {
46 //sparrow_line_t *lines;
47 sparrow_line_t *h_lines;
48 sparrow_line_t *v_lines;
49 sparrow_line_t **shuffled_lines;
50 int current;
51 int n_lines;
52 int n_vlines;
53 int n_hlines;
54 gint threshold;
55 gint shift1;
56 gint shift2;
57 sparrow_intersect_t *map;
58 sparrow_corner_t *mesh;
59 sparrow_cluster_t *clusters;
60 IplImage *debug;
61 } sparrow_find_lines_t;
64 #define DEBUG_FIND_LINES(fl)GST_DEBUG( \
65 "fl:\n" \
66 " sparrow_line_t *h_lines: %p\n" \
67 " sparrow_line_t *v_lines: %p\n" \
68 " sparrow_line_t **shuffled_lines: %p\n" \
69 " int current: %d\n" \
70 " int n_lines: %d\n" \
71 " int n_vlines: %d\n" \
72 " int n_hlines: %d\n" \
73 " gint threshold: %d\n" \
74 " gint shift1: %d\n" \
75 " gint shift2: %d\n" \
76 " sparrow_intersect_t *map: %p\n" \
77 " sparrow_corner_t *mesh: %p\n" \
78 " sparrow_cluster_t *clusters: %p\n" \
79 , \
80 (fl)->h_lines, \
81 (fl)->v_lines, \
82 (fl)->shuffled_lines, \
83 (fl)->current, \
84 (fl)->n_lines, \
85 (fl)->n_vlines, \
86 (fl)->n_hlines, \
87 (fl)->threshold, \
88 (fl)->shift1, \
89 (fl)->shift2, \
90 (fl)->map, \
91 (fl)->mesh, \
92 (fl)->clusters) \
94 //#undef debug_find_lines
95 //#define debug_find_lines(x) /* */
98 #endif /*have this .h*/