|
import numpy as np |
|
from PIL import Image |
|
from skimage.util import random_noise |
|
|
|
|
|
dimensiones = (256, 256) |
|
|
|
|
|
def normalize_image(img): |
|
""" |
|
Normaliza una imagen PIL a valores entre [0,1] y la redimensiona a (256,256). |
|
""" |
|
img = img.resize(dimensiones) |
|
img_array = np.array(img, dtype=np.float32) / 255.0 |
|
return img_array |
|
|
|
|
|
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 |
|
|
|
|
|
def preprocess_single_image(img): |
|
""" |
|
Toma una imagen PIL, la normaliza y le añade ruido, devolviendo ambas versiones. |
|
""" |
|
img_clean = normalize_image(img) |
|
img_noisy = add_gaussian_noise(img_clean) |
|
|
|
return img_noisy, img_clean |
|
|