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.

imgradient3

Encontrar la magnitud del degradado y la dirección de la imagen 3D

Descripción

ejemplo

[Gmag,Gazimuth,Gelevation] = imgradient3(I) devuelve la magnitud del degradado, la dirección del degradado y la elevación del degradado de la escala de grises o la imagen binaria 3D.GmagGazimuthGelevationI

[Gmag,Gazimuth,Gelevation] = imgradient3(I,method) calcula la magnitud, la dirección y la elevación del degradado utilizando el archivo .method

[Gmag,Gazimuth,Gelevation] = imgradient3(Gx,Gy,Gz) calcula la magnitud, la dirección y la elevación del degradado a partir de los degradados direccionales , , y en las direcciones , , y, respectivamente, .GxGyGzxyz

Ejemplos

contraer todo

Lea los datos 3D en el espacio de trabajo y prepárelos para su procesamiento.

volData = load('mri'); sz = volData.siz; vol = squeeze(volData.D);

Calcule los degradados.

[Gmag, Gaz, Gelev] = imgradient3(vol);

Visualice la magnitud del degradado como un montaje.

figure,  montage(reshape(Gmag,sz(1),sz(2),1,sz(3)),'DisplayRange',[]) title('Gradient magnitude')

Argumentos de entrada

contraer todo

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

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

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

Valor

Significado

'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 por 3. Por ejemplo, en la dirección de profundidad ( ), los pesos en los tres planos son:z

Aviónz-1AviónzAviónz+1
[ 1  3  1    3  6  3    1  3  1 ]    
[ 0  0  0    0  0  0    0  0  0 ]    
[ -1  -3  -1    -3  -6  -3    -1  -3  -1 ]    

'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 por 3. Por ejemplo, en la dirección de profundidad ( ), los pesos en los tres planos son:z

Aviónz-1AviónzAviónz+1
[ 1  1  1    1  1  1    1  1  1 ]    
[ 0  0  0    0  0  0    0  0  0 ]    
[ -1  -1  -1    -1  -1  -1    -1  -1  -1 ]    

'central'

Gradiente de diferencia central. El degradado de un píxel es una diferencia ponderada de píxeles vecinos. Por ejemplo, en la dirección de profundidad ( ), .zdI/dz = (I(z+1) - I(z-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. Por ejemplo, en la dirección de profundidad ( ), .zdI/dz = I(z+1) - I(z)

Al aplicar el operador de degradado en los límites de la imagen, se asumen valores fuera de los límites de la imagen iguales al valor de borde de la imagen más cercano.imgradient3 Este comportamiento es similar a la opción de límite en .'replicate'imfilter

Tipos de datos: char | string

Degradado horizontal, especificado como una matriz numérica 3D. El eje horizontal ( ) apunta en la dirección del aumento de los subíndices de columna.x Puede utilizar la función para calcular .imgradientxyzGx

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

Degradado vertical, especificado como una matriz numérica 3D del mismo tamaño que .Gx El eje vertical ( ) apunta en la dirección del aumento de subíndices de fila.y Puede utilizar la función para calcular .imgradientxyzGy

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

Gradiente de profundidad, especificado como una matriz numérica 3D del mismo tamaño que .Gx El eje de profundidad ( ) apunta en la dirección del aumento de subíndices de plano.z Puede utilizar la función para calcular .imgradientxyzGz

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

Argumentos de salida

contraer todo

Magnitud del vector de degradado, devuelta como una matriz numérica 3D del mismo tamaño que la imagen o los degradados direccionales, , , y .IGxGyGz

es de clase, a menos que la imagen de entrada o cualquiera de los degradados direccionales sean de clase.Gmagdoublesingle En este caso, es de clase .Gmagsingle

Angulo acimutal, devuelto como una matriz numérica 3D del mismo tamaño que la magnitud del degradado, . contiene ángulos en grados dentro del rango [-180, 180] medidoentre el eje positivo y la proyección del punto en el plano - .GmagGazimuthxxy

es de clase, a menos que la imagen de entrada o cualquiera de los degradados direccionales sean de clase.Gazimuthdoublesingle En este caso, es de clase .Gmagsingle

Gazimuth y Gelevation

Elevación de degradado, devuelta como una matriz numérica 3D del mismo tamaño que la magnitud del degradado, . contiene ángulos en grados dentro del rango [-90, 90] medido entre la línea radial y el plano -.GmagGelevationxy

es de clase, a menos que la imagen de entrada o cualquiera de los degradados direccionales sean de clase.Gelevationdoublesingle En este caso, es de clase .Gmagsingle

Algoritmos

no normaliza la salida de degradado.imgradient3 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/44 y para Prewitt, el factor de normalización es 1/18.

Capacidades ampliadas

Introducido en R2016a