Overview
Creates ground-plane footprint visualization by drawing partial ellipses at the bottom center of each bounding box. The elliptical shape provides a natural representation of object presence on the ground plane, making it ideal for spatial awareness, shadow effects, and ground-based tracking visualizations.Function Signature
Parameters
Input image array with shape (H, W, 3) in BGR color format.
PixelFlow detections object containing bounding boxes. Each detection must have a
.bbox
attribute with (x1, y1, x2, y2) coordinates.Line thickness for ellipse drawing in pixels. If None, automatically adapts based on image size (typically 1-4 pixels). Default is None.
Starting angle of the ellipse arc in degrees. Range: -180 to 180. Default is -45 (bottom-left quadrant).
Ending angle of the ellipse arc in degrees. Range: -180 to 360. Default is 235 (bottom-right, creating bottom arc spanning ~280 degrees).
List of BGR color tuples (B, G, R) where each value is 0-255. Colors are mapped to unique class_ids in order of appearance. If None, uses default ColorManager colors.
Returns
Image array with elliptical footprints drawn at the bottom center of each detected object. Original image is modified in-place.
Examples
Error Handling
This function may raise the following exceptions:
- AssertionError: If image is not a numpy.ndarray.
- AttributeError: If detections object doesn’t have required bbox attributes.
- ValueError: If angle parameters are invalid or cause OpenCV drawing errors.
Notes
- Ellipse width automatically matches the full width of each bounding box
- Ellipse height is set to 25% of the width for natural ground-plane proportions
- Center point is positioned at the bottom-center of each bounding box (x_center, y2)
- Uses anti-aliased line drawing (cv2.LINE_AA) for smooth curves
- Thickness automatically adapts to image resolution when not specified
- Colors cycle through the provided list if there are more detections than colors
- Angles follow OpenCV convention: 0° = right, 90° = down, 180° = left, 270° = up