@@ -268,37 +268,37 @@ Mat Dictionary::getBitsFromByteList(const Mat &byteList, int markerSize) {
268
268
269
269
270
270
271
+ Ptr <Dictionary> getPredefinedDictionary (PREDEFINED_DICTIONARY_NAME name)
272
+ {
273
+ // DictionaryData constructors calls
274
+ // moved out of globals so construted on first use, which allows lazy-loading of opencv dll
275
+ static const Dictionary DICT_ARUCO_DATA = Dictionary (Mat (1024 , (5 * 5 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_ARUCO_BYTES), 5 , 0 );
276
+
277
+ static const Dictionary DICT_4X4_50_DATA = Dictionary (Mat (50 , (4 * 4 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_4X4_1000_BYTES), 4 , 1 );
278
+ static const Dictionary DICT_4X4_100_DATA = Dictionary (Mat (100 , (4 * 4 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_4X4_1000_BYTES), 4 , 1 );
279
+ static const Dictionary DICT_4X4_250_DATA = Dictionary (Mat (250 , (4 * 4 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_4X4_1000_BYTES), 4 , 1 );
280
+ static const Dictionary DICT_4X4_1000_DATA = Dictionary (Mat (1000 , (4 * 4 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_4X4_1000_BYTES), 4 , 0 );
281
+
282
+ static const Dictionary DICT_5X5_50_DATA = Dictionary (Mat (50 , (5 * 5 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_5X5_1000_BYTES), 5 , 3 );
283
+ static const Dictionary DICT_5X5_100_DATA = Dictionary (Mat (100 , (5 * 5 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_5X5_1000_BYTES), 5 , 3 );
284
+ static const Dictionary DICT_5X5_250_DATA = Dictionary (Mat (250 , (5 * 5 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_5X5_1000_BYTES), 5 , 2 );
285
+ static const Dictionary DICT_5X5_1000_DATA = Dictionary (Mat (1000 , (5 * 5 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_5X5_1000_BYTES), 5 , 2 );
286
+
287
+ static const Dictionary DICT_6X6_50_DATA = Dictionary (Mat (50 , (6 * 6 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_6X6_1000_BYTES), 6 , 6 );
288
+ static const Dictionary DICT_6X6_100_DATA = Dictionary (Mat (100 , (6 * 6 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_6X6_1000_BYTES), 6 , 5 );
289
+ static const Dictionary DICT_6X6_250_DATA = Dictionary (Mat (250 , (6 * 6 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_6X6_1000_BYTES), 6 , 5 );
290
+ static const Dictionary DICT_6X6_1000_DATA = Dictionary (Mat (1000 , (6 * 6 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_6X6_1000_BYTES), 6 , 4 );
291
+
292
+ static const Dictionary DICT_7X7_50_DATA = Dictionary (Mat (50 , (7 * 7 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_7X7_1000_BYTES), 7 , 9 );
293
+ static const Dictionary DICT_7X7_100_DATA = Dictionary (Mat (100 , (7 * 7 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_7X7_1000_BYTES), 7 , 8 );
294
+ static const Dictionary DICT_7X7_250_DATA = Dictionary (Mat (250 , (7 * 7 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_7X7_1000_BYTES), 7 , 8 );
295
+ static const Dictionary DICT_7X7_1000_DATA = Dictionary (Mat (1000 , (7 * 7 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_7X7_1000_BYTES), 7 , 6 );
296
+
297
+ static const Dictionary DICT_APRILTAG_16h5_DATA = Dictionary (Mat (30 , (4 * 4 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_APRILTAG_16h5_BYTES), 4 , 0 );
298
+ static const Dictionary DICT_APRILTAG_25h9_DATA = Dictionary (Mat (35 , (5 * 5 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_APRILTAG_25h9_BYTES), 5 , 0 );
299
+ static const Dictionary DICT_APRILTAG_36h10_DATA = Dictionary (Mat (2320 , (6 * 6 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_APRILTAG_36h10_BYTES), 6 , 0 );
300
+ static const Dictionary DICT_APRILTAG_36h11_DATA = Dictionary (Mat (587 , (6 * 6 + 7 ) / 8 , CV_8UC4, (uchar*)DICT_APRILTAG_36h11_BYTES), 6 , 0 );
271
301
272
- // DictionaryData constructors calls
273
- const Dictionary DICT_ARUCO_DATA = Dictionary(Mat(1024 , (5 *5 + 7 )/8 , CV_8UC4, (uchar*)DICT_ARUCO_BYTES), 5 , 0 );
274
-
275
- const Dictionary DICT_4X4_50_DATA = Dictionary(Mat(50 , (4 *4 + 7 )/8 , CV_8UC4, (uchar*)DICT_4X4_1000_BYTES), 4 , 1 );
276
- const Dictionary DICT_4X4_100_DATA = Dictionary(Mat(100 , (4 *4 + 7 )/8 , CV_8UC4, (uchar*)DICT_4X4_1000_BYTES), 4 , 1 );
277
- const Dictionary DICT_4X4_250_DATA = Dictionary(Mat(250 , (4 *4 + 7 )/8 , CV_8UC4, (uchar*)DICT_4X4_1000_BYTES), 4 , 1 );
278
- const Dictionary DICT_4X4_1000_DATA = Dictionary(Mat(1000 , (4 *4 + 7 )/8 , CV_8UC4, (uchar*)DICT_4X4_1000_BYTES), 4 , 0 );
279
-
280
- const Dictionary DICT_5X5_50_DATA = Dictionary(Mat(50 , (5 *5 + 7 )/8 , CV_8UC4, (uchar*)DICT_5X5_1000_BYTES), 5 , 3 );
281
- const Dictionary DICT_5X5_100_DATA = Dictionary(Mat(100 , (5 *5 + 7 )/8 , CV_8UC4, (uchar*)DICT_5X5_1000_BYTES), 5 , 3 );
282
- const Dictionary DICT_5X5_250_DATA = Dictionary(Mat(250 , (5 *5 + 7 )/8 , CV_8UC4, (uchar*)DICT_5X5_1000_BYTES), 5 , 2 );
283
- const Dictionary DICT_5X5_1000_DATA = Dictionary(Mat(1000 , (5 *5 + 7 )/8 , CV_8UC4, (uchar*)DICT_5X5_1000_BYTES), 5 , 2 );
284
-
285
- const Dictionary DICT_6X6_50_DATA = Dictionary(Mat(50 , (6 *6 + 7 )/8 ,CV_8UC4, (uchar*)DICT_6X6_1000_BYTES), 6 , 6 );
286
- const Dictionary DICT_6X6_100_DATA = Dictionary(Mat(100 , (6 *6 + 7 )/8 ,CV_8UC4, (uchar*)DICT_6X6_1000_BYTES), 6 , 5 );
287
- const Dictionary DICT_6X6_250_DATA = Dictionary(Mat(250 , (6 *6 + 7 )/8 ,CV_8UC4, (uchar*)DICT_6X6_1000_BYTES), 6 , 5 );
288
- const Dictionary DICT_6X6_1000_DATA = Dictionary(Mat(1000 , (6 *6 + 7 )/8 ,CV_8UC4, (uchar*)DICT_6X6_1000_BYTES), 6 , 4 );
289
-
290
- const Dictionary DICT_7X7_50_DATA = Dictionary(Mat(50 , (7 *7 + 7 )/8 ,CV_8UC4, (uchar*)DICT_7X7_1000_BYTES), 7 , 9 );
291
- const Dictionary DICT_7X7_100_DATA = Dictionary(Mat(100 , (7 *7 + 7 )/8 ,CV_8UC4, (uchar*)DICT_7X7_1000_BYTES), 7 , 8 );
292
- const Dictionary DICT_7X7_250_DATA = Dictionary(Mat(250 , (7 *7 + 7 )/8 ,CV_8UC4, (uchar*)DICT_7X7_1000_BYTES), 7 , 8 );
293
- const Dictionary DICT_7X7_1000_DATA = Dictionary(Mat(1000 , (7 *7 + 7 )/8 ,CV_8UC4, (uchar*)DICT_7X7_1000_BYTES), 7 , 6 );
294
-
295
- const Dictionary DICT_APRILTAG_16h5_DATA = Dictionary(Mat(30 , (4 *4 + 7 )/8 , CV_8UC4, (uchar*)DICT_APRILTAG_16h5_BYTES), 4 , 0 );
296
- const Dictionary DICT_APRILTAG_25h9_DATA = Dictionary(Mat(35 , (5 *5 + 7 )/8 , CV_8UC4, (uchar*)DICT_APRILTAG_25h9_BYTES), 5 , 0 );
297
- const Dictionary DICT_APRILTAG_36h10_DATA = Dictionary(Mat(2320 , (6 *6 + 7 )/8 , CV_8UC4, (uchar*)DICT_APRILTAG_36h10_BYTES), 6 , 0 );
298
- const Dictionary DICT_APRILTAG_36h11_DATA = Dictionary(Mat(587 , (6 *6 + 7 )/8 , CV_8UC4, (uchar*)DICT_APRILTAG_36h11_BYTES), 6 , 0 );
299
-
300
-
301
- Ptr <Dictionary> getPredefinedDictionary (PREDEFINED_DICTIONARY_NAME name) {
302
302
switch (name) {
303
303
304
304
case DICT_ARUCO_ORIGINAL:
0 commit comments