Lo que realicé (con ayuda del ejemplo incluido en las referencias) fue un generador y eliiminador de ruido utilizando diferentes familias de wavelets de la librería pywavelet.
El procedimiento es simple, primero es convertir la imagen en un arreglo (dependiente de su tamaño) el cual contiene valores entre 0 y 255, esto significa que la imagen debe convertirse a escala de grises. Después se le aplica ruido blanco dependiente de una variable $\sigma$ (entre mayor, más ruido) y se busca después recuperar la mayor parte de la imagen del ruido posible, utilizando diferentes familias de wavelets.
De izquierda a derecha, imagen original y con ruido añadido.
Eliminación de ruido utilizando el wavelet sym15
Eliminación de ruido utilizando el wavelet bior2.8
En general, la eliminación de ruido es aceptable usando los wavelets de la familia bior, coif y sym predefinidos en pywavelets, pero haar no parece tener ningún efecto notable sobre el ruido. Todo esto considerando que se utilizó la misma $\sigma = 5.0$ para tanto generar ruido, como para eliminarlo, de ser diferente la eliminación de ruido podría empeorar.
Código:
- Fransisco BlancoSilva, "Denoising: wavelet thresholding",
Fecha de publicación: 6 de Mayo de 2011 (?):
blancosilva.wordpress.com/teaching/mathematical-imaging/denoising-wavelet-thresholding/
4 pts extra lab de visión.
ResponderEliminar