lbw_drs_ai / visualization /overlay_generator.py
dschandra's picture
Create visualization/overlay_generator.py
4d5db42 verified
raw
history blame contribute delete
750 Bytes
"""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