Spaces:
Running
on
Zero
Running
on
Zero
| import gradio as gr | |
| import cv2 | |
| import numpy as np | |
| from transparent_background import Remover | |
| remover = Remover(mode='fast') # Custom setting | |
| def doo(video): | |
| cap = cv2.VideoCapture(video) # Video reader for input | |
| fps = cap.get(cv2.CAP_PROP_FPS) | |
| processed_frames = [] # List to store processed frames | |
| while cap.isOpened(): | |
| ret, frame = cap.read() # Read video | |
| if ret is False: | |
| break | |
| # Assuming frame is a NumPy array (e.g., shape: (height, width, 3)) | |
| # Perform background removal using the model | |
| # Replace this placeholder code with actual model inference | |
| # Example: Apply a simple threshold to create a binary mask | |
| gray_frame = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY) | |
| _, mask = cv2.threshold(gray_frame, 200, 255, cv2.THRESH_BINARY) | |
| # Create a masked frame | |
| masked_frame = cv2.bitwise_and(frame, frame, mask=mask) | |
| # Append the processed frame to the output | |
| processed_frames.append(masked_frame) | |
| cap.release() | |
| # Return the list of processed frames | |
| return processed_frames | |
| iface = gr.Interface(fn=doo, inputs="video", outputs="video") | |
| iface.launch() | |