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.

grayslice

Convierta la imagen en escala de grises en imagen indexada mediante umbrales multinivel

Descripción

ejemplo

X = grayslice(I,N) convierte una imagen en escala de grises en una imagen indizada mediante el enfoque de umbral multinivel. La función calcula automáticamente los valores de umbral en función de .N Para obtener más información sobre el cálculo de umbrales, consulte .Algoritmos

ejemplo

X = grayslice(I,thresholds) devuelve una imagen indexada mediante umbral multinivel de la imagen de entrada mediante un conjunto especificado de umbrales.

Ejemplos

contraer todo

Lea la imagen en escala de grises en el espacio de trabajo.

I = imread('snowflakes.png');

Umbral de la imagen de intensidad, devolviendo una imagen indexada.

X = grayslice(I,16);

Muestre la imagen original y la imagen indexada, utilizando uno de los mapas de colores estándar.

imshow(I)

figure imshow(X,jet(16))

Lea una imagen en escala de grises en el espacio de trabajo. Muestre la imagen.

I = imread('coins.png'); imshow(I)

Especifique los valores de umbral para el umbral multinivel.

thresholds = [45 65 84 108 134 157 174 189 206 228];

Convierta la imagen en escala de grises de entrada en una imagen indexada.

X = grayslice(I,thresholds);

Muestre la imagen indexada. Establezca el mapa de colores de la imagen indexada en .jet La longitud del mapa de colores, , es el valor de intensidad máxima en la imagen indexada.m

m = double(max(X(:)));  figure imshow(X,colormap(jet(m)))

Argumentos de entrada

contraer todo

Introduzca la imagen en escala de grises, especificada como una matriz numérica por.mn

Tipos de datos: single | double | int16 | uint8 | uint16

Número de valores de umbral, especificado como escalar positivo. El valor representa el número total de umbrales que se utilizarán para el umbral multinivel.

Tipos de datos: single | double | int16 | uint8 | uint16

Conjunto de umbrales, especificado como vector numérico. El número de valores de umbral que se utilizarán para el umbral multinivel es igual a .length(thresholds)

Tipo de datos de imagenRango de valores de umbral válidos
uint8[0, 255]
Oint16uint16[0, 65535]
Osingledouble[0, 1]

Nota

Antes de umbral de una imagen de tipo de datos, la función convierte la imagen agregando 32.768 a cada píxel.int16graysliceuint16 Tenga en cuenta este desplazamiento aditivo al especificar umbrales para imágenes de entrada de tipo de datos.int16

Tipos de datos: single | double | int16 | uint8 | uint16

Argumentos de salida

contraer todo

Imagen indexada de salida, devuelta como una matriz -by- del mismo tamaño que la imagen en escala de grises de entrada.mn El tipo de datos de depende del número de valores de umbral utilizados para el umbral multinivel.X

  • Si el número de valores de umbral es menor que 256, entonces es de tipo de datos.Xuint8 En este caso, el rango de valores de intensidad en es [0, -1] o [0, ( )].XNlengththresholds

  • Si el número de valores de umbral es mayor o igual que 256, es de tipo de datos .Xdouble En este caso, el rango de valores de intensidad en es [1, ] o [1, ( ) +1].XNlengththresholds

Tipos de datos: uint8 | double

Sugerencias

  • Puede ver la imagen de umbral utilizando un mapa de color de longitud adecuada.imshow(X,map)

Algoritmos

La función realiza umbrales multinivel de la imagen en escala de grises de entrada y devuelve una imagen indizada como salida. Si especifica el número de umbrales, asigna píxeles a los índices según estos umbrales.NgraysliceN

  • El primer índice consiste en los píxeles en escala de grises en el rangoX

  • El índice -th en consiste en los píxeles de escala de grises en el rangokX

  • El último índice consiste en los píxeles en escala de grises en el rangoX.

depende del tipo de datos de la imagen de entrada.max_intensity

Tipo de datos de imagenmax_intensity
uint8255
Oint16uint1665535
Osingledouble1

Nota

Antes de umbral de una imagen de tipo de datos, la función convierte la imagen agregando 32.768 a cada píxel.int16graysliceuint16

Consulte también

Introducido antes de R2006a