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.

adaptthresh

Umbral de imagen adaptable mediante estadísticas de primer orden locales

Sintaxis

T = adaptthresh(I)
T = adaptthresh(I,sensitivity)
T = adaptthresh(___,Name,Value)
T = adaptthresh(V,___,Name,Value)

Descripción

ejemplo

T = adaptthresh(I) calcula un umbral de adaptación local que se puede utilizar con la función imbinarize para convertir una imagen de intensidad en una imagen binaria. El resultado, T, es una matriz del mismo tamaño que I que contiene valores de intensidad normalizados en el rango [0,1]. adaptthresh elige el umbral basado en la intensidad media local (estadísticas de primer orden) en el vecindario de cada píxel.

ejemplo

T = adaptthresh(I,sensitivity) calcula un umbral localmente adaptable con el factor de sensibilidad especificado por sensitivity. sensitivity es un escalar en el rango [0,1] que indica sensibilidad hacia el umbral de más píxeles como primer plano.

ejemplo

T = adaptthresh(___,Name,Value) calcula un umbral de adaptación local utilizando pares nombre-valor para controlar los aspectos del umbral.

ejemplo

T = adaptthresh(V,___,Name,Value) calcula un umbral de adaptación local para el Vde volumen de entrada 3D.

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo.

I = imread('rice.png');

Utilice adaptthresh para determinar el umbral que se utilizará en la operación binarización.

T = adaptthresh(I, 0.4);

Convertir imagen a imagen binaria, especificando el valor de umbral.

BW = imbinarize(I,T);

Muestra la imagen original con la versión binaria, de lado a lado.

figure imshowpair(I, BW, 'montage')

Lea la imagen en el espacio de trabajo.

I = imread('printedtext.png');

El uso de adaptthresh calcula el umbral adaptativo y muestra la imagen de umbral local. Esto representa una estimación de la iluminación de fondo promedio.

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

Imagen Binarize usando umbral de adaptación localmente

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

Cargue el volumen 3-D en el espacio de trabajo.

load mristack; V = mristack;

Mostrar los datos.

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

Calcule el umbral.

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

Mostrar el umbral.

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

Argumentos de entrada

contraer todo

Imagen de intensidad de entrada, especificada como una matriz real, no Sparse, 2-D. Si la imagen contiene Infs o NaNs, el comportamiento de adaptthresh es indefinido. La propagación de Infs o NaNs no se puede localizar en el vecindario alrededor de Inf o NaN píxeles.

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

Determine qué píxeles consiguen umbrales como píxeles de primer plano, especificados como escalares numéricos reales no negativos en el rango [0,1]. Los valores de alta sensibilidad conducen a la umbralización de más píxeles como primer plano, a riesgo de incluir algunos píxeles de fondo.

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

Volumen de intensidad de entrada, especificado como un array real, no Sparse, 3-D. Si la imagen contiene Infs o NaNs, el comportamiento de adaptthresh es indefinido. La propagación de Infs o NaNs no se puede localizar en el vecindario alrededor de Inf o NaN píxeles.

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

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos Name,Value . Name es el nombre del argumento y Value es el valor correspondiente. Name debe aparecer dentro de comillas simples (' '). Puede especificar varios argumentos de par de nombre y valor en cualquier orden como Name1,Value1,...,NameN,ValueN.

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

Tamaño del vecindario utilizado para calcular la estadística local alrededor de cada píxel, especificada como un vector real, numérico, escalar o de dos elementos de enteros impares positivos.

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

Determine qué píxeles se consideran píxeles de primer plano, especificados mediante cualquiera de las siguientes opciones:

Valor

Significado

'bright'

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

'dark'

El primer plano es más oscuro que el fondo

Tipos de datos: char | string

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

Valor

Significado

'mean'

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

'median'

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

'gaussian'

La media ponderada de Gauss en el vecindario.

Tipos de datos: char | string

Argumentos de salida

contraer todo

Valores de intensidad normalizados, devueltos como matriz de 2-d o matriz tridimensional de doublede clase. El valor devuelto T es del mismo tamaño que la imagen de entrada o el volumen.

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

Consulte también

| |

Introducido en R2016a