various debugging pieces in edges.[ch]
[sparrow.git] / edges.h
blob0b789f6af38cfbd698bbe67f18e4f223e34e1d16
1 #ifndef __SPARROW_EDGES_H__
2 #define __SPARROW_EDGES_H__
4 typedef struct sparrow_corner_s {
5 int out_x; /*regular, unnecessary?*/
6 int out_y;
7 int in_x;
8 int in_y;
9 /*dyh -> dy to next point horizontally */
10 int dxh;
11 int dyh;
12 int dxv;
13 int dyv;
14 int used;
15 } sparrow_corner_t;
17 typedef struct sparrow_voter_s {
18 int x;
19 int y;
20 guint32 signal;
21 } sparrow_voter_t;
23 typedef struct sparrow_cluster_s {
24 int n;
25 sparrow_voter_t voters[8];
26 } sparrow_cluster_t;
29 typedef union sparrow_signal_s {
30 guint16 v_signal;
31 guint16 h_signal;
32 } sparrow_signal_t;
35 typedef struct sparrow_intersect_s {
36 guint16 lines[2];
37 guint16 signal[2];
38 } sparrow_intersect_t;
40 typedef struct sparrow_line_s {
41 gint offset;
42 sparrow_axis_t dir;
43 gint index;
44 } sparrow_line_t;
46 typedef struct sparrow_find_lines_s {
47 //sparrow_line_t *lines;
48 sparrow_line_t *h_lines;
49 sparrow_line_t *v_lines;
50 sparrow_line_t **shuffled_lines;
51 int current;
52 int n_lines;
53 int n_vlines;
54 int n_hlines;
55 gint threshold;
56 gint shift1;
57 gint shift2;
58 sparrow_intersect_t *map;
59 sparrow_corner_t *mesh;
60 sparrow_cluster_t *clusters;
61 sparrow_corner_t *corners;
62 IplImage *debug;
63 } sparrow_find_lines_t;
66 #define debug_find_lines(fl)GST_DEBUG( \
67 "fl:\n" \
68 " sparrow_line_t *h_lines: %p\n" \
69 " sparrow_line_t *v_lines: %p\n" \
70 " sparrow_line_t **shuffled_lines: %p\n" \
71 " int current: %d\n" \
72 " int n_lines: %d\n" \
73 " int n_vlines: %d\n" \
74 " int n_hlines: %d\n" \
75 " gint threshold: %d\n" \
76 " gint shift1: %d\n" \
77 " gint shift2: %d\n" \
78 " sparrow_intersect_t *map: %p\n" \
79 " sparrow_corner_t *mesh: %p\n" \
80 " sparrow_cluster_t *clusters: %p\n" \
81 " sparrow_corner_t *corners: %p\n" \
82 , \
83 (fl)->h_lines, \
84 (fl)->v_lines, \
85 (fl)->shuffled_lines, \
86 (fl)->current, \
87 (fl)->n_lines, \
88 (fl)->n_vlines, \
89 (fl)->n_hlines, \
90 (fl)->threshold, \
91 (fl)->shift1, \
92 (fl)->shift2, \
93 (fl)->map, \
94 (fl)->mesh, \
95 (fl)->clusters, \
96 (fl)->corners) \
98 //#undef debug_find_lines
99 //#define debug_find_lines(x) /* */
102 #endif /*have this .h*/