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.

imgradientxy

Los degradados direccionales de una imagen

Descripción

ejemplo

[Gx,Gy] = imgradientxy(I) Devuelve los degradados direccionales y de la imagen en escala de grises o binaria.GxGyI

Opcionalmente, puede calcular los degradados direccionales usando una GPU (requiere).Parallel Computing Toolbox™ Para obtener más información, consulte.Procesamiento de imágenes en una GPU

ejemplo

[Gx,Gy] = imgradientxy(I,method) Devuelve los degradados direccionales utilizando el especificado.method

Ejemplos

contraer todo

Leer una imagen en el espacio de trabajo.

I = imread('coins.png');

Calcule los degradados y-direccionales utilizando el operador de degradado Prewitt.x-y

[Gx, Gy] = imgradientxy(I,'prewitt');

Visualice los degradados direccionales.

figure imshowpair(Gx, Gy, 'montage'); title('Directional Gradients: x-direction, Gx (left), y-direction, Gy (right), using Prewitt method')

Leer una imagen en el espacio de trabajo.

I = imread('coins.png');

Calcule los gradientes direccionales.xy- De forma predeterminada, utiliza el operador de degradado Sobel.imgradientxy

[Gx,Gy] = imgradientxy(I);

Visualice los degradados direccionales.

imshowpair(Gx,Gy,'montage') title('Directional Gradients Gx and Gy, Using Sobel Method')

Calcule la magnitud y la dirección del degradado utilizando los degradados direccionales.

[Gmag,Gdir] = imgradient(Gx,Gy);

Muestra la magnitud y la dirección del degradado.

imshowpair(Gmag,Gdir,'montage') title('Gradient Magnitude (Left) and Gradient Direction (Right)')

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como una imagen en escala de grises 2-D o imagen binaria 2-D.

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

Operador de degradado, especificado como uno de los siguientes valores.

MétodoDescripción
'sobel'

Sobel operador de gradiente. El degradado de un píxel es una suma ponderada de píxeles en la vecindad 3 por 3. En la dirección vertical (), los pesos son: en la dirección, los pesos se transponen.y

[ 1  2  1    0  0  0   -1 -2 -1 ]
x

'prewitt'

Operador de gradiente Prewitt. El degradado de un píxel es una suma ponderada de píxeles en la vecindad 3 por 3. En la dirección vertical (), los pesos son: en la dirección, los pesos se transponen.y

[ 1  1  1    0  0  0   -1 -1 -1 ]
x

'central'

Gradiente de diferencia central. El degradado de un píxel es una diferencia ponderada de los píxeles vecinos. En la dirección,.ydI/dy = (I(y+1) - I(y-1))/2

'intermediate'

Gradiente de diferencia intermedia. El degradado de un píxel es la diferencia entre un píxel adyacente y el píxel actual. En la dirección,.ydI/dy = I(y+1) - I(y)

Tipos de datos: char | string

Argumentos de salida

contraer todo

Degradado horizontal, devuelto como una matriz numérica del mismo tamaño que la imagen.I El eje horizontal () apunta en la dirección de aumento de subvalores de columna. es de clase, a menos que la imagen de entrada sea de clase, en cuyo caso es de clase.xGxdoubleIsingleGxsingle

Tipos de datos: single | double

Degradado vertical, devuelto como una matriz numérica del mismo tamaño que la imagen.I El eje vertical () apunta en la dirección de aumento de subvalores de fila. es de clase, a menos que la imagen de entrada sea de clase, en cuyo caso es de clase.yGydoubleIsingleGysingle

Tipos de datos: single | double

Sugerencias

  • Al aplicar el operador de degradado en los límites de la imagen, se supone que los valores fuera de los límites de la imagen equivalen al valor del borde de la imagen más cercano.

Algoritmos

El enfoque algorítmico es calcular los degradados direccionales con respecto al eje y al eje.xy El eje se define a lo largo de las columnas que van a la derecha y el eje se define a lo largo de las filas que van hacia abajo.xy

no normaliza la salida de degradado.imgradientxy Si el rango de la imagen de salida de degradado tiene que coincidir con el rango de la imagen de entrada, considere la posibilidad de normalizar la imagen de degradado, según el argumento utilizado.method Por ejemplo, con un kernel Sobel, el factor de normalización es 1/8, y para Prewitt, es 1/6.

Capacidades ampliadas

Introducido en R2012b