Spaces:
Sleeping
Sleeping
"""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 |