Spaces:
Running
Running
import gradio as gr | |
import cv2 | |
import time | |
# Funci贸n de detecci贸n de anomal铆as simulada | |
def anomaly_detection(frame): | |
# Procesamiento simulado del frame, reempl谩zalo con el modelo real | |
# En este ejemplo, solo convertimos el frame a escala de grises | |
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) | |
return gray_frame | |
# Generador que procesa cada fotograma capturado y lo muestra | |
def process_frames(): | |
cam_stream = cv2.VideoCapture(0) # Inicializa la c谩mara | |
while True: | |
# Captura el fotograma | |
ret, frame = cam_stream.read() | |
if not ret: | |
break | |
# Realiza la detecci贸n de anomal铆as | |
processed_frame = anomaly_detection(frame) | |
# Devuelve el fotograma procesado a Gradio | |
yield processed_frame | |
# Control de frecuencia para simular "real-time" | |
time.sleep(0.1) | |
cam_stream.release() | |
# Configuraci贸n de la interfaz de Gradio | |
iface = gr.Interface( | |
fn=process_frames, # Llamada a la funci贸n generadora de frames | |
inputs=None, # No se requiere entrada manual del usuario | |
outputs=gr.Image(type="numpy", label="Segmentation Result"), # Salida de tipo imagen en formato numpy | |
live=True # Para activar la captura en modo vivo | |
) | |
iface.launch() # Lanza la aplicaci贸n | |