29 unsigned char _conf_2L_6[] = {
30 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
31 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00,
32 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80,
33 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0xbf,
34 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x80, 0xbf, 0x00,
35 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
36 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
37 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
38 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
39 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
40 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
41 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
42 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01,
43 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00,
44 0x00, 0x00, 0xab, 0xaa, 0xaa, 0xbe, 0xab, 0xaa, 0xaa, 0x3e, 0x00, 0x00, 0x00,
45 0x00, 0xab, 0xaa, 0xaa, 0x3e, 0xab, 0xaa, 0xaa, 0x3e, 0x00, 0x00, 0x00, 0x00,
46 0xab, 0xaa, 0xaa, 0x3e, 0xab, 0xaa, 0xaa, 0xbe, 0x00, 0x00, 0x00, 0x00, 0xab,
47 0xaa, 0xaa, 0xbe, 0xab, 0xaa, 0xaa, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
48 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
49 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
50 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
52 unsigned int _conf_2L_6_len = 272;
54 std::stringstream stream;
55 stream.write((
char *)_conf_2L_6,
sizeof(
unsigned char) * _conf_2L_6_len);
61 unsigned char _conf_3L_6[] = {
62 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00,
64 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80,
65 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0xbf,
66 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x80, 0xbf, 0x00,
67 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00,
68 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00,
69 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
70 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
71 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01,
72 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
73 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00,
74 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
75 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
76 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01,
77 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01,
78 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
79 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xb7, 0x6d, 0xdb, 0xbe, 0xb7, 0x6d,
80 0xdb, 0x3e, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x6d, 0xdb, 0x3e, 0xb7, 0x6d, 0xdb,
81 0x3e, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x6d, 0xdb, 0x3e, 0xb7, 0x6d, 0xdb, 0xbe,
82 0x00, 0x00, 0x00, 0x00, 0xb7, 0x6d, 0xdb, 0xbe, 0xb7, 0x6d, 0xdb, 0xbe, 0x00,
83 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00,
84 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
85 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
86 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
87 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
88 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
89 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01,
90 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01,
91 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x24, 0x00,
92 0x00, 0x00, 0x25, 0x49, 0x12, 0xbe, 0x25, 0x49, 0x12, 0x3e, 0x00, 0x00, 0x00,
93 0x00, 0x25, 0x49, 0x12, 0x3e, 0x25, 0x49, 0x12, 0x3e, 0x00, 0x00, 0x00, 0x00,
94 0x25, 0x49, 0x12, 0x3e, 0x25, 0x49, 0x12, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x25,
95 0x49, 0x12, 0xbe, 0x25, 0x49, 0x12, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
96 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,
97 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
98 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
100 unsigned int _conf_3L_6_len = 480;
102 std::stringstream stream;
103 stream.write((
char *)_conf_3L_6,
sizeof(
unsigned char) * _conf_3L_6_len);
109 unsigned char _conf_4L_6[] = {
110 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111 0x00, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00,
112 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80,
113 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0xbf,
114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x80, 0xbf, 0x00,
115 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
116 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
117 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
118 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
119 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
122 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
123 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
124 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
126 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
127 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
128 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
129 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xef, 0xee, 0xee, 0xbe, 0xef, 0xee, 0xee,
130 0x3e, 0x00, 0x00, 0x00, 0x00, 0xef, 0xee, 0xee, 0x3e, 0xef, 0xee, 0xee, 0x3e,
131 0x00, 0x00, 0x00, 0x00, 0xef, 0xee, 0xee, 0x3e, 0xef, 0xee, 0xee, 0xbe, 0x00,
132 0x00, 0x00, 0x00, 0xef, 0xee, 0xee, 0xbe, 0xef, 0xee, 0xee, 0xbe, 0x00, 0x00,
133 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01,
135 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01,
136 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00,
137 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01,
138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00,
139 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
140 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
141 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
142 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01,
143 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
144 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00,
145 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0xbe, 0xcd, 0xcc, 0x4c,
146 0x3e, 0x00, 0x00, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3e, 0xcd, 0xcc, 0x4c, 0x3e,
147 0x00, 0x00, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3e, 0xcd, 0xcc, 0x4c, 0xbe, 0x00,
148 0x00, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0xbe, 0xcd, 0xcc, 0x4c, 0xbe, 0x00, 0x00,
149 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01,
150 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01,
151 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
152 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
153 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01,
154 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
155 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01,
156 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00,
157 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00,
158 0x00, 0x89, 0x88, 0x88, 0xbd, 0x89, 0x88, 0x88, 0x3d, 0x00, 0x00, 0x00, 0x00,
159 0x89, 0x88, 0x88, 0x3d, 0x89, 0x88, 0x88, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x89,
160 0x88, 0x88, 0x3d, 0x89, 0x88, 0x88, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x89, 0x88,
161 0x88, 0xbd, 0x89, 0x88, 0x88, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
162 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01,
163 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00,
164 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
166 unsigned int _conf_4L_6_len = 713;
168 std::stringstream stream;
169 stream.write((
char *)_conf_4L_6,
sizeof(
unsigned char) * _conf_4L_6_len);
175 unsigned char _conf_5L_6[] = {
176 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
177 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00,
178 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80,
179 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, 0xbf,
180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x80, 0xbf, 0x00,
181 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00,
182 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00,
183 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01,
184 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
185 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
186 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
187 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
188 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01,
189 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01,
190 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
191 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0x4f, 0xec, 0xc4,
192 0xbe, 0x4f, 0xec, 0xc4, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xec, 0xc4, 0x3e,
193 0x4f, 0xec, 0xc4, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xec, 0xc4, 0x3e, 0x4f,
194 0xec, 0xc4, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xec, 0xc4, 0xbe, 0x4f, 0xec,
195 0xc4, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00,
196 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
197 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
198 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
199 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
200 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
202 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
203 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
204 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
205 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
206 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
207 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01,
208 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
209 0x00, 0x02, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x7d, 0xcb, 0x37, 0xbe,
210 0x7d, 0xcb, 0x37, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xcb, 0x37, 0x3e, 0x7d,
211 0xcb, 0x37, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xcb, 0x37, 0x3e, 0x7d, 0xcb,
212 0x37, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xcb, 0x37, 0xbe, 0x7d, 0xcb, 0x37,
213 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
214 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00,
215 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
216 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
217 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
218 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,
219 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
220 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01,
221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01,
222 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01,
223 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00,
224 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
225 0x00, 0x03, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xd9, 0x89, 0x9d, 0xbd,
226 0xd9, 0x89, 0x9d, 0x3d, 0x00, 0x00, 0x00, 0x00, 0xd9, 0x89, 0x9d, 0x3d, 0xd9,
227 0x89, 0x9d, 0x3d, 0x00, 0x00, 0x00, 0x00, 0xd9, 0x89, 0x9d, 0x3d, 0xd9, 0x89,
228 0x9d, 0xbd, 0x00, 0x00, 0x00, 0x00, 0xd9, 0x89, 0x9d, 0xbd, 0xd9, 0x89, 0x9d,
229 0xbd, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01,
230 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00,
231 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
232 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
233 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
234 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01,
235 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
236 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00,
237 0x01, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
238 0x24, 0x00, 0x00, 0x00, 0x21, 0x0d, 0xd2, 0xbc, 0x21, 0x0d, 0xd2, 0x3c, 0x00,
239 0x00, 0x00, 0x00, 0x21, 0x0d, 0xd2, 0x3c, 0x21, 0x0d, 0xd2, 0x3c, 0x00, 0x00,
240 0x00, 0x00, 0x21, 0x0d, 0xd2, 0x3c, 0x21, 0x0d, 0xd2, 0xbc, 0x00, 0x00, 0x00,
241 0x00, 0x21, 0x0d, 0xd2, 0xbc, 0x21, 0x0d, 0xd2, 0xbc, 0x00, 0x00, 0x00, 0x00,
242 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01,
243 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00,
244 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
247 unsigned int _conf_5L_6_len = 898;
249 std::stringstream stream;
250 stream.write((
char *)_conf_5L_6,
sizeof(
unsigned char) * _conf_5L_6_len);
255 throw cv::Exception(-1,
"CUSTOM type is only set by loading from file",
256 "FractalMarkerSet::loadPredefined",
"fractalmarkerset.h", -1);
260 throw cv::Exception(9001,
"Invalid Dictionary type requested",
261 "Dictionary::loadPredefined", __FILE__, __LINE__);
276 return "FRACTAL_2L_6";
278 return "FRACTAL_3L_6";
280 return "FRACTAL_4L_6";
282 return "FRACTAL_5L_6";
286 return "Non valid CONF_TYPE";
291 if (str ==
"FRACTAL_2L_6")
293 if (str ==
"FRACTAL_3L_6")
295 if (str ==
"FRACTAL_4L_6")
297 if (str ==
"FRACTAL_5L_6")
305 return {
"FRACTAL_2L_6",
"FRACTAL_3L_6",
"FRACTAL_4L_6",
"FRACTAL_5L_6" };
317 int id = fractal.first;
318 str.write((
char *)&
id,
sizeof(
id));
320 int nbits = fractal.second.nBits();
321 str.write((
char *)&nbits,
sizeof(nbits));
323 std::vector<cv::Point3f> corners = fractal.second.points;
324 str.write((
char *)&corners[0],
sizeof(cv::Point3f) * 4);
326 cv::Mat mat = fractal.second.mat();
327 str.write((
char *)mat.data, mat.elemSize() * mat.total());
329 std::vector<int> sub = fractal.second.subMarkers();
330 int nsub = sub.size();
331 str.write((
char *)&nsub,
sizeof(nsub));
332 str.write((
char *)&sub[0],
sizeof(
int) * nsub);
342 for (
int i = 0; i < configuration.
_nmarkers; i++)
346 str.read((
char *)&
id,
sizeof(
id));
349 str.read((
char *)&nbits,
sizeof(nbits));
352 std::vector<cv::Point3f> corners(4);
353 str.read((
char *)&corners[0],
sizeof(cv::Point3f) * 4);
356 mat.create(sqrt(nbits), sqrt(nbits), CV_8UC1);
357 str.read((
char *)mat.data, mat.elemSize() * mat.total());
360 str.read((
char *)&nsub,
sizeof(nsub));
361 std::vector<int> id_submarkers(nsub);
363 str.read((
char *)&id_submarkers[0],
sizeof(
int) * nsub);
374 for (
auto id : id_marker.second.subMarkers())
392 std::vector<int> submarkers;
395 for (
int n = regionsConfig.size() - 1; n >= 0; n--)
397 int nVal = regionsConfig[n].first;
398 int kVal = regionsConfig[n].second;
402 pix = (nVal + 2) * pixSize;
403 std::vector<cv::Point3f> corners = { cv::Point3f(-pix / 2, pix / 2, 0.),
404 cv::Point3f(pix / 2, pix / 2, 0.),
405 cv::Point3f(pix / 2, -pix / 2, 0.),
406 cv::Point3f(-pix / 2, -pix / 2, 0.) };
414 float kValSup = regionsConfig[n - 1].second - 2;
415 float newP = (nVal + 2) / (kValSup);
416 pixSize = newP * pixSize;
424 for (
auto &c : m.second.points)
436 std::vector<cv::Point2i> pixels;
437 for (
int y = 0; y < nVal; y++)
439 for (
int x = 0; x < nVal; x++)
441 if ((x <= ((nVal - kVal) / 2) - 1 || x >= kVal + (nVal - kVal) / 2) ||
442 (y <= ((nVal - kVal) / 2) - 1 || y >= kVal + (nVal - kVal) / 2))
444 pixels.push_back(cv::Point2i(x, y));
456 std::vector<cv::Point2i> conf_pixels = pixels;
457 m = cv::Mat::ones(nVal, nVal, CV_8UC1);
464 int npix = conf_pixels.size() / 2;
465 for (
int i = 0; i < npix; i++)
467 int idxSelected = rand() % conf_pixels.size();
468 conf_pixels.erase(conf_pixels.begin() + idxSelected);
472 for (
auto p : conf_pixels)
473 m.at<
char>(p.y, p.x) = 0;
477 if (new_dst_mkr > dst_mkr)
481 if (new_dst_set > dst_set)
483 dst_mkr = new_dst_mkr;
484 dst_set = new_dst_set;
487 }
while (markerIters++ < maxIter);
489 for (
int y = ((nVal - kVal) / 2) + 1; y < kVal + (nVal - kVal) / 2 - 1; y++)
491 for (
int x = ((nVal - kVal) / 2) + 1; x < kVal + (nVal - kVal) / 2 - 1; x++)
493 m.at<
char>(y, x) = 0;
505 int HDist = m.cols * m.rows;
510 if (marker.second.nBits() == m.total())
516 else if (HDistTemp < HDist)
530 for (
int i = 0; i < m.rows; i++)
532 for (
int j = 0; j < m.cols; j++)
534 out.at<
char>(i, j) = m.at<
char>(m.cols - j - 1, i);
542 int HDist = m.cols * m.rows;
549 for (
int i = 0; i < 3; i++)
553 cv::compare(rot, m, diff, cv::CMP_NE);
554 HDistTemp = cv::countNonZero(diff);
555 if (HDistTemp < HDist)
563 int HDist = m2.cols * m2.rows;
566 for (
int i = 0; i < 4; i++)
569 cv::compare(
rotate(m2), m1, diff, cv::CMP_NE);
570 HDistTemp = cv::countNonZero(diff);
571 if (HDistTemp < HDist)
584 fs.open(path, cv::FileStorage::READ);
586 catch (std::exception &ex)
588 throw cv::Exception(81818,
"FractalMarkerSet::readFromFile",
589 ex.what() + std::string(
" file=)") + path, __FILE__, __LINE__);
594 fs[
"mInfoType"] >> configuration.
mInfoType;
595 fs[
"fractal_levels"] >> configuration.
_nmarkers;
596 fs[
"fractal_external_id"] >> configuration.
_idExternal;
598 cv::FileNode markers = fs[
"markers"];
600 for (cv::FileNodeIterator it = markers.begin(); it != markers.end(); ++it, i++)
602 int id = (*it)[
"id"];
603 std::vector<int> bits;
605 std::vector<cv::Point3f> corners;
606 std::vector<int> submarkers_id;
608 cv::FileNode bitsMarker = (*it)[
"bits"];
609 for (cv::FileNodeIterator itb = bitsMarker.begin(); itb != bitsMarker.end(); ++itb)
611 bits.push_back(*itb);
613 cv::Mat m = cv::Mat(sqrt(bits.size()), sqrt(bits.size()), CV_32SC1);
614 memcpy(m.data, bits.data(), bits.size() *
sizeof(
int));
616 m.convertTo(m, CV_8UC1);
618 cv::FileNode cornersFractal = (*it)[
"corners"];
619 for (cv::FileNodeIterator itp = cornersFractal.begin(); itp != cornersFractal.end(); ++itp)
621 std::vector<float> coordinates3d;
622 (*itp) >> coordinates3d;
623 if (coordinates3d.size() != 3)
624 throw cv::Exception(81818,
"FractalMarkerSet::readFromFile",
625 "invalid file type 3", __FILE__, __LINE__);
626 cv::Point3f point(coordinates3d[0], coordinates3d[1], coordinates3d[2]);
627 corners.push_back(point);
630 cv::FileNode submarkersID = (*it)[
"submarkers_id"];
631 for (cv::FileNodeIterator itm = submarkersID.begin(); itm != submarkersID.end(); ++itm)
633 submarkers_id.push_back((*itm));
645 for (
auto id : id_marker.second.subMarkers())
649 return configuration;
666 <<
"id" << (int)id_marker.first;
670 cv::Mat m = marker.
mat();
671 for (
int y = 0; y < m.cols; y++)
672 for (
int x = 0; x < m.rows; x++)
673 if (m.at<
char>(y, x) == 2)
676 fs << m.at<
char>(y, x);
681 for (
auto corner : marker.
points)
685 fs <<
"submarkers_id"
706 m.copyTo(m2, fm.
mask());
709 if (cv::countNonZero(m2 != fm.
mat()) == 0)
728 throw cv::Exception(-1,
"The FractalMarkers are not expressed in pixels",
729 "FractalMarkerSet::convertToMeters", __FILE__, __LINE__);
740 for (
int c = 0; c < 4; c++)
751 throw cv::Exception(-1,
"The FractalMarkers are not expressed in pixels or meters",
752 "FractalMarkerSet::convertToMeters", __FILE__, __LINE__);
762 for (
size_t c = 0; c < 4; c++)
773 std::map<int, std::vector<cv::Point3f>> id_innerCorners;
777 int id = id_fm.first;
783 return id_innerCorners;
789 throw cv::Exception(9001,
"There is not any fractal marker loaded",
790 "FractalMarkerSet::getFractalMarkerImage", __FILE__, __LINE__);
798 float markerBitSize = markerSize / (sqrt(externMarker.
nBits()) + 2);
799 cv::Mat img = cv::Mat::zeros(markerSize, markerSize, CV_8U);
802 cv::Mat m = externMarker.
mat();
804 for (
int y = m.cols - 1; y >= 0; y--)
805 for (
int x = m.cols - 1; x >= 0; x--)
807 if (m.at<uchar>(y, x) == 1)
809 cv::Range val1 = cv::Range((1 + y) * markerBitSize, (y + 2) * markerBitSize);
810 cv::Range val2 = cv::Range((1 + x) * markerBitSize, (x + 2) * markerBitSize);
812 cv::Mat bit_pix = img(val1, val2);
813 bit_pix.setTo(cv::Scalar::all(255));
817 for (
auto idSubmarker : externMarker.
subMarkers())
819 std::vector<int> idds;
820 idds.push_back(idSubmarker);
821 while (!idds.empty())
823 idSubmarker = idds.back();
828 cv::Mat m = submarker.
mat();
829 cv::Point3f coord = submarker.
points[0];
832 float markerBitSize = markerSize / (sqrt(submarker.
nBits()) + 2);
835 float offsetX = fabs(coord.x - externMarker.
points[0].x) / bitSize;
836 float offsetY = fabs(coord.y - externMarker.
points[0].y) / bitSize;
839 for (
int y = m.cols - 1; y >= 0; y--)
840 for (
int x = m.cols - 1; x >= 0; x--)
842 if (m.at<uchar>(y, x) == 1)
844 cv::Range val1 = cv::Range((1 + y) * markerBitSize + offsetY,
845 (2 + y) * markerBitSize + offsetY);
846 cv::Range val2 = cv::Range((1 + x) * markerBitSize + offsetX,
847 (2 + x) * markerBitSize + offsetX);
849 cv::Mat bit_pix = img(val1, val2);
850 bit_pix.setTo(cv::Scalar::all(255));
856 idds.push_back(idsm);
861 copyMakeBorder(img, img, markerBitSize, markerBitSize, markerBitSize, markerBitSize,
862 cv::BORDER_CONSTANT, cv::Scalar::all(255));