aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/ArUcoMarkers/ArUcoBoard.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/ArUcoMarkers/ArUcoBoard.py')
-rw-r--r--src/argaze/ArUcoMarkers/ArUcoBoard.py26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/argaze/ArUcoMarkers/ArUcoBoard.py b/src/argaze/ArUcoMarkers/ArUcoBoard.py
index e6772c4..5d2a39d 100644
--- a/src/argaze/ArUcoMarkers/ArUcoBoard.py
+++ b/src/argaze/ArUcoMarkers/ArUcoBoard.py
@@ -9,25 +9,31 @@ import cv2.aruco as aruco
class ArUcoBoard():
"""Calibration chess board with ArUco markers inside."""
- def __init__(self, dictionary: ArUcoMarkersDictionary.ArUcoMarkersDictionary | str, columns: int, rows: int, square_size: float, marker_size: float):
+ def __init__(self, columns: int, rows: int, square_size: float, marker_size: float, dictionary: ArUcoMarkersDictionary.ArUcoMarkersDictionary | str = None):
"""Create columns x rows chess board with ArUco markers at given size in centimeters."""
- # Handle dictionary str or instance
- if type(dictionary) == str:
- self.__dictionary = ArUcoMarkersDictionary.ArUcoMarkersDictionary(dictionary)
- elif isinstance(dictionary, ArUcoMarkersDictionary.ArUcoMarkersDictionary):
- self.__dictionary = dictionary
- else:
- raise ValueError(f'dictionary: {dictionary}')
-
# Store properties
self.__columns = columns
self.__rows = rows
self.__square_size = square_size # in cm
self.__marker_size = marker_size # in cm
+ # Handle dictionary str or instance
+ if dictionary != None:
+
+ if type(dictionary) == str:
+ self.dictionary = ArUcoMarkersDictionary.ArUcoMarkersDictionary(dictionary)
+ elif isinstance(dictionary, ArUcoMarkersDictionary.ArUcoMarkersDictionary):
+ self.dictionary = dictionary
+ else:
+ raise ValueError(f'dictionary: {dictionary}')
+
+ else:
+
+ self.dictionary = ArUcoMarkersDictionary.ArUcoMarkersDictionary()
+
# Create board model
- self.__board = aruco.CharucoBoard((self.__columns, self.__rows), self.__square_size/100., self.__marker_size/100., self.__dictionary.markers)
+ self.__board = aruco.CharucoBoard((self.__columns, self.__rows), self.__square_size/100., self.__marker_size/100., self.dictionary.markers)
def __del__(self):
pass