File size: 1,152 Bytes
4f81a26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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