Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

medfilt2

Filtrado de mediana 2D

Descripción

ejemplo

J = medfilt2(I) realiza el filtrado medio de la imagen en dos dimensiones.I Cada píxel de salida contiene el valor mediano en una vecindad de 3 por 3 alrededor del píxel correspondiente en la imagen de entrada.

Opcionalmente, puede calcular la correlación cruzada normalizada usar una GPU (requiere ).Parallel Computing Toolbox™

J = medfilt2(I,[m n]) realiza el filtrado de mediana, donde cada píxel de salida contiene el valor medio en la vecindad -por- alrededor del píxel correspondiente en la imagen de entrada.mn

J = medfilt2(___,padopt) controla cómo rellena los límites de la imagen.medfilt2

Esta sintaxis no se admite en una GPU.

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo y muéstrala.

I = imread('eight.tif'); figure, imshow(I)

Agregue el ruido de sal y pimienta.

J = imnoise(I,'salt & pepper',0.02);

Utilice un filtro mediano para filtrar el ruido.

K = medfilt2(J);

Mostrar resultados, uno al lado del otro.

imshowpair(J,K,'montage')

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como una imagen binaria o en escala de grises 2D.

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Tamaño de vecindad, especificado como un vector de 2 elementos de enteros positivos reales.

Si realiza el filtrado de mediana mediante una GPU, la vecindad debe ser cuadrada con lados de longitud impar entre 3 y 15.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Opción de relleno, especificada como uno de los siguientes valores.

ValorDescripción
(predeterminado)'zeros'Apadre la imagen con s.0
'symmetric'Extienda simétricamente la imagen en los límites.
'indexed'Si la clase de es , a continuación, rellenar la imagen con s; de lo contrario, almohadilla con s.Idouble10

Tipos de datos: char | string

Argumentos de salida

contraer todo

Imagen de salida, devuelta como una matriz numérica de la misma clase que la imagen de entrada.I

Sugerencias

  • El filtrado medio es una operación no lineal que se utiliza a menudo en el procesamiento de imágenes para reducir el ruido de "sal y pimienta". Un filtro mediano es más eficaz que la convolución cuando el objetivo es reducir simultáneamente el ruido y preservar los bordes. Para obtener información acerca de las consideraciones de rendimiento, consulte .ordfilt2

  • Si la imagen de entrada es de una clase entera, todos los valores de salida se devuelven como enteros.I Si el número de píxeles de la vecindad (es decir, ) es par, es posible que algunos de los valores medianos no sean enteros.m*n En estos casos, las partes fraccionarias se descartan. La entrada lógica se trata de forma similar. Por ejemplo, la mediana verdadera para la siguiente vecindad de 2 por 2 en una matriz es 4.5, pero descarta la parte fraccionaria y devuelve 4.uint8medfilt2

    1 5 4 8
  • Si especifica como o , el relleno puede sesgar la mediana cerca del límite de la imagen.padopt'zeros''indexed' Píxeles dentro de la mitad del ancho de la vecindad ([m n]/2) de las aristas pueden aparecer distorsionadas.

Algoritmos

En la CPU, se utiliza para realizar el filtrado.medfilt2ordfilt2

Referencias

[1] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 469-476.

Capacidades ampliadas

Consulte también

| | |

Introducido antes de R2006a