File size: 974 Bytes
077d557 de2aa9b ba4d1a9 e50e349 e6399c3 ba4d1a9 7d9cecc ba4d1a9 077d557 6ef9294 7d9cecc 6ef9294 e50e349 6ef9294 7d9cecc e50e349 6ef9294 e50e349 e6399c3 e50e349 7d9cecc e50e349 7d9cecc e50e349 6ef9294 e50e349 7d9cecc ce6434e e50e349 de2aa9b 9444948 ce6434e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import spaces
import gradio as gr
import cv2
import numpy as np
from PIL import Image
from transparent_background import Remover
remover = Remover(mode='fast')
@spaces.GPU
def doo(video):
cap = cv2.VideoCapture(video)
fps = cap.get(cv2.CAP_PROP_FPS)
writer = None
while cap.isOpened():
ret, frame = cap.read()
if ret is False:
break
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
img = Image.fromarray(frame).convert('RGB')
if writer is None:
writer = cv2.VideoWriter('output.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, img.size)
out = remover.process(img, type='green')
writer.write(cv2.cvtColor(np.array(out), cv2.COLOR_BGR2RGB))
cap.release()
writer.release()
return 'output.mp4'
def display_video(output_video):
return output_video
iface = gr.Interface(fn=doo, inputs="video", outputs="video")
iface.launch()
|