robokudo.vis.cv_visualizer¶
OpenCV-based visualization for RoboKudo pipelines.
This module provides OpenCV-based visualization capabilities for RoboKudo pipelines. It handles:
2D image visualization with annotator overlays
Mouse interaction handling
Keyboard controls for navigation and control
Window management
Pipeline state visualization
Dependencies¶
cv2 for image display and window management
numpy for image manipulation
py_trees for behavior tree integration
robokudo.annotators for annotator access
robokudo.vis.visualizer for base visualization interface
See Also¶
robokudo.vis.visualizer: Base visualization interfacerobokudo.vis.o3d_visualizer: 3D visualizationrobokudo.vis.ros_visualizer: ROS-based visualization
Classes¶
OpenCV-based visualizer for 2D image data. |
Module Contents¶
- class robokudo.vis.cv_visualizer.CVVisualizer(*args, **kwargs)¶
-
Bases:
robokudo.vis.visualizer.Visualizer,robokudo.vis.visualizer.Visualizer.ObserverOpenCV-based visualizer for 2D image data.
This class provides visualization of 2D image data from pipeline annotators using OpenCV windows. It supports:
Image display with annotator overlays
Mouse interaction handling
Keyboard navigation between annotators
Window management
Shared visualization state
Parameters¶
Attributes¶
- shared_visualizer_stateVisualizer.SharedState
-
Shared state object for coordinating between visualizers
- update_outputbool
-
Flag indicating if display needs updating
- tick()¶
-
Update the visualization display.
This method:
Gets current annotator outputs
Updates display if needed
Renders annotator name overlay
Manages OpenCV window
- mouse_callback_cv(event, x, y, flags, param)¶
-
Mouse callback for the 2D Visualizer. Prints double click events and forwards every event to the active annotator.
- Parameters:
-
event (int) – OpenCV mouse event type
x (int) – X coordinate of mouse event
y (int) – Y coordinate of mouse event
flags (int) – OpenCV event flags
param (any) – Additional parameters (unused)
- window_title()¶
-
Get the window title for this visualizer.
- Returns:
-
Window title in format “RoboKudo/pipeline_name”
- Return type:
-
str
- notify(observable, *args, **kwargs)¶
-
Handle notification of state changes.
- Parameters:
-
observable (object) – The object that sent the notification
- static static_post_tick()¶
-
Handle keyboard input after visualization update.
This method:
Checks for keyboard input
Routes input to appropriate visualizer
Handles termination requests
- static get_gui_handler_for_detected_key()¶
-
Get the visualizer instance for the focused window.
- Returns:
-
The visualizer instance for the focused window, or None if not found
- Return type:
-
Optional[CVVisualizer]
- handle_keycallback(key)¶
-
Handle a key-press that happened in the corresponding GUI of this GUIHandler.
- Parameters:
-
key (int) – An ASCII char
- Returns:
-
false if GUI reports abort (right now this only happens when ESC is pressed)
- Return type:
-
bool