Autoencoder / preprocess.py
Aaronsep's picture
Create preprocess.py
4f81a26 verified
raw
history blame
1.15 kB
import numpy as np
from PIL import Image
from skimage.util import random_noise
# --- Configuración ---
dimensiones = (256, 256) # Tamaño objetivo
# --- Normalización de una imagen ---
def normalize_image(img):
"""
Normaliza una imagen PIL a valores entre [0,1] y la redimensiona a (256,256).
"""
img = img.resize(dimensiones) # Redimensionar a tamaño estándar
img_array = np.array(img, dtype=np.float32) / 255.0 # Normalizar a rango [0, 1]
return img_array
# --- Añadir ruido gaussiano ---
def add_gaussian_noise(img_array):
"""
Añade ruido gaussiano a una imagen normalizada en el rango [0,1].
"""
img_noisy = random_noise(img_array, mode='gaussian', mean=0, var=0.3)
return img_noisy
# --- Preprocesamiento de una sola imagen (para Gradio) ---
def preprocess_single_image(img):
"""
Toma una imagen PIL, la normaliza y le añade ruido, devolviendo ambas versiones.
"""
img_clean = normalize_image(img) # Normalizar imagen
img_noisy = add_gaussian_noise(img_clean) # Agregar ruido
return img_noisy, img_clean # Retornar imagen con ruido y original normalizada