Aaronsep commited on
Commit
447ffa7
·
verified ·
1 Parent(s): 1e1e238

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -0
app.py CHANGED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import tensorflow as tf
3
+ import numpy as np
4
+ from PIL import Image
5
+
6
+ # --- Cargar el modelo completo ---
7
+ model = tf.keras.models.load_model("autoencoder_complete_model_Fourier.keras")
8
+
9
+ # --- Transformaciones necesarias ---
10
+ def preprocess_image(img):
11
+ """ Prepara la imagen para el modelo (escala 0-1 y redimensiona a 256x256). """
12
+ img = img.resize((256, 256)) # Asegurar tamaño correcto
13
+ img_array = np.array(img) / 255.0 # Normalizar entre 0 y 1
14
+ img_array = np.expand_dims(img_array, axis=0) # Añadir batch dimension
15
+ return img_array
16
+
17
+ def denoise_image(img):
18
+ """ Pasa la imagen ruidosa por el autoencoder y devuelve la imagen reconstruida. """
19
+ img_array = preprocess_image(img)
20
+
21
+ # Pasar la imagen por el autoencoder
22
+ denoised_img = model.predict(img_array)
23
+
24
+ # Postprocesamiento
25
+ denoised_img = np.squeeze(denoised_img) # Remover batch dimension
26
+ denoised_img = (denoised_img * 255).astype(np.uint8) # Convertir a formato uint8
27
+ return denoised_img
28
+
29
+ # --- Interfaz Gradio ---
30
+ gr.Interface(fn=denoise_image,
31
+ inputs=gr.Image(type="pil"), # Imagen de entrada
32
+ outputs=gr.Image(type="numpy"), # Imagen de salida
33
+ examples=["noisy1.jpg", "noisy2.jpg"] # Ejemplos opcionales
34
+ ).launch()