INNER CODE UNIT · Python

generate_overlay

chonyy/ML-auto-baseball-pitching-overlay · src/generate_overlay.py:9

def generate_overlay(video_frames, width, height, fps, outputPath):
    print("Saving overlay result to", outputPath)
    codec = cv2.VideoWriter_fourcc(*"XVID")
    out = cv2.VideoWriter(outputPath, codec, fps / 2, (width, height))

    frame_lists = sorted(video_frames, key=len, reverse=True)
    balls_in_curves = [[] for i in range(len(frame_lists))]
    shifts = {}

    # Take the longest frames as background
    for idx, base_frame in enumerate(frame_lists[0]):
        # Overlay frames
        background_frame = base_frame.frame.copy()
        for list_idx, frameList in enumerate(frame_lists[1:]):
            if idx < len(frameList):
                overlay_frame = frameList[idx]
            else:
                overlay_frame = frameList[len(frameList) - 1]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…