fixing up mesh
[sparrow.git] / edges.h
blobc315c4f3f2ce25fa0710b7816499c87001e01bdc
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 IplImage *debug;
62 } sparrow_find_lines_t;
65 #define DEBUG_FIND_LINES(fl)GST_DEBUG( \
66 "fl:\n" \
67 " sparrow_line_t *h_lines: %p\n" \
68 " sparrow_line_t *v_lines: %p\n" \
69 " sparrow_line_t **shuffled_lines: %p\n" \
70 " int current: %d\n" \
71 " int n_lines: %d\n" \
72 " int n_vlines: %d\n" \
73 " int n_hlines: %d\n" \
74 " gint threshold: %d\n" \
75 " gint shift1: %d\n" \
76 " gint shift2: %d\n" \
77 " sparrow_intersect_t *map: %p\n" \
78 " sparrow_corner_t *mesh: %p\n" \
79 " sparrow_cluster_t *clusters: %p\n" \
80 , \
81 (fl)->h_lines, \
82 (fl)->v_lines, \
83 (fl)->shuffled_lines, \
84 (fl)->current, \
85 (fl)->n_lines, \
86 (fl)->n_vlines, \
87 (fl)->n_hlines, \
88 (fl)->threshold, \
89 (fl)->shift1, \
90 (fl)->shift2, \
91 (fl)->map, \
92 (fl)->mesh, \
93 (fl)->clusters) \
95 //#undef debug_find_lines
96 //#define debug_find_lines(x) /* */
99 #endif /*have this .h*/