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.

graydist

Transformación de la distancia ponderada en gris de la imagen en escala de gris

Sintaxis

T = graydist(A,mask)
T = graydist(A,C,R)
T = graydist(A,ind)
T = graydist(...,method)

Descripción

T = graydist(A,mask) calcula la transformación de la distancia ponderada en gris de la imagen de escala de grises A. Las ubicaciones donde mask es true son ubicaciones de semillas.

T = graydist(A,C,R) utiliza vectores C y R para especificar las coordenadas de fila y columna de las ubicaciones de la semilla.

T = graydist(A,ind) especifica los índices lineales de las ubicaciones de las semillas utilizando el vector ind.

T = graydist(...,method) especifica una métrica de distancia alternativa. method determina los pesos de chaflán que se asignan al vecindario local durante la propagación externa. La contribución de cada píxel al tiempo geodésico se basa en el peso del chaflán en una dirección particular multiplicada por la intensidad del píxel.

Argumentos de entrada

A

Imagen en escala de grises.

mask

Imagen lógica del mismo tamaño que A que especifica las ubicaciones de las semillas.

C,R

Vectores numéricos que contienen las coordenadas de fila y columna de enteros positivos de las ubicaciones de la semilla. Los valores de coordenadas son los subíndices C,R válidos en A.

ind

Vector numérico de Integer positivo, índices lineales de ubicaciones de semilla.

method

Tipo de distancia métrica. method puede tener cualquiera de estos valores.

MétodoDescripción

'cityblock'

En 2-D, la distancia cityblock entre (x1,y1) y (x2,y2) se x1x2│ + │y1y2.

'chessboard'

La distancia del tablero de ajedrez es
max(│x1x2│,│y1y2│).

'quasi-
euclidean'

La distancia cuasi-euclidiana es

|x1x2|+(21)|y1y2|, |x1x2|>|y1y2|

(21)|x1x2|+|y1y2|, otherwise.

Predeterminado: 'chessboard'

Argumentos de salida

T

Array del mismo tamaño que A que especifica la transformación de la distancia ponderada en gris. Si el tipo numérico de entrada de A es double, el tipo numérico de salida de T es double. Si la entrada es cualquier otro tipo numérico, el T de la salida es solo.

Soporte de Class

A puede ser numérico o lógico, y debe ser no Sparse. mask es una matriz lógica del mismo tamaño que A. C, Ry ind son vectores numéricos que contienen valores enteros positivos.

El T de salida es una matriz del mismo tamaño que A. Si el tipo numérico de entrada de A es double, la salida T es double. Si la entrada es cualquier otro tipo numérico, la salida T es single.

Ejemplos

contraer todo

Crear un cuadrado mágico. Las matrices generadas por la función mágica tienen sumas de filas, columnas y diagonales iguales. La ruta mínima entre la esquina superior izquierda y la inferior derecha es a lo largo de la diagonal.

A  = magic(3)
A = 3×3

     8     1     6
     3     5     7
     4     9     2

Calcule la transformación de la distancia ponderada en gris, especificando la esquina superior izquierda y la esquina inferior derecha del cuadrado como ubicaciones de la semilla.

T1 = graydist(A,1,1); T2 = graydist(A,3,3);

Suma las dos transformaciones para encontrar la ruta mínima entre las ubicaciones de la semilla. Como es de esperarse, hay un camino mínimo de valor constante a lo largo de la diagonal.

T  = T1 + T2
T = 3×3

    10    11    17
    13    10    13
    17    17    10

Algoritmos

graydist utiliza el algoritmo de tiempo geodésico descrito en Soille, P., Generalized geodesy via geodesic time,, Pattern Recognition Letters, Vol. 15, December 1994; págs. 1235 – 1240

La ecuación básica para el tiempo geodésico a lo largo de un camino es:

τf(P)=f(po)2+f(pl)2+i=1l1f(pi)

Consulte también

| |

Introducido en R2011b