diff options
Diffstat (limited to 'src/argaze/ArUcoMarkers/ArUcoTracker.py')
-rw-r--r-- | src/argaze/ArUcoMarkers/ArUcoTracker.py | 63 |
1 files changed, 7 insertions, 56 deletions
diff --git a/src/argaze/ArUcoMarkers/ArUcoTracker.py b/src/argaze/ArUcoMarkers/ArUcoTracker.py index 93cb5c8..29e862f 100644 --- a/src/argaze/ArUcoMarkers/ArUcoTracker.py +++ b/src/argaze/ArUcoMarkers/ArUcoTracker.py @@ -1,68 +1,19 @@ #!/usr/bin/env python +from argaze.ArUcoMarkers import ArUcoMarkersDictionary, ArUcoCamera + import numpy import cv2 as cv import cv2.aruco as aruco -# Built-in ArUco dictionaries from OpenCV library -ARUCO_DICT = { - 'DICT_4X4_50': aruco.DICT_4X4_50, - 'DICT_4X4_100': aruco.DICT_4X4_100, - 'DICT_4X4_250': aruco.DICT_4X4_250, - 'DICT_4X4_1000': aruco.DICT_4X4_1000, - 'DICT_5X5_50': aruco.DICT_5X5_50, - 'DICT_5X5_100': aruco.DICT_5X5_100, - 'DICT_5X5_250': aruco.DICT_5X5_250, - 'DICT_5X5_1000': aruco.DICT_5X5_1000, - 'DICT_6X6_50': aruco.DICT_6X6_50, - 'DICT_6X6_100': aruco.DICT_6X6_100, - 'DICT_6X6_250': aruco.DICT_6X6_250, - 'DICT_6X6_1000': aruco.DICT_6X6_1000, - 'DICT_7X7_50': aruco.DICT_7X7_50, - '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_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 ArUcoTracker(): """Track ArUco markers into a frame.""" - def __init__(self, aruco_dictionary_name, marker_length, camera): - """Define which markers library to track and their size: - - DICT_4X4_50 - - DICT_4X4_100 - - DICT_4X4_250 - - DICT_4X4_1000 - - DICT_5X5_50 - - DICT_5X5_100 - - DICT_5X5_250 - - DICT_5X5_1000 - - DICT_6X6_50 - - DICT_6X6_100 - - DICT_6X6_250 - - DICT_6X6_1000 - - DICT_7X7_50 - - DICT_7X7_100 - - 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 - if ARUCO_DICT.get(aruco_dictionary_name, None) is None: - raise NameError(f'Bad ArUco dictionnary name: {aruco_dictionary_name}') - - # load ArUco dictionary - self.__aruco_dict = aruco.Dictionary_get(ARUCO_DICT[aruco_dictionary_name]) + def __init__(self, aruco_dictionary_name: str, marker_length: float, camera: ArUcoCamera.ArUcoCamera): + """Define which markers library to track and their size""" + + # load ArUco markers dictionary + self.__aruco_dict = ArUcoMarkersDictionary.ArUcoMarkersDictionary(aruco_dictionary_name) # define marker length in centimeter self.__marker_length = marker_length |