tomaseo2022 commited on
Commit
a7069c4
Β·
1 Parent(s): 291c9e6

Update app.py

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