Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

adaptthresh

Umbral adaptativo de la imagen utilizando estadísticas locales de primer orden

Descripción

ejemplo

T = adaptthresh(I) calcula un umbral localmente adaptativo para una imagen 2D en escala de grises o un volumen 3D en escala de grises I. La función adaptthresh elige el umbral basándose en la intensidad media local (estadísticas de primer orden) en el entorno de cada píxel. El umbral T se puede usar con la función imbinarize para convertir una imagen en escala de grises en una imagen binaria.

ejemplo

T = adaptthresh(I,sensitivity) calcula un umbral localmente adaptativo con el factor de sensibilidad especificado por sensitivity. sensitivity es un escalar en el intervalo [0,1] que indica la sensibilidad para que más píxeles se consideren como primer plano al utilizar el umbral.

ejemplo

T = adaptthresh(___,Name,Value) calcula un umbral localmente adaptativo utilizando pares nombre-valor para controlar aspectos del umbral.

Ejemplos

contraer todo

Lea una imagen en el espacio de trabajo.

I = imread('rice.png');

Utilice adaptthresh para determinar el umbral y utilizarlo en la operación de binarización.

T = adaptthresh(I, 0.4);

Convierta la imagen en una imagen binaria especificando el valor del umbral.

BW = imbinarize(I,T);

Muestre la imagen original junto con su versión binaria, una al lado de la otra.

figure
imshowpair(I, BW, 'montage')

Figure contains an axes object. The axes object contains an object of type image.

Lea una imagen en el espacio de trabajo.

I = imread('printedtext.png');

adaptthresh permite calcular el umbral adaptativo y muestra la imagen del umbral local. Esto representa una estimación de la iluminación de fondo promedia.

T = adaptthresh(I,0.4,'ForegroundPolarity','dark');
figure
imshow(T)

Figure contains an axes object. The axes object contains an object of type image.

Binarice la imagen utilizando el umbral local adaptativo.

BW = imbinarize(I,T);
figure
imshow(BW)

Figure contains an axes object. The axes object contains an object of type image.

Cargue un volumen 3D en el espacio de trabajo.

load mristack;
V = mristack;

Muestre los datos.

figure
slice(double(V),size(V,2)/2,size(V,1)/2,size(V,3)/2)
colormap gray
shading interp

Figure contains an axes object. The axes object contains 3 objects of type surface.

Calcule el umbral.

J = adaptthresh(V,'neigh',[3 3 3],'Fore','bright');

Muestre el umbral.

figure
slice(double(J),size(J,2)/2,size(J,1)/2,size(J,3)/2)
colormap gray
shading interp

Figure contains an axes object. The axes object contains 3 objects of type surface.

Argumentos de entrada

contraer todo

Imagen o volumen en escala de grises, especificados como matriz numérica 2D o arreglo numérico 3D.

Si la imagen contiene valores Inf o NaN, el comportamiento de adaptthresh se encuentra indefinido. La propagación de valores Inf o NaN puede no estar localizada alrededor del entorno de píxeles Inf o NaN.

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

Determina qué píxeles se umbralizan como píxeles de primer plano, especificados como número en el intervalo [0, 1]. Unos valores de sensibilidad elevados llevan a que más píxeles se consideren como primer plano al utilizar el umbral, con el riesgo de incluir algunos de los píxeles del fondo.

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

Argumentos de par nombre-valor

Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.

En las versiones anteriores a la R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: T = adaptthresh(I,0.4,'ForegroundPolarity','dark');

Tamaño del entorno usado para calcular la estadística local alrededor de cada píxel, especificado como entero positivo impar o vector de 2 elementos de enteros positivos impares.

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

Determina qué píxeles se consideran píxeles de primer plano, especificados usando uno de los siguientes:

Valor

Significado

'bright'

El primer plano es más claro que el fondo.

'dark'

El primer plano es más oscuro que el fondo

Tipos de datos: char | string

Estadística empleada para calcular el umbral local en cada píxel, especificada como uno de los siguientes:

Valor

Significado

'mean'

La intensidad media local en el entorno. Esta técnica también se denomina método de Bradley [1].

'median'

La mediana local en el entorno. El cálculo de esta estadística puede ser lento. Considere el uso de un tamaño de entorno más pequeño para obtener resultados más rápidos.

'gaussian'

La media ponderada gaussiana en el entorno.

Tipos de datos: char | string

Argumentos de salida

contraer todo

Valores de intensidad normalizados, devueltos como matriz numérica o arreglo numérico del mismo tamaño que la imagen o el volumen de entrada I. Los valores se normalizan al intervalo [0, 1].

Tipos de datos: double

Referencias

[1] Bradley, D., G. Roth, "Adapting Thresholding Using the Integral Image," Journal of Graphics Tools. Vol. 12, No. 2, 2007, pp.13–21.

Capacidades ampliadas

Historial de versiones

Introducido en R2016a

Consulte también

| |