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

Buscar degradados direccionales de imagen 2D

Descripción

ejemplo

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

Opcionalmente, puede calcular los degradados direccionales usar una GPU (requiere ).Parallel Computing Toolbox™

ejemplo

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

Ejemplos

contraer todo

Lea 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');

Mostrar los degradados direccionales.

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

Lea una imagen en el espacio de trabajo.

I = imread('coins.png');

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

[Gx,Gy] = imgradientxy(I);

Mostrar 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 2D o una imagen binaria 2D.

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'

Operador de gradiente Sobel. El degradado de un píxel es una suma ponderada de píxeles en la vecindad de 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 de 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 píxeles vecinos. En la dirección, .ydI/dy = (I(y+1) - I(y-1))/2

'intermediate'

Gradiente de diferencia intermedio. 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 del aumento de los subíndices 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 del aumento de subíndices 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 son iguales al valor de borde de la imagen más cercano.

Algoritmos

El enfoque algorítmico consiste en 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, dependiendo del argumento utilizado.method Por ejemplo, con un kernel de Sobel, el factor de normalización es 1/8, y para Prewitt, es 1/6.

Capacidades ampliadas

Introducido en R2012b