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 |