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.

nlfilter

Operaciones generales de vecindario deslizante

Descripción

ejemplo

B = nlfilter(A,[m n],fun) aplica la función a cada bloque deslizante por de la imagen en escala de grises.funmnUn

B = nlfilter(A,'indexed',___) procesos como una imagen indexada, relleno con s si la clase de es , , o , y relleno con s en caso contrario.Un0Unuint8uint16logical1

Nota

puede tomar mucho tiempo procesar imágenes grandes.nlfilter En algunos casos, la función puede realizar la misma operación mucho más rápido.colfilt

Ejemplos

contraer todo

En este ejemplo se muestra cómo aplicar un filtro mediano a una imagen mediante .nlfilter Este ejemplo produce el mismo resultado que llamar con una vecindad de 3 por 3.medfilt2

Lea una imagen en el espacio de trabajo.

A = imread('cameraman.tif'); 

Convierta la imagen en .double

A = im2double(A);

Cree la función que desea aplicar a la imagen: un filtro mediano.

fun = @(x) median(x(:));

Aplique el filtro a la imagen.

B = nlfilter(A,[3 3],fun); 

Muestre la imagen original y la imagen filtrada, en paralelo.

montage({A,B}) title('Original Image (Left) and Median Filtered Image (Right)')

Argumentos de entrada

contraer todo

Imagen que se va a filtrar, especificada como una matriz numérica de cualquier clase admitida por .fun Cuando es escala de grises, puede ser cualquier tipo numérico o .Unlogical Cuando se indexa, puede ser , , , , o .Unlogicaluint8uint16singledouble

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

Tamaño de bloque, especificado como un vector de 2 elementos de enteros positivos. es el número de filas y es el número de columnas en el bloque.mn

Ejemplo: B = nlfilter(A,[3 3],fun);

Tipos de datos: single | double | logical

Identificador de función especificado como identificador. La función debe aceptar una matriz -by- como entrada y devolver un resultado escalar.mn

c = fun(x)

es el valor de salida para el píxel central en el bloque -by-. llama a cada píxel en . cero-pads el bloque -por- en los bordes, si es necesario.cmnxnlfilterfunUnnlfiltermn

Tipos de datos: function_handle

Argumentos de salida

contraer todo

Imagen filtrada, devuelta como matriz numérica. La clase de depende de la clase de la salida de .Bfun

Introducido antes de R2006a