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.

applylut

Operaciones de vecindad en imágenes binarias mediante tablas de búsqueda

no se recomienda.applylut Utilícelo en su lugar.bwlookup

Descripción

ejemplo

A = applylut(BW,lut) realiza una operación de vecindad de 2 por 2 o 3 por 3 en una imagen binaria mediante una tabla de búsqueda, .BWlut La tabla de búsqueda consta de los valores de salida para todas las vecindades posibles de 2 por 2 o 3 por 3.

Ejemplos

contraer todo

Cree el LUT.

 lutfun = @(x)(sum(x(:))==4);  lut    = makelut(lutfun,2);

Lea la imagen en el espacio de trabajo y, a continuación, aplique el LUT a la imagen. Un píxel de salida es solo si los cuatro píxeles de vecindad del píxel de entrada son .onon

 BW1    = imread('text.png');  BW2    = applylut(BW1,lut);

Muestre la imagen original y la imagen erosionada.

 figure, imshow(BW1);

 figure, imshow(BW2);

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como una imagen binaria 2D. Para la entrada numérica, los píxeles distintos de cero se consideran ( ).1true

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

Tabla de búsqueda de valores de píxel de salida, especificada como un vector de 16 o 512 elementos devuelto por .makelut

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

Argumentos de salida

contraer todo

Imagen de salida, devuelta como una escala de grises o una imagen binaria cuya distribución de los valores de píxel están determinadas por el contenido de la tabla de búsqueda, .lut La imagen de salida tiene el mismo tamaño que la imagen de entrada.JI

  • Si todos los elementos de son o , a continuación, tiene el tipo de datos .lut01Alogical

  • Si todos los elementos de son enteros entre 0 y 255, tiene el tipo de datos .lutAuint8

  • Para todos los demás casos, tiene el tipo de datos .Adouble

Tipos de datos: double | uint8 | logical

Algoritmos

contraer todo

realiza una operación de vecindad en una imagen binaria mediante la producción de una matriz de índices en , y luego reemplazando los índices con los valores reales en .applylutlutlut El algoritmo específico utilizado depende de si utiliza 2 por 2 o 3 por 3 vecindades.

2 por 2 Barrios

Para 2 por 2 vecindarios, es 16.length(lut) Hay cuatro píxeles en cada vecindad, y dos estados posibles para cada píxel, por lo que el número total de permutaciones es 24 N.o 16.

Para producir la matriz de índices, convolves la imagen binaria con esta matriz.applylutBW

8     2 4     1

La convolución resultante contiene valores enteros en el intervalo [0, 15]. utiliza la parte central de la convolución, del mismo tamaño que , y agrega 1 a cada valor para desplazar el rango a [1, 16].applylutBW A continuación, la función se construye reemplazando los valores de las celdas de la matriz de índice por los valores a los que apuntan los índices.Alut

3 por 3 barrios

Para 3 por 3 vecindarios, es 512.length(lut) Hay nueve píxeles en cada vecindad, y dos estados posibles para cada píxel, por lo que el número total de permutaciones es 29 N.o 512.

Para producir la matriz de índices, convolves la imagen binaria con esta matriz.applylutBW

256    32     4 128    16     2  64     8     1

La convolución resultante contiene valores enteros en el intervalo [0, 511]. utiliza la parte central de la convolución, del mismo tamaño que , y agrega 1 a cada valor para desplazar el rango a [1, 512].applylutBW A continuación, se construye reemplazando los valores de las celdas de la matriz de índice con los valores a los que apuntan los índices.Alut

Consideraciones de compatibilidad

expandir todo

No se recomienda a partir de R2012b

Consulte también

Introducido antes de R2006a