aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/ArUcoMarkers/ArUcoMarkers.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/ArUcoMarkers/ArUcoMarkers.py')
-rw-r--r--src/argaze/ArUcoMarkers/ArUcoMarkers.py47
1 files changed, 45 insertions, 2 deletions
diff --git a/src/argaze/ArUcoMarkers/ArUcoMarkers.py b/src/argaze/ArUcoMarkers/ArUcoMarkers.py
index 9a5c519..f1d455f 100644
--- a/src/argaze/ArUcoMarkers/ArUcoMarkers.py
+++ b/src/argaze/ArUcoMarkers/ArUcoMarkers.py
@@ -22,7 +22,11 @@ ARUCO_DICT = {
'DICT_7X7_100': aruco.DICT_7X7_100,
'DICT_7X7_250': aruco.DICT_7X7_250,
'DICT_7X7_1000': aruco.DICT_7X7_1000,
- 'DICT_ARUCO_ORIGINAL': aruco.DICT_ARUCO_ORIGINAL
+ 'DICT_ARUCO_ORIGINAL': aruco.DICT_ARUCO_ORIGINAL,
+ 'DICT_APRILTAG_16h5': aruco.DICT_APRILTAG_16h5,
+ 'DICT_APRILTAG_25h9': aruco.DICT_APRILTAG_16h5,
+ 'DICT_APRILTAG_36h10': aruco.DICT_APRILTAG_36h10,
+ 'DICT_APRILTAG_36h11': aruco.DICT_APRILTAG_36h11
}
class ArUcoMarkers():
@@ -47,6 +51,10 @@ class ArUcoMarkers():
- DICT_7X7_250
- DICT_7X7_1000
- DICT_ARUCO_ORIGINAL
+ - DICT_APRILTAG_16h5
+ - DICT_APRILTAG_25h9
+ - DICT_APRILTAG_36h10
+ - DICT_APRILTAG_36h11
"""
# check aruco dictionary name
@@ -56,7 +64,42 @@ class ArUcoMarkers():
dict_name_split = aruco_dictionary_name.split('_')
self.__aruco_dict_format = dict_name_split[1]
- self.__aruco_dict_number = int(dict_name_split[2])
+
+ # DICT_ARUCO_ORIGINAL case
+ if self.__aruco_dict_format == 'ARUCO':
+
+ self.__aruco_dict_format = '5X5'
+ self.__aruco_dict_number = 1024
+
+ # DICT_APRILTAG_ case
+ elif self.__aruco_dict_format == 'APRILTAG':
+
+ april_tag_format = dict_name_split[2]
+
+ if april_tag_format == '16h5':
+
+ self.__aruco_dict_format = '4X4'
+ self.__aruco_dict_number = 30
+
+ elif april_tag_format == '25h9':
+
+ self.__aruco_dict_format = '5X5'
+ self.__aruco_dict_number = 35
+
+ elif april_tag_format == '36h10':
+
+ self.__aruco_dict_format = '6X6'
+ self.__aruco_dict_number = 2320
+
+ elif april_tag_format == '36h11':
+
+ self.__aruco_dict_format = '6X6'
+ self.__aruco_dict_number = 587
+
+ # other cases
+ else:
+
+ self.__aruco_dict_number = int(dict_name_split[2])
# load ArUco dictionary
self.__aruco_dict = aruco.Dictionary_get(ARUCO_DICT[aruco_dictionary_name])