aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/ArUcoMarkers/ArUcoTracker.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/ArUcoMarkers/ArUcoTracker.py')
-rw-r--r--src/argaze/ArUcoMarkers/ArUcoTracker.py63
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