diff options
Diffstat (limited to 'src/argaze/ArUcoMarkers/ArUcoCamera.py')
-rw-r--r-- | src/argaze/ArUcoMarkers/ArUcoCamera.py | 20 |
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() |