aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/ArUcoMarkers/ArUcoCamera.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/ArUcoMarkers/ArUcoCamera.py')
-rw-r--r--src/argaze/ArUcoMarkers/ArUcoCamera.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/argaze/ArUcoMarkers/ArUcoCamera.py b/src/argaze/ArUcoMarkers/ArUcoCamera.py
index b067666..4f555fb 100644
--- a/src/argaze/ArUcoMarkers/ArUcoCamera.py
+++ b/src/argaze/ArUcoMarkers/ArUcoCamera.py
@@ -211,11 +211,12 @@ class ArUcoCamera(ArFeatures.ArCamera):
# Return dection time and exceptions
return detection_time, exceptions
- def __image(self, draw_detected_markers: dict = None, draw_optic_parameters_grid: dict = None, **kwargs) -> numpy.array:
+ def __image(self, draw_detected_markers: dict = None, draw_scenes: dict = None, draw_optic_parameters_grid: dict = None, **kwargs) -> numpy.array:
"""Get frame image with ArUco detection visualisation.
Parameters:
draw_detected_markers: ArucoMarker.draw parameters (if None, no marker drawn)
+ draw_scenes: ArUcoScene.draw parameters (if None, no scene drawn)
draw_optic_parameters_grid: OpticParameter.draw parameters (if None, no grid drawn)
kwargs: ArCamera.image parameters
"""
@@ -230,16 +231,23 @@ class ArUcoCamera(ArFeatures.ArCamera):
# Get camera frame image
image = super().image(**kwargs)
- # Draw detected markers if required
- if draw_detected_markers is not None:
-
- self.aruco_detector.draw_detected_markers(image, draw_detected_markers)
-
# Draw optic parameters grid if required
if draw_optic_parameters_grid is not None:
self.aruco_detector.optic_parameters.draw(image, **draw_optic_parameters_grid)
+ # Draw scenes if required
+ if draw_scenes is not None:
+
+ for scene_name, draw_scenes_parameters in draw_scenes.items():
+
+ self.scenes[scene_name].draw(image, **draw_scenes_parameters)
+
+ # Draw detected markers if required
+ if draw_detected_markers is not None:
+
+ self.aruco_detector.draw_detected_markers(image, draw_detected_markers)
+
# Unlock camera frame exploitation
self._frame_lock.release()