Spaces:
Sleeping
Sleeping
# upload_review.py | |
import cv2 | |
import numpy as np | |
import tempfile | |
from utils import analyze_frame_sequence, make_decision, render_annotated_clip | |
def analyze_uploaded_video(video): | |
cap = cv2.VideoCapture(video) | |
frames = [] | |
while True: | |
ret, frame = cap.read() | |
if not ret: | |
break | |
frames.append(frame) | |
cap.release() | |
if len(frames) == 0: | |
return "Decision pending – insufficient data", "No frames found.", None | |
analysis = analyze_frame_sequence(frames) | |
decision, reason = make_decision(analysis) | |
output_path = tempfile.NamedTemporaryFile(suffix=".mp4", delete=False).name | |
render_annotated_clip(frames, analysis, decision, reason, output_path) | |
return f"FINAL DECISION: {decision}", reason, output_path | |