tag36artoolkit.c
Go to the documentation of this file.
1 /* Copyright (C) 2013-2016, The Regents of The University of Michigan.
2 All rights reserved.
3 
4 This software was developed in the APRIL Robotics Lab under the
5 direction of Edwin Olson, ebolson@umich.edu. This software may be
6 available under alternative licensing terms; contact the address above.
7 
8 An unlimited license is granted to use, adapt, modify, or embed the 2D
9 barcodes into any medium.
10 
11 Redistribution and use in source and binary forms, with or without
12 modification, are permitted provided that the following conditions are met:
13 
14 1. Redistributions of source code must retain the above copyright notice, this
15  list of conditions and the following disclaimer.
16 2. Redistributions in binary form must reproduce the above copyright notice,
17  this list of conditions and the following disclaimer in the documentation
18  and/or other materials provided with the distribution.
19 
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
21 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
24 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
27 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 The views and conclusions contained in the software and documentation are those
32 of the authors and should not be interpreted as representing official policies,
33 either expressed or implied, of the Regents of The University of Michigan.
34 */
35 #include <stdlib.h>
36 #include "apriltag.h"
37 
39 {
40  apriltag_family_t *tf = calloc(1, sizeof(apriltag_family_t));
41  tf->name = strdup("artoolkit");
42  tf->black_border = 1;
43  tf->d = 6;
44  tf->h = 7; // not sure.
45  tf->ncodes = 512;
46  tf->codes = calloc(512, sizeof(uint64_t));
47 
48  tf->codes[0] = 0x0006dc269c27UL;
49  tf->codes[1] = 0x0006d4229e26UL;
50  tf->codes[2] = 0x0006cc2e9825UL;
51  tf->codes[3] = 0x0006c42a9a24UL;
52  tf->codes[4] = 0x0006fc369423UL;
53  tf->codes[5] = 0x0006f4329622UL;
54  tf->codes[6] = 0x0006ec3e9021UL;
55  tf->codes[7] = 0x0006e43a9220UL;
56  tf->codes[8] = 0x00069c068c2fUL;
57  tf->codes[9] = 0x000694028e2eUL;
58  tf->codes[10] = 0x00068c0e882dUL;
59  tf->codes[11] = 0x0006840a8a2cUL;
60  tf->codes[12] = 0x0006bc16842bUL;
61  tf->codes[13] = 0x0006b412862aUL;
62  tf->codes[14] = 0x0006ac1e8029UL;
63  tf->codes[15] = 0x0006a41a8228UL;
64  tf->codes[16] = 0x00065c66bc37UL;
65  tf->codes[17] = 0x00065462be36UL;
66  tf->codes[18] = 0x00064c6eb835UL;
67  tf->codes[19] = 0x0006446aba34UL;
68  tf->codes[20] = 0x00067c76b433UL;
69  tf->codes[21] = 0x00067472b632UL;
70  tf->codes[22] = 0x00066c7eb031UL;
71  tf->codes[23] = 0x0006647ab230UL;
72  tf->codes[24] = 0x00061c46ac3fUL;
73  tf->codes[25] = 0x00061442ae3eUL;
74  tf->codes[26] = 0x00060c4ea83dUL;
75  tf->codes[27] = 0x0006044aaa3cUL;
76  tf->codes[28] = 0x00063c56a43bUL;
77  tf->codes[29] = 0x00063452a63aUL;
78  tf->codes[30] = 0x00062c5ea039UL;
79  tf->codes[31] = 0x0006245aa238UL;
80  tf->codes[32] = 0x0007dca6dc07UL;
81  tf->codes[33] = 0x0007d4a2de06UL;
82  tf->codes[34] = 0x0007ccaed805UL;
83  tf->codes[35] = 0x0007c4aada04UL;
84  tf->codes[36] = 0x0007fcb6d403UL;
85  tf->codes[37] = 0x0007f4b2d602UL;
86  tf->codes[38] = 0x0007ecbed001UL;
87  tf->codes[39] = 0x0007e4bad200UL;
88  tf->codes[40] = 0x00079c86cc0fUL;
89  tf->codes[41] = 0x00079482ce0eUL;
90  tf->codes[42] = 0x00078c8ec80dUL;
91  tf->codes[43] = 0x0007848aca0cUL;
92  tf->codes[44] = 0x0007bc96c40bUL;
93  tf->codes[45] = 0x0007b492c60aUL;
94  tf->codes[46] = 0x0007ac9ec009UL;
95  tf->codes[47] = 0x0007a49ac208UL;
96  tf->codes[48] = 0x00075ce6fc17UL;
97  tf->codes[49] = 0x000754e2fe16UL;
98  tf->codes[50] = 0x00074ceef815UL;
99  tf->codes[51] = 0x000744eafa14UL;
100  tf->codes[52] = 0x00077cf6f413UL;
101  tf->codes[53] = 0x000774f2f612UL;
102  tf->codes[54] = 0x00076cfef011UL;
103  tf->codes[55] = 0x000764faf210UL;
104  tf->codes[56] = 0x00071cc6ec1fUL;
105  tf->codes[57] = 0x000714c2ee1eUL;
106  tf->codes[58] = 0x00070ccee81dUL;
107  tf->codes[59] = 0x000704caea1cUL;
108  tf->codes[60] = 0x00073cd6e41bUL;
109  tf->codes[61] = 0x000734d2e61aUL;
110  tf->codes[62] = 0x00072cdee019UL;
111  tf->codes[63] = 0x000724dae218UL;
112  tf->codes[64] = 0x0004dd261c67UL;
113  tf->codes[65] = 0x0004d5221e66UL;
114  tf->codes[66] = 0x0004cd2e1865UL;
115  tf->codes[67] = 0x0004c52a1a64UL;
116  tf->codes[68] = 0x0004fd361463UL;
117  tf->codes[69] = 0x0004f5321662UL;
118  tf->codes[70] = 0x0004ed3e1061UL;
119  tf->codes[71] = 0x0004e53a1260UL;
120  tf->codes[72] = 0x00049d060c6fUL;
121  tf->codes[73] = 0x000495020e6eUL;
122  tf->codes[74] = 0x00048d0e086dUL;
123  tf->codes[75] = 0x0004850a0a6cUL;
124  tf->codes[76] = 0x0004bd16046bUL;
125  tf->codes[77] = 0x0004b512066aUL;
126  tf->codes[78] = 0x0004ad1e0069UL;
127  tf->codes[79] = 0x0004a51a0268UL;
128  tf->codes[80] = 0x00045d663c77UL;
129  tf->codes[81] = 0x000455623e76UL;
130  tf->codes[82] = 0x00044d6e3875UL;
131  tf->codes[83] = 0x0004456a3a74UL;
132  tf->codes[84] = 0x00047d763473UL;
133  tf->codes[85] = 0x000475723672UL;
134  tf->codes[86] = 0x00046d7e3071UL;
135  tf->codes[87] = 0x0004657a3270UL;
136  tf->codes[88] = 0x00041d462c7fUL;
137  tf->codes[89] = 0x000415422e7eUL;
138  tf->codes[90] = 0x00040d4e287dUL;
139  tf->codes[91] = 0x0004054a2a7cUL;
140  tf->codes[92] = 0x00043d56247bUL;
141  tf->codes[93] = 0x00043552267aUL;
142  tf->codes[94] = 0x00042d5e2079UL;
143  tf->codes[95] = 0x0004255a2278UL;
144  tf->codes[96] = 0x0005dda65c47UL;
145  tf->codes[97] = 0x0005d5a25e46UL;
146  tf->codes[98] = 0x0005cdae5845UL;
147  tf->codes[99] = 0x0005c5aa5a44UL;
148  tf->codes[100] = 0x0005fdb65443UL;
149  tf->codes[101] = 0x0005f5b25642UL;
150  tf->codes[102] = 0x0005edbe5041UL;
151  tf->codes[103] = 0x0005e5ba5240UL;
152  tf->codes[104] = 0x00059d864c4fUL;
153  tf->codes[105] = 0x000595824e4eUL;
154  tf->codes[106] = 0x00058d8e484dUL;
155  tf->codes[107] = 0x0005858a4a4cUL;
156  tf->codes[108] = 0x0005bd96444bUL;
157  tf->codes[109] = 0x0005b592464aUL;
158  tf->codes[110] = 0x0005ad9e4049UL;
159  tf->codes[111] = 0x0005a59a4248UL;
160  tf->codes[112] = 0x00055de67c57UL;
161  tf->codes[113] = 0x000555e27e56UL;
162  tf->codes[114] = 0x00054dee7855UL;
163  tf->codes[115] = 0x000545ea7a54UL;
164  tf->codes[116] = 0x00057df67453UL;
165  tf->codes[117] = 0x000575f27652UL;
166  tf->codes[118] = 0x00056dfe7051UL;
167  tf->codes[119] = 0x000565fa7250UL;
168  tf->codes[120] = 0x00051dc66c5fUL;
169  tf->codes[121] = 0x000515c26e5eUL;
170  tf->codes[122] = 0x00050dce685dUL;
171  tf->codes[123] = 0x000505ca6a5cUL;
172  tf->codes[124] = 0x00053dd6645bUL;
173  tf->codes[125] = 0x000535d2665aUL;
174  tf->codes[126] = 0x00052dde6059UL;
175  tf->codes[127] = 0x000525da6258UL;
176  tf->codes[128] = 0x0002de279ca7UL;
177  tf->codes[129] = 0x0002d6239ea6UL;
178  tf->codes[130] = 0x0002ce2f98a5UL;
179  tf->codes[131] = 0x0002c62b9aa4UL;
180  tf->codes[132] = 0x0002fe3794a3UL;
181  tf->codes[133] = 0x0002f63396a2UL;
182  tf->codes[134] = 0x0002ee3f90a1UL;
183  tf->codes[135] = 0x0002e63b92a0UL;
184  tf->codes[136] = 0x00029e078cafUL;
185  tf->codes[137] = 0x000296038eaeUL;
186  tf->codes[138] = 0x00028e0f88adUL;
187  tf->codes[139] = 0x0002860b8aacUL;
188  tf->codes[140] = 0x0002be1784abUL;
189  tf->codes[141] = 0x0002b61386aaUL;
190  tf->codes[142] = 0x0002ae1f80a9UL;
191  tf->codes[143] = 0x0002a61b82a8UL;
192  tf->codes[144] = 0x00025e67bcb7UL;
193  tf->codes[145] = 0x00025663beb6UL;
194  tf->codes[146] = 0x00024e6fb8b5UL;
195  tf->codes[147] = 0x0002466bbab4UL;
196  tf->codes[148] = 0x00027e77b4b3UL;
197  tf->codes[149] = 0x00027673b6b2UL;
198  tf->codes[150] = 0x00026e7fb0b1UL;
199  tf->codes[151] = 0x0002667bb2b0UL;
200  tf->codes[152] = 0x00021e47acbfUL;
201  tf->codes[153] = 0x00021643aebeUL;
202  tf->codes[154] = 0x00020e4fa8bdUL;
203  tf->codes[155] = 0x0002064baabcUL;
204  tf->codes[156] = 0x00023e57a4bbUL;
205  tf->codes[157] = 0x00023653a6baUL;
206  tf->codes[158] = 0x00022e5fa0b9UL;
207  tf->codes[159] = 0x0002265ba2b8UL;
208  tf->codes[160] = 0x0003dea7dc87UL;
209  tf->codes[161] = 0x0003d6a3de86UL;
210  tf->codes[162] = 0x0003ceafd885UL;
211  tf->codes[163] = 0x0003c6abda84UL;
212  tf->codes[164] = 0x0003feb7d483UL;
213  tf->codes[165] = 0x0003f6b3d682UL;
214  tf->codes[166] = 0x0003eebfd081UL;
215  tf->codes[167] = 0x0003e6bbd280UL;
216  tf->codes[168] = 0x00039e87cc8fUL;
217  tf->codes[169] = 0x00039683ce8eUL;
218  tf->codes[170] = 0x00038e8fc88dUL;
219  tf->codes[171] = 0x0003868bca8cUL;
220  tf->codes[172] = 0x0003be97c48bUL;
221  tf->codes[173] = 0x0003b693c68aUL;
222  tf->codes[174] = 0x0003ae9fc089UL;
223  tf->codes[175] = 0x0003a69bc288UL;
224  tf->codes[176] = 0x00035ee7fc97UL;
225  tf->codes[177] = 0x000356e3fe96UL;
226  tf->codes[178] = 0x00034eeff895UL;
227  tf->codes[179] = 0x000346ebfa94UL;
228  tf->codes[180] = 0x00037ef7f493UL;
229  tf->codes[181] = 0x000376f3f692UL;
230  tf->codes[182] = 0x00036efff091UL;
231  tf->codes[183] = 0x000366fbf290UL;
232  tf->codes[184] = 0x00031ec7ec9fUL;
233  tf->codes[185] = 0x000316c3ee9eUL;
234  tf->codes[186] = 0x00030ecfe89dUL;
235  tf->codes[187] = 0x000306cbea9cUL;
236  tf->codes[188] = 0x00033ed7e49bUL;
237  tf->codes[189] = 0x000336d3e69aUL;
238  tf->codes[190] = 0x00032edfe099UL;
239  tf->codes[191] = 0x000326dbe298UL;
240  tf->codes[192] = 0x0000df271ce7UL;
241  tf->codes[193] = 0x0000d7231ee6UL;
242  tf->codes[194] = 0x0000cf2f18e5UL;
243  tf->codes[195] = 0x0000c72b1ae4UL;
244  tf->codes[196] = 0x0000ff3714e3UL;
245  tf->codes[197] = 0x0000f73316e2UL;
246  tf->codes[198] = 0x0000ef3f10e1UL;
247  tf->codes[199] = 0x0000e73b12e0UL;
248  tf->codes[200] = 0x00009f070cefUL;
249  tf->codes[201] = 0x000097030eeeUL;
250  tf->codes[202] = 0x00008f0f08edUL;
251  tf->codes[203] = 0x0000870b0aecUL;
252  tf->codes[204] = 0x0000bf1704ebUL;
253  tf->codes[205] = 0x0000b71306eaUL;
254  tf->codes[206] = 0x0000af1f00e9UL;
255  tf->codes[207] = 0x0000a71b02e8UL;
256  tf->codes[208] = 0x00005f673cf7UL;
257  tf->codes[209] = 0x000057633ef6UL;
258  tf->codes[210] = 0x00004f6f38f5UL;
259  tf->codes[211] = 0x0000476b3af4UL;
260  tf->codes[212] = 0x00007f7734f3UL;
261  tf->codes[213] = 0x0000777336f2UL;
262  tf->codes[214] = 0x00006f7f30f1UL;
263  tf->codes[215] = 0x0000677b32f0UL;
264  tf->codes[216] = 0x00001f472cffUL;
265  tf->codes[217] = 0x000017432efeUL;
266  tf->codes[218] = 0x00000f4f28fdUL;
267  tf->codes[219] = 0x0000074b2afcUL;
268  tf->codes[220] = 0x00003f5724fbUL;
269  tf->codes[221] = 0x0000375326faUL;
270  tf->codes[222] = 0x00002f5f20f9UL;
271  tf->codes[223] = 0x0000275b22f8UL;
272  tf->codes[224] = 0x0001dfa75cc7UL;
273  tf->codes[225] = 0x0001d7a35ec6UL;
274  tf->codes[226] = 0x0001cfaf58c5UL;
275  tf->codes[227] = 0x0001c7ab5ac4UL;
276  tf->codes[228] = 0x0001ffb754c3UL;
277  tf->codes[229] = 0x0001f7b356c2UL;
278  tf->codes[230] = 0x0001efbf50c1UL;
279  tf->codes[231] = 0x0001e7bb52c0UL;
280  tf->codes[232] = 0x00019f874ccfUL;
281  tf->codes[233] = 0x000197834eceUL;
282  tf->codes[234] = 0x00018f8f48cdUL;
283  tf->codes[235] = 0x0001878b4accUL;
284  tf->codes[236] = 0x0001bf9744cbUL;
285  tf->codes[237] = 0x0001b79346caUL;
286  tf->codes[238] = 0x0001af9f40c9UL;
287  tf->codes[239] = 0x0001a79b42c8UL;
288  tf->codes[240] = 0x00015fe77cd7UL;
289  tf->codes[241] = 0x000157e37ed6UL;
290  tf->codes[242] = 0x00014fef78d5UL;
291  tf->codes[243] = 0x000147eb7ad4UL;
292  tf->codes[244] = 0x00017ff774d3UL;
293  tf->codes[245] = 0x000177f376d2UL;
294  tf->codes[246] = 0x00016fff70d1UL;
295  tf->codes[247] = 0x000167fb72d0UL;
296  tf->codes[248] = 0x00011fc76cdfUL;
297  tf->codes[249] = 0x000117c36edeUL;
298  tf->codes[250] = 0x00010fcf68ddUL;
299  tf->codes[251] = 0x000107cb6adcUL;
300  tf->codes[252] = 0x00013fd764dbUL;
301  tf->codes[253] = 0x000137d366daUL;
302  tf->codes[254] = 0x00012fdf60d9UL;
303  tf->codes[255] = 0x000127db62d8UL;
304  tf->codes[256] = 0x000ed8249d27UL;
305  tf->codes[257] = 0x000ed0209f26UL;
306  tf->codes[258] = 0x000ec82c9925UL;
307  tf->codes[259] = 0x000ec0289b24UL;
308  tf->codes[260] = 0x000ef8349523UL;
309  tf->codes[261] = 0x000ef0309722UL;
310  tf->codes[262] = 0x000ee83c9121UL;
311  tf->codes[263] = 0x000ee0389320UL;
312  tf->codes[264] = 0x000e98048d2fUL;
313  tf->codes[265] = 0x000e90008f2eUL;
314  tf->codes[266] = 0x000e880c892dUL;
315  tf->codes[267] = 0x000e80088b2cUL;
316  tf->codes[268] = 0x000eb814852bUL;
317  tf->codes[269] = 0x000eb010872aUL;
318  tf->codes[270] = 0x000ea81c8129UL;
319  tf->codes[271] = 0x000ea0188328UL;
320  tf->codes[272] = 0x000e5864bd37UL;
321  tf->codes[273] = 0x000e5060bf36UL;
322  tf->codes[274] = 0x000e486cb935UL;
323  tf->codes[275] = 0x000e4068bb34UL;
324  tf->codes[276] = 0x000e7874b533UL;
325  tf->codes[277] = 0x000e7070b732UL;
326  tf->codes[278] = 0x000e687cb131UL;
327  tf->codes[279] = 0x000e6078b330UL;
328  tf->codes[280] = 0x000e1844ad3fUL;
329  tf->codes[281] = 0x000e1040af3eUL;
330  tf->codes[282] = 0x000e084ca93dUL;
331  tf->codes[283] = 0x000e0048ab3cUL;
332  tf->codes[284] = 0x000e3854a53bUL;
333  tf->codes[285] = 0x000e3050a73aUL;
334  tf->codes[286] = 0x000e285ca139UL;
335  tf->codes[287] = 0x000e2058a338UL;
336  tf->codes[288] = 0x000fd8a4dd07UL;
337  tf->codes[289] = 0x000fd0a0df06UL;
338  tf->codes[290] = 0x000fc8acd905UL;
339  tf->codes[291] = 0x000fc0a8db04UL;
340  tf->codes[292] = 0x000ff8b4d503UL;
341  tf->codes[293] = 0x000ff0b0d702UL;
342  tf->codes[294] = 0x000fe8bcd101UL;
343  tf->codes[295] = 0x000fe0b8d300UL;
344  tf->codes[296] = 0x000f9884cd0fUL;
345  tf->codes[297] = 0x000f9080cf0eUL;
346  tf->codes[298] = 0x000f888cc90dUL;
347  tf->codes[299] = 0x000f8088cb0cUL;
348  tf->codes[300] = 0x000fb894c50bUL;
349  tf->codes[301] = 0x000fb090c70aUL;
350  tf->codes[302] = 0x000fa89cc109UL;
351  tf->codes[303] = 0x000fa098c308UL;
352  tf->codes[304] = 0x000f58e4fd17UL;
353  tf->codes[305] = 0x000f50e0ff16UL;
354  tf->codes[306] = 0x000f48ecf915UL;
355  tf->codes[307] = 0x000f40e8fb14UL;
356  tf->codes[308] = 0x000f78f4f513UL;
357  tf->codes[309] = 0x000f70f0f712UL;
358  tf->codes[310] = 0x000f68fcf111UL;
359  tf->codes[311] = 0x000f60f8f310UL;
360  tf->codes[312] = 0x000f18c4ed1fUL;
361  tf->codes[313] = 0x000f10c0ef1eUL;
362  tf->codes[314] = 0x000f08cce91dUL;
363  tf->codes[315] = 0x000f00c8eb1cUL;
364  tf->codes[316] = 0x000f38d4e51bUL;
365  tf->codes[317] = 0x000f30d0e71aUL;
366  tf->codes[318] = 0x000f28dce119UL;
367  tf->codes[319] = 0x000f20d8e318UL;
368  tf->codes[320] = 0x000cd9241d67UL;
369  tf->codes[321] = 0x000cd1201f66UL;
370  tf->codes[322] = 0x000cc92c1965UL;
371  tf->codes[323] = 0x000cc1281b64UL;
372  tf->codes[324] = 0x000cf9341563UL;
373  tf->codes[325] = 0x000cf1301762UL;
374  tf->codes[326] = 0x000ce93c1161UL;
375  tf->codes[327] = 0x000ce1381360UL;
376  tf->codes[328] = 0x000c99040d6fUL;
377  tf->codes[329] = 0x000c91000f6eUL;
378  tf->codes[330] = 0x000c890c096dUL;
379  tf->codes[331] = 0x000c81080b6cUL;
380  tf->codes[332] = 0x000cb914056bUL;
381  tf->codes[333] = 0x000cb110076aUL;
382  tf->codes[334] = 0x000ca91c0169UL;
383  tf->codes[335] = 0x000ca1180368UL;
384  tf->codes[336] = 0x000c59643d77UL;
385  tf->codes[337] = 0x000c51603f76UL;
386  tf->codes[338] = 0x000c496c3975UL;
387  tf->codes[339] = 0x000c41683b74UL;
388  tf->codes[340] = 0x000c79743573UL;
389  tf->codes[341] = 0x000c71703772UL;
390  tf->codes[342] = 0x000c697c3171UL;
391  tf->codes[343] = 0x000c61783370UL;
392  tf->codes[344] = 0x000c19442d7fUL;
393  tf->codes[345] = 0x000c11402f7eUL;
394  tf->codes[346] = 0x000c094c297dUL;
395  tf->codes[347] = 0x000c01482b7cUL;
396  tf->codes[348] = 0x000c3954257bUL;
397  tf->codes[349] = 0x000c3150277aUL;
398  tf->codes[350] = 0x000c295c2179UL;
399  tf->codes[351] = 0x000c21582378UL;
400  tf->codes[352] = 0x000dd9a45d47UL;
401  tf->codes[353] = 0x000dd1a05f46UL;
402  tf->codes[354] = 0x000dc9ac5945UL;
403  tf->codes[355] = 0x000dc1a85b44UL;
404  tf->codes[356] = 0x000df9b45543UL;
405  tf->codes[357] = 0x000df1b05742UL;
406  tf->codes[358] = 0x000de9bc5141UL;
407  tf->codes[359] = 0x000de1b85340UL;
408  tf->codes[360] = 0x000d99844d4fUL;
409  tf->codes[361] = 0x000d91804f4eUL;
410  tf->codes[362] = 0x000d898c494dUL;
411  tf->codes[363] = 0x000d81884b4cUL;
412  tf->codes[364] = 0x000db994454bUL;
413  tf->codes[365] = 0x000db190474aUL;
414  tf->codes[366] = 0x000da99c4149UL;
415  tf->codes[367] = 0x000da1984348UL;
416  tf->codes[368] = 0x000d59e47d57UL;
417  tf->codes[369] = 0x000d51e07f56UL;
418  tf->codes[370] = 0x000d49ec7955UL;
419  tf->codes[371] = 0x000d41e87b54UL;
420  tf->codes[372] = 0x000d79f47553UL;
421  tf->codes[373] = 0x000d71f07752UL;
422  tf->codes[374] = 0x000d69fc7151UL;
423  tf->codes[375] = 0x000d61f87350UL;
424  tf->codes[376] = 0x000d19c46d5fUL;
425  tf->codes[377] = 0x000d11c06f5eUL;
426  tf->codes[378] = 0x000d09cc695dUL;
427  tf->codes[379] = 0x000d01c86b5cUL;
428  tf->codes[380] = 0x000d39d4655bUL;
429  tf->codes[381] = 0x000d31d0675aUL;
430  tf->codes[382] = 0x000d29dc6159UL;
431  tf->codes[383] = 0x000d21d86358UL;
432  tf->codes[384] = 0x000ada259da7UL;
433  tf->codes[385] = 0x000ad2219fa6UL;
434  tf->codes[386] = 0x000aca2d99a5UL;
435  tf->codes[387] = 0x000ac2299ba4UL;
436  tf->codes[388] = 0x000afa3595a3UL;
437  tf->codes[389] = 0x000af23197a2UL;
438  tf->codes[390] = 0x000aea3d91a1UL;
439  tf->codes[391] = 0x000ae23993a0UL;
440  tf->codes[392] = 0x000a9a058dafUL;
441  tf->codes[393] = 0x000a92018faeUL;
442  tf->codes[394] = 0x000a8a0d89adUL;
443  tf->codes[395] = 0x000a82098bacUL;
444  tf->codes[396] = 0x000aba1585abUL;
445  tf->codes[397] = 0x000ab21187aaUL;
446  tf->codes[398] = 0x000aaa1d81a9UL;
447  tf->codes[399] = 0x000aa21983a8UL;
448  tf->codes[400] = 0x000a5a65bdb7UL;
449  tf->codes[401] = 0x000a5261bfb6UL;
450  tf->codes[402] = 0x000a4a6db9b5UL;
451  tf->codes[403] = 0x000a4269bbb4UL;
452  tf->codes[404] = 0x000a7a75b5b3UL;
453  tf->codes[405] = 0x000a7271b7b2UL;
454  tf->codes[406] = 0x000a6a7db1b1UL;
455  tf->codes[407] = 0x000a6279b3b0UL;
456  tf->codes[408] = 0x000a1a45adbfUL;
457  tf->codes[409] = 0x000a1241afbeUL;
458  tf->codes[410] = 0x000a0a4da9bdUL;
459  tf->codes[411] = 0x000a0249abbcUL;
460  tf->codes[412] = 0x000a3a55a5bbUL;
461  tf->codes[413] = 0x000a3251a7baUL;
462  tf->codes[414] = 0x000a2a5da1b9UL;
463  tf->codes[415] = 0x000a2259a3b8UL;
464  tf->codes[416] = 0x000bdaa5dd87UL;
465  tf->codes[417] = 0x000bd2a1df86UL;
466  tf->codes[418] = 0x000bcaadd985UL;
467  tf->codes[419] = 0x000bc2a9db84UL;
468  tf->codes[420] = 0x000bfab5d583UL;
469  tf->codes[421] = 0x000bf2b1d782UL;
470  tf->codes[422] = 0x000beabdd181UL;
471  tf->codes[423] = 0x000be2b9d380UL;
472  tf->codes[424] = 0x000b9a85cd8fUL;
473  tf->codes[425] = 0x000b9281cf8eUL;
474  tf->codes[426] = 0x000b8a8dc98dUL;
475  tf->codes[427] = 0x000b8289cb8cUL;
476  tf->codes[428] = 0x000bba95c58bUL;
477  tf->codes[429] = 0x000bb291c78aUL;
478  tf->codes[430] = 0x000baa9dc189UL;
479  tf->codes[431] = 0x000ba299c388UL;
480  tf->codes[432] = 0x000b5ae5fd97UL;
481  tf->codes[433] = 0x000b52e1ff96UL;
482  tf->codes[434] = 0x000b4aedf995UL;
483  tf->codes[435] = 0x000b42e9fb94UL;
484  tf->codes[436] = 0x000b7af5f593UL;
485  tf->codes[437] = 0x000b72f1f792UL;
486  tf->codes[438] = 0x000b6afdf191UL;
487  tf->codes[439] = 0x000b62f9f390UL;
488  tf->codes[440] = 0x000b1ac5ed9fUL;
489  tf->codes[441] = 0x000b12c1ef9eUL;
490  tf->codes[442] = 0x000b0acde99dUL;
491  tf->codes[443] = 0x000b02c9eb9cUL;
492  tf->codes[444] = 0x000b3ad5e59bUL;
493  tf->codes[445] = 0x000b32d1e79aUL;
494  tf->codes[446] = 0x000b2adde199UL;
495  tf->codes[447] = 0x000b22d9e398UL;
496  tf->codes[448] = 0x0008db251de7UL;
497  tf->codes[449] = 0x0008d3211fe6UL;
498  tf->codes[450] = 0x0008cb2d19e5UL;
499  tf->codes[451] = 0x0008c3291be4UL;
500  tf->codes[452] = 0x0008fb3515e3UL;
501  tf->codes[453] = 0x0008f33117e2UL;
502  tf->codes[454] = 0x0008eb3d11e1UL;
503  tf->codes[455] = 0x0008e33913e0UL;
504  tf->codes[456] = 0x00089b050defUL;
505  tf->codes[457] = 0x000893010feeUL;
506  tf->codes[458] = 0x00088b0d09edUL;
507  tf->codes[459] = 0x000883090becUL;
508  tf->codes[460] = 0x0008bb1505ebUL;
509  tf->codes[461] = 0x0008b31107eaUL;
510  tf->codes[462] = 0x0008ab1d01e9UL;
511  tf->codes[463] = 0x0008a31903e8UL;
512  tf->codes[464] = 0x00085b653df7UL;
513  tf->codes[465] = 0x000853613ff6UL;
514  tf->codes[466] = 0x00084b6d39f5UL;
515  tf->codes[467] = 0x000843693bf4UL;
516  tf->codes[468] = 0x00087b7535f3UL;
517  tf->codes[469] = 0x0008737137f2UL;
518  tf->codes[470] = 0x00086b7d31f1UL;
519  tf->codes[471] = 0x0008637933f0UL;
520  tf->codes[472] = 0x00081b452dffUL;
521  tf->codes[473] = 0x000813412ffeUL;
522  tf->codes[474] = 0x00080b4d29fdUL;
523  tf->codes[475] = 0x000803492bfcUL;
524  tf->codes[476] = 0x00083b5525fbUL;
525  tf->codes[477] = 0x0008335127faUL;
526  tf->codes[478] = 0x00082b5d21f9UL;
527  tf->codes[479] = 0x0008235923f8UL;
528  tf->codes[480] = 0x0009dba55dc7UL;
529  tf->codes[481] = 0x0009d3a15fc6UL;
530  tf->codes[482] = 0x0009cbad59c5UL;
531  tf->codes[483] = 0x0009c3a95bc4UL;
532  tf->codes[484] = 0x0009fbb555c3UL;
533  tf->codes[485] = 0x0009f3b157c2UL;
534  tf->codes[486] = 0x0009ebbd51c1UL;
535  tf->codes[487] = 0x0009e3b953c0UL;
536  tf->codes[488] = 0x00099b854dcfUL;
537  tf->codes[489] = 0x000993814fceUL;
538  tf->codes[490] = 0x00098b8d49cdUL;
539  tf->codes[491] = 0x000983894bccUL;
540  tf->codes[492] = 0x0009bb9545cbUL;
541  tf->codes[493] = 0x0009b39147caUL;
542  tf->codes[494] = 0x0009ab9d41c9UL;
543  tf->codes[495] = 0x0009a39943c8UL;
544  tf->codes[496] = 0x00095be57dd7UL;
545  tf->codes[497] = 0x000953e17fd6UL;
546  tf->codes[498] = 0x00094bed79d5UL;
547  tf->codes[499] = 0x000943e97bd4UL;
548  tf->codes[500] = 0x00097bf575d3UL;
549  tf->codes[501] = 0x000973f177d2UL;
550  tf->codes[502] = 0x00096bfd71d1UL;
551  tf->codes[503] = 0x000963f973d0UL;
552  tf->codes[504] = 0x00091bc56ddfUL;
553  tf->codes[505] = 0x000913c16fdeUL;
554  tf->codes[506] = 0x00090bcd69ddUL;
555  tf->codes[507] = 0x000903c96bdcUL;
556  tf->codes[508] = 0x00093bd565dbUL;
557  tf->codes[509] = 0x000933d167daUL;
558  tf->codes[510] = 0x00092bdd61d9UL;
559  tf->codes[511] = 0x000923d963d8UL;
560 
561  return tf;
562 }
563 
565 {
566  free(tf->name);
567  free(tf->codes);
568  free(tf);
569 }
uint32_t ncodes
Definition: apriltag.h:68
void tag36artoolkit_destroy(apriltag_family_t *tf)
uint32_t black_border
Definition: apriltag.h:74
uint32_t d
Definition: apriltag.h:77
uint64_t * codes
Definition: apriltag.h:71
apriltag_family_t * tag36artoolkit_create()
uint32_t h
Definition: apriltag.h:80
char * name
Definition: apriltag.h:83


apriltags2
Author(s): Danylo Malyuta
autogenerated on Fri Oct 19 2018 04:02:32