File size: 1,290 Bytes
447ffa7 |
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 |
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()
|