update imagen con ruido
Browse files
app.py
CHANGED
@@ -16,23 +16,23 @@ def add_gaussian_noise(image, noise_factor=0.2):
|
|
16 |
return noisy_image
|
17 |
|
18 |
def denoise_and_generate(image, num_images):
|
19 |
-
image = np.array(image) / 255.0
|
20 |
-
|
21 |
-
noisy_image = add_gaussian_noise(np.expand_dims(image, axis=0))
|
22 |
|
23 |
denoised_image = autoencoder.predict(noisy_image).squeeze()
|
24 |
-
denoised_image = (denoised_image * 255).astype(np.uint8)
|
25 |
|
|
|
|
|
26 |
# Genera imágenes con el VAE
|
27 |
random_latent_vectors = np.random.normal(size=(num_images, latent_dim))
|
28 |
generated_images = decoder.predict(random_latent_vectors)
|
29 |
|
30 |
# Prepara las imágenes para devolverlas
|
31 |
-
outputs = [denoised_image] + [generated_images[i].squeeze() for i in range(num_images)]
|
32 |
|
33 |
return outputs
|
34 |
|
35 |
-
|
36 |
# Define la interfaz
|
37 |
inputs = [
|
38 |
gr.Image(label="Imagen de Entrada"),
|
@@ -40,6 +40,7 @@ inputs = [
|
|
40 |
]
|
41 |
|
42 |
outputs = [
|
|
|
43 |
gr.Image(label="Imagen Reconstruida (DAE)"),
|
44 |
] + [
|
45 |
gr.Image(label=f"Imagen Generada {i+1} (VAE)") for i in range(2)
|
@@ -51,9 +52,9 @@ interface = gr.Interface(
|
|
51 |
inputs=inputs,
|
52 |
outputs=outputs,
|
53 |
title="Interfaz Interactiva para DAE y VAE",
|
54 |
-
description="Sube una imagen para
|
55 |
)
|
56 |
|
57 |
# Lanza la aplicación
|
58 |
if __name__ == "__main__":
|
59 |
-
interface.launch(share=True)
|
|
|
16 |
return noisy_image
|
17 |
|
18 |
def denoise_and_generate(image, num_images):
|
19 |
+
image = np.array(image) / 255.0 # Normaliza la imagen
|
20 |
+
noisy_image = add_gaussian_noise(np.expand_dims(image, axis=0)) # Añade ruido
|
|
|
21 |
|
22 |
denoised_image = autoencoder.predict(noisy_image).squeeze()
|
23 |
+
denoised_image = (denoised_image * 255).astype(np.uint8) # Escala a 0-255
|
24 |
|
25 |
+
noisy_image_display = (noisy_image.squeeze() * 255).astype(np.uint8) # Escala a 0-255 para visualizar
|
26 |
+
|
27 |
# Genera imágenes con el VAE
|
28 |
random_latent_vectors = np.random.normal(size=(num_images, latent_dim))
|
29 |
generated_images = decoder.predict(random_latent_vectors)
|
30 |
|
31 |
# Prepara las imágenes para devolverlas
|
32 |
+
outputs = [noisy_image_display, denoised_image] + [generated_images[i].squeeze() for i in range(num_images)]
|
33 |
|
34 |
return outputs
|
35 |
|
|
|
36 |
# Define la interfaz
|
37 |
inputs = [
|
38 |
gr.Image(label="Imagen de Entrada"),
|
|
|
40 |
]
|
41 |
|
42 |
outputs = [
|
43 |
+
gr.Image(label="Imagen con Ruido"),
|
44 |
gr.Image(label="Imagen Reconstruida (DAE)"),
|
45 |
] + [
|
46 |
gr.Image(label=f"Imagen Generada {i+1} (VAE)") for i in range(2)
|
|
|
52 |
inputs=inputs,
|
53 |
outputs=outputs,
|
54 |
title="Interfaz Interactiva para DAE y VAE",
|
55 |
+
description="Sube una imagen para agregar ruido, reconstruir con DAE y generar imágenes nuevas con VAE."
|
56 |
)
|
57 |
|
58 |
# Lanza la aplicación
|
59 |
if __name__ == "__main__":
|
60 |
+
interface.launch(share=True)
|