File size: 1,527 Bytes
7ce944b
f508a4a
172e9b7
 
 
f508a4a
 
 
 
172e9b7
 
f508a4a
172e9b7
 
f508a4a
172e9b7
 
 
 
 
f508a4a
172e9b7
f508a4a
 
25a8d4d
 
5739ec2
5026c72
f508a4a
5739ec2
 
ab6687a
 
 
 
 
f508a4a
5739ec2
 
f508a4a
172e9b7
1cc99a8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import os
os.system("pip install opencv-python")
os.system("pip install gradio --upgrade")

import gradio as gr
import cv2
import numpy as np

def image_to_silhouette(image):
    # Convertir imagen a escala de grises
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    # Aplicar bordes
    edges = cv2.Canny(gray, 50, 150)

    # Crear m谩scara con forma de silueta negra
    silhouette = np.zeros_like(image)
    silhouette[:,:,0] = edges
    silhouette[:,:,1] = edges
    silhouette[:,:,2] = edges

    return silhouette

# Crear interfaz de usuario con Gradio
interface = gr.Interface(fn=image_to_silhouette, inputs=gr.inputs.Image(label="Input"), outputs=gr.outputs.Image(label="Output"), live=True)

# A帽adir bot贸n de submit
submit_button = interface.add_input("submit", input_type="submit", button_text="Convertir")

# Funci贸n para manejar el evento de submit
def on_submit(inputs):
    # Obtener imagen de la caja de entrada
    image = inputs["image"]
    # Convertir imagen a silueta y mostrar en la caja de salida
    silhouette = image_to_silhouette(image)
    return silhouette

# A帽adir evento de submit al bot贸n
submit_button.on_submit(on_submit)

# Mostrar interfaz
interface.launch()

examples = [
{"input": "https://images.pexels.com/photos/414612/pexels-photo-414612.jpeg", "output": "https://images.pexels.com/photos/414612/pexels-photo-414612.jpeg"}
]
gr.Interface(
image_to_silhouette,
[gr.inputs.Image(label="Input")],
gr.outputs.Image(label="Output"),
examples=examples
).launch(debug=True)