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.

gradientweight

Calcular pesos para píxeles de imagen basados en degradado de imagen

Descripción

W = gradientweight(I) calcula el grosor de píxel de cada píxel de la imagen en función de la magnitud del degradado en ese píxel y devuelve la matriz de peso.IW El peso de un píxel está inversamente relacionado con los valores de degradado en la ubicación del píxel. Los píxeles con una magnitud de degradado pequeña (regiones suaves) tienen un peso grande y los píxeles con una gran magnitud de degradado (como en los bordes) tienen un peso pequeño.

W = gradientweight(I,sigma) utiliza como la desviación estándar para la derivada de Gaussian que se utiliza para calcular el degradado de imagen.sigma

ejemplo

W = gradientweight(___,Name,Value) devuelve la matriz de peso mediante pares nombre-valor para controlar aspectos del cálculo del peso.W

Ejemplos

contraer todo

En este ejemplo se segmenta una imagen mediante el método de marcha rápida en función de las ponderaciones derivadas del degradado de imagen.

Lea la imagen y muésela.

I = imread('coins.png'); imshow(I) title('Original Image')

Calcular pesos basados en degradado de imagen.

sigma = 1.5; W = gradientweight(I, sigma, 'RolloffFactor', 3, 'WeightCutoff', 0.25);

Seleccione una ubicación de semillas.

R = 70; C = 216; hold on;  plot(C, R, 'r.', 'LineWidth', 1.5, 'MarkerSize',15); title('Original Image with Seed Location')

Segmente la imagen utilizando la matriz de peso.

thresh = 0.1; [BW, D] = imsegfmm(W, C, R, thresh); figure, imshow(BW) title('Segmented Image') hold on;  plot(C, R, 'r.', 'LineWidth', 1.5, 'MarkerSize',15);

La matriz de distancia geodésica se puede umbral utilizando diferentes umbrales para obtener resultados de segmentación diferentes.D

figure, imshow(D) title('Geodesic Distances') hold on;  plot(C, R, 'r.', 'LineWidth', 1.5, 'MarkerSize',15);

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como una imagen en escala de grises. Debe ser no escaso.

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

Desviación estándar para Derivado de Gaussiano, especificado como un escalar positivo de clase.double

Ejemplo: sigma = 1.0; W = gradientweight(I, sigma)

Tipos de datos: double

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

Ejemplo: W = gradientweight(I,1.5,'RolloffFactor',3,'WeightCutoff',0.25);

Factor de desconexión de peso de salida, especificado como el par separado por comas que consta de un escalar positivo de la clase y un escalar positivo.'RolloffFactor'double Controla la velocidad de los valores de peso en función de la magnitud del degradado. Cuando se ve como un trazado 2D, los valores de intensidad de píxel pueden variar gradualmente en los bordes de las regiones, creando una pendiente suave. En la imagen segmentada, es posible que desee que el borde esté más bien definido. Mediante el factor de desconexión, se controla la pendiente de la curva de valor de peso en puntos donde los valores de intensidad comienzan a cambiar. Si especifica un valor alto, los valores de peso de salida caen bruscamente alrededor de los bordes de las regiones suaves. Si especifica un valor bajo, el peso de salida tiene una caída más gradual alrededor de los bordes. El rango sugerido para este parámetro es .[0.5 4]

Tipos de datos: double

Umbral para los valores de peso, especificado como el par separado por comas que consta de un escalar positivo de la clase y un escalar positivo.'WeightCutoff'double Si utiliza este parámetro para establecer un umbral en los valores de peso, suprime los valores de peso inferiores al valor especificado, estableciendo estos píxeles en un valor constante pequeño (1e-3). Este parámetro puede ser útil para mejorar la precisión de la salida cuando se utiliza la matriz de peso de salida como entrada para la función de segmentación método de marcha rápida, .Wimsegfmm

Tipos de datos: double

Argumentos de salida

contraer todo

Matriz de peso, devuelta como una matriz numérica. La matriz de peso tiene el mismo tamaño que la imagen de entrada, .I La matriz weight es de clase , a menos que sea , en cuyo caso es de clase .doubleIsinglesingle

Sugerencias

  • utiliza operaciones de punto flotante de doble precisión para cálculos internos para todas las clases de , excepto cuando es de clase , en cuyo caso se utilizan operaciones de punto flotante de precisión única internamente.gradientweightIIsinglegradientweight

Consulte también

|

Introducido en R2014b