lbw_drs_ai / visualization /overlay_generator.py
dschandra's picture
Create visualization/overlay_generator.py
4d5db42 verified
"""Draws trajectory, pitch zones, and decision overlay on frames."""
import cv2
import numpy as np
from typing import List, Tuple
class OverlayGenerator:
def __init__(self, config):
self.cfg = config
def draw(self, frame: np.ndarray, trajectory_pts: List[Tuple[int, int]], verdict: str):
# Draw trajectory curve
for i in range(1, len(trajectory_pts)):
cv2.line(frame,
trajectory_pts[i - 1],
trajectory_pts[i],
(0, 0, 255), 2)
# Draw verdict text
cv2.putText(frame, f"Decision: {verdict}", (30, 40), cv2.FONT_HERSHEY_SIMPLEX, 1.0,
(0, 255, 0) if verdict == "OUT" else (0, 0, 255), 2)
return frame