"""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