tomaseo2022 commited on
Commit
2c288c9
Β·
1 Parent(s): c5a965f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -11
app.py CHANGED
@@ -6,27 +6,29 @@ import gradio as gr
6
  import cv2
7
  import numpy as np
8
 
9
- def image_to_silhouette(image):
10
  try:
11
- print("Image shape:", image.shape)
 
12
  # Convertir imagen a escala de grises
13
  gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
14
- print("Gray shape:", gray.shape)
15
  # Aplicar bordes
16
  edges = cv2.Canny(gray, 50, 150)
17
- print("Edges shape:", edges.shape)
18
- # Crear mΓ‘scara con forma de silueta negra
19
- silhouette = np.zeros_like(image)
20
- silhouette[:,:,0] = edges
21
- silhouette[:,:,1] = edges
22
- silhouette[:,:,2] = edges
23
-
 
 
24
  return silhouette
25
  except Exception as e:
26
  print("An error occurred:", e)
27
  return "Error"
28
 
29
-
30
  # Crear interfaz de usuario con Gradio
31
  gr.Interface(
32
  image_to_silhouette,
 
6
  import cv2
7
  import numpy as np
8
 
9
+ def image_to_silhouette_contours(image):
10
  try:
11
+ print("Original image type:", type(image))
12
+ print("Original image shape:", image.shape)
13
  # Convertir imagen a escala de grises
14
  gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
15
+ print("Gray image shape:", gray.shape)
16
  # Aplicar bordes
17
  edges = cv2.Canny(gray, 50, 150)
18
+ print("Edges image shape:", edges.shape)
19
+ # busca los contornos de los objetos en la imagen
20
+ contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
21
+ # Crear una imagen negra para dibujar los contornos
22
+ silhouette = np.zeros((image.shape[0], image.shape[1], 3), dtype=np.uint8)
23
+ # Dibuja los contornos en la imagen negra
24
+ cv2.drawContours(silhouette, contours, -1, (255, 255, 255), 1)
25
+
26
+ print("Silhouette image shape:", silhouette.shape)
27
  return silhouette
28
  except Exception as e:
29
  print("An error occurred:", e)
30
  return "Error"
31
 
 
32
  # Crear interfaz de usuario con Gradio
33
  gr.Interface(
34
  image_to_silhouette,