Funciones > Procesamiento de imágenes > Convolución y filtros > Ejemplo: filtrado cuantil y de mediana
  
Ejemplo: filtrado cuantil y de mediana
Utilice medsmooth y getnoise para buscar la intensidad mediana (cuantil 0.5) de cada uno de los elementos de una imagen y los ocho vecinos más cercanos (kernel 3 x 3 cuadrado). La función medsmooth devuelve la imagen filtrada, y getnoise devuelve la diferencia entre la imagen original y la imagen filtrada.
Utilice quantfilt si son necesarios el cuantil y el kernel definidos por el usuario, en vez de la mediana.
Además de quitar el ruido, el filtrado de mediana tiende a quitar las pequeñas nitideces de una imagen.
Para obtener información sobre el uso de este ejemplo, consulte Acerca de los ejemplos de procesamiento de imágenes
medsmooth
1. Lea una imagen.
Pulse aquí para copiar esta expresión
2. Añada ruido a la imagen.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Compare la imagen original con la imagen con ruido.
(fruit.bmp)
(fruit_n.bmp)
4. Filtre la imagen con medsmooth.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
(fruit_f.bmp)
getnoise
Esta función sustrae la versión original de una matriz de imagen a partir de la versión filtrada de la mediana.
1. Aplique la función getnoise a la imagen ruidosa.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
(fruit_gn.bmp)
La función getnoise lleva a cabo el equivalente de la sustracción del ruido de la imagen filtrada:
Pulse aquí para copiar esta expresión
2. Calcule y visualice la diferencia absoluta entre las dos imágenes.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
(fruit_an.bmp)
quantfilt
En algunos casos, es posible que el filtro de mediana con el kernel 3 x 3 no sea lo suficientemente general para realizar un filtrado correcto. Por ejemplo, si se filtra de esta manera una imagen con muchas esquinas agudas, con frecuencia se quitan los píxeles de la esquina. Para evitar este efecto, utilice la función quantfilt con un kernel de filtrado de mediana con forma de signo más, en vez del kernel 3 x 3 uniforme especificado más arriba.
Tenga en cuenta el patrón habitual y añádale algo de ruido:
1. Lea la imagen del patrón.
Pulse aquí para copiar esta expresión
2. Añada ruido a la imagen.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Compare la imagen original con la imagen con ruido.
(pattern.bmp)
(pattern_n2.bmp)
4. Filtre la imagen ruidosa mediante la función quantfilt con un cuantil de 0.5 para el valor de mediana y un kernel 3 x 3 cuadrado.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
5. Filtre la imagen ruidosa mediante la función quantfilt con un cuantil de 0.5 para el valor de mediana y un kernel en forma de cruz.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
6. Compare los dos patrones filtrados.
(pattern_sq.bmp)
(pattern_cr.bmp)
El kernel cuadrado degrada los bordes, las líneas y las esquinas del cuadrado mucho más que el kernel en forma de cruz.
Cuantiles no medianos
La función quantfilt también se puede utilizar para elegir cuantiles que no sean el valor de la mediana (0.5), que cambia la intensidad general de la imagen. Por ejemplo, si se elige el cuantil 0.0, se toma el valor mínimo del píxel y sus vecinos, el cuantil 1.0 proporcionará el valor máximo. (Esto es similar a la erosión y la dilatación morfológicas de la escala de grises)
1. Defina el cuantil en 0.0 para que las regiones más oscuras del patrón original se dilaten y las regiones más claras se erosionen.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Defina el cuantil en 1.0 para que las regiones más claras del patrón original se dilaten y las regiones más oscuras se erosionen.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Compare el patrón original con las versiones oscura y clara.
(pattern.bmp)
(pattern_drk.bmp)
(pattern_lit.bmp)