Create preprocess.py
Browse files- preprocess.py +33 -0
preprocess.py
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import numpy as np
|
2 |
+
from PIL import Image
|
3 |
+
from skimage.util import random_noise
|
4 |
+
|
5 |
+
# --- Configuraci贸n ---
|
6 |
+
dimensiones = (256, 256) # Tama帽o objetivo
|
7 |
+
|
8 |
+
# --- Normalizaci贸n de una imagen ---
|
9 |
+
def normalize_image(img):
|
10 |
+
"""
|
11 |
+
Normaliza una imagen PIL a valores entre [0,1] y la redimensiona a (256,256).
|
12 |
+
"""
|
13 |
+
img = img.resize(dimensiones) # Redimensionar a tama帽o est谩ndar
|
14 |
+
img_array = np.array(img, dtype=np.float32) / 255.0 # Normalizar a rango [0, 1]
|
15 |
+
return img_array
|
16 |
+
|
17 |
+
# --- A帽adir ruido gaussiano ---
|
18 |
+
def add_gaussian_noise(img_array):
|
19 |
+
"""
|
20 |
+
A帽ade ruido gaussiano a una imagen normalizada en el rango [0,1].
|
21 |
+
"""
|
22 |
+
img_noisy = random_noise(img_array, mode='gaussian', mean=0, var=0.3)
|
23 |
+
return img_noisy
|
24 |
+
|
25 |
+
# --- Preprocesamiento de una sola imagen (para Gradio) ---
|
26 |
+
def preprocess_single_image(img):
|
27 |
+
"""
|
28 |
+
Toma una imagen PIL, la normaliza y le a帽ade ruido, devolviendo ambas versiones.
|
29 |
+
"""
|
30 |
+
img_clean = normalize_image(img) # Normalizar imagen
|
31 |
+
img_noisy = add_gaussian_noise(img_clean) # Agregar ruido
|
32 |
+
|
33 |
+
return img_noisy, img_clean # Retornar imagen con ruido y original normalizada
|