Spaces:
Runtime error
Runtime error
Commit
路
f508a4a
1
Parent(s):
8ce4034
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import os
|
3 |
+
os.system("pip install opencv-python")
|
4 |
+
import cv2
|
5 |
+
import numpy as np
|
6 |
+
|
7 |
+
def image_to_silhouette(image):
|
8 |
+
# Convertir imagen a escala de grises
|
9 |
+
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
|
10 |
+
|
11 |
+
# Aplicar bordes
|
12 |
+
edges = cv2.Canny(gray, 50, 150)
|
13 |
+
|
14 |
+
# Crear m谩scara con forma de silueta negra
|
15 |
+
silhouette = np.zeros_like(image)
|
16 |
+
silhouette[:,:,0] = edges
|
17 |
+
silhouette[:,:,1] = edges
|
18 |
+
silhouette[:,:,2] = edges
|
19 |
+
|
20 |
+
return silhouette
|
21 |
+
|
22 |
+
# Crear interfaz de usuario con Gradio
|
23 |
+
interface = gr.Interface(fn=image_to_silhouette, inputs="image", outputs="image")
|
24 |
+
|
25 |
+
# A帽adir cajas de texto y bot贸n
|
26 |
+
input_box = interface.inputs["image"]
|
27 |
+
output_box = interface.outputs["image"]
|
28 |
+
convert_button = gr.Button("Convertir")
|
29 |
+
|
30 |
+
# Mostrar interfaz
|
31 |
+
app = gr.App(title="Silueta", layout=gr.Layout(convert_button))
|
32 |
+
display(app)
|
33 |
+
|
34 |
+
# Funci贸n para manejar el evento de clic del bot贸n
|
35 |
+
def on_button_clicked(sender):
|
36 |
+
# Obtener imagen de la caja de entrada
|
37 |
+
image = input_box.value
|
38 |
+
|
39 |
+
# Convertir imagen a silueta y mostrar en la caja de salida
|
40 |
+
silhouette = image_to_silhouette(image)
|
41 |
+
output_box.value = silhouette
|
42 |
+
|
43 |
+
# Asignar funci贸n al evento de clic del bot贸n
|
44 |
+
convert_button.on_click(on_button_clicked)
|
45 |
+
|
46 |
+
# Lanzar aplicaci贸n de Gradio
|
47 |
+
gr.app(app)
|