Autoencoder / app.py
Aaronsep's picture
Update app.py
447ffa7 verified
raw
history blame
1.29 kB
import gradio as gr
import tensorflow as tf
import numpy as np
from PIL import Image
# --- Cargar el modelo completo ---
model = tf.keras.models.load_model("autoencoder_complete_model_Fourier.keras")
# --- Transformaciones necesarias ---
def preprocess_image(img):
""" Prepara la imagen para el modelo (escala 0-1 y redimensiona a 256x256). """
img = img.resize((256, 256)) # Asegurar tamaño correcto
img_array = np.array(img) / 255.0 # Normalizar entre 0 y 1
img_array = np.expand_dims(img_array, axis=0) # Añadir batch dimension
return img_array
def denoise_image(img):
""" Pasa la imagen ruidosa por el autoencoder y devuelve la imagen reconstruida. """
img_array = preprocess_image(img)
# Pasar la imagen por el autoencoder
denoised_img = model.predict(img_array)
# Postprocesamiento
denoised_img = np.squeeze(denoised_img) # Remover batch dimension
denoised_img = (denoised_img * 255).astype(np.uint8) # Convertir a formato uint8
return denoised_img
# --- Interfaz Gradio ---
gr.Interface(fn=denoise_image,
inputs=gr.Image(type="pil"), # Imagen de entrada
outputs=gr.Image(type="numpy"), # Imagen de salida
examples=["noisy1.jpg", "noisy2.jpg"] # Ejemplos opcionales
).launch()