File size: 1,313 Bytes
fa8c816
f71c131
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fa8c816
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
43
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