kevin159 commited on
Commit
088508c
1 Parent(s): f71c131

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -26
app.py CHANGED
@@ -1,42 +1,32 @@
1
  import gradio as gr
2
  import cv2
3
- import time
4
 
5
  # Función de detección de anomalías simulada
6
  def anomaly_detection(frame):
7
- # Procesamiento simulado del frame, reemplázalo con el modelo real
8
  # En este ejemplo, solo convertimos el frame a escala de grises
9
  gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
10
  return gray_frame
11
 
12
- # Generador que procesa cada fotograma capturado y lo muestra
13
- def process_frames():
14
- cam_stream = cv2.VideoCapture(0) # Inicializa la cámara
15
-
16
- while True:
17
- # Captura el fotograma
18
- ret, frame = cam_stream.read()
19
  if not ret:
20
  break
21
-
22
- # Realiza la detección de anomalías
23
  processed_frame = anomaly_detection(frame)
 
 
 
24
 
25
- # Devuelve el fotograma procesado a Gradio
26
- yield processed_frame
27
-
28
- # Control de frecuencia para simular "real-time"
29
- time.sleep(0.1)
30
-
31
- cam_stream.release()
32
-
33
- # Configuración de la interfaz de Gradio
34
  iface = gr.Interface(
35
- fn=process_frames, # Llamada a la función generadora de frames
36
- inputs=None, # No se requiere entrada manual del usuario
37
- outputs=gr.Image(type="numpy", label="Segmentation Result"), # Salida de tipo imagen en formato numpy
38
- live=True # Para activar la captura en modo vivo
39
  )
40
 
41
- iface.launch() # Lanza la aplicación
42
-
 
1
  import gradio as gr
2
  import cv2
 
3
 
4
  # Función de detección de anomalías simulada
5
  def anomaly_detection(frame):
6
+ # Procesamiento simulado del frame, puedes reemplazarlo con tu modelo
7
  # En este ejemplo, solo convertimos el frame a escala de grises
8
  gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
9
  return gray_frame
10
 
11
+ # Función que procesa el video y aplica la detección de anomalías frame por frame
12
+ def process_video(video):
13
+ cap = cv2.VideoCapture(video)
14
+ frames = []
15
+ while cap.isOpened():
16
+ ret, frame = cap.read()
 
17
  if not ret:
18
  break
19
+ # Aplica el modelo de detección de anomalías
 
20
  processed_frame = anomaly_detection(frame)
21
+ frames.append(processed_frame)
22
+ cap.release()
23
+ return frames # Devuelve la lista de frames procesados
24
 
25
+ # Configuración de la interfaz de Gradio para Hugging Face Spaces
 
 
 
 
 
 
 
 
26
  iface = gr.Interface(
27
+ fn=process_video, # Procesa video completo en lugar de frame a frame en tiempo real
28
+ inputs=gr.Video(source="webcam", format="mp4"), # Entrada de video desde la cámara del usuario
29
+ outputs=gr.Video(), # Salida como un video procesado
 
30
  )
31
 
32
+ iface.launch()