import gradio as gr import cv2 # Función de detección de anomalías simulada def anomaly_detection(frame): # Procesamiento simulado del frame, puedes reemplazarlo con tu modelo # En este ejemplo, solo convertimos el frame a escala de grises gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) return gray_frame # Función que procesa el video y aplica la detección de anomalías frame por frame def process_video(video): cap = cv2.VideoCapture(video) frames = [] while cap.isOpened(): ret, frame = cap.read() if not ret: break # Aplica el modelo de detección de anomalías processed_frame = anomaly_detection(frame) frames.append(processed_frame) cap.release() return frames # Devuelve la lista de frames procesados # Configuración de la interfaz de Gradio para Hugging Face Spaces iface = gr.Interface( fn=process_video, # Procesa video completo en lugar de frame a frame en tiempo real inputs=gr.Video(source="webcam", format="mp4"), # Entrada de video desde la cámara del usuario outputs=gr.Video(), # Salida como un video procesado ) iface.launch()