imgradientxyz

Найдите направленные градиенты 3-D изображения

Описание

пример

[Gx,Gy,Gz] = imgradientxyz(I) возвращает направленные градиенты Gx, Gy, и Gz из 3-D полутонового или двухуровневого изображения I.

[Gx,Gy,Gz] = imgradientxyz(I,method) вычисляет направленные градиенты с помощью заданного method.

Примеры

свернуть все

Считайте 3-D данные и подготовьте их к обработке.

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

Вычислите направленные градиенты.

[Gx, Gy, Gz] = imgradientxyz(vol);

Визуализируйте направленные градиенты как монтаж.

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

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

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

Входные параметры

свернуть все

Введите изображение в виде 3-D полутонового изображения или 3-D двухуровневого изображения.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Оператор градиента в виде одного из следующих значений.

Значение

Значение

'sobel'

Оператор градиента Sobel. Градиент пикселя является взвешенной суммой пикселей в 3 3х3 окружением. Например, в глубине (z) направление, веса в этих трех плоскостях:

плоский z-1плоский zплоский z+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'

Оператор градиента Prewitt. Градиент пикселя является взвешенной суммой пикселей в 3 3х3 окружением. Например, в глубине (z) направление, веса в этих трех плоскостях:

плоский z-1плоский zплоский z+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'

Центральный градиент различия. Градиент пикселя является взвешенным различием соседних пикселей. Например, в глубине (z) направление, dI/dz = (I(z+1) - I(z-1))/2.

'intermediate'

Промежуточный градиент различия. Градиент пикселя является различием между смежным пикселем и текущим пикселем. Например, в глубине (z) направление, dI/dz = I(z+1) - I(z).

При применении оператора градиента на контурах изображения, imgradientxyz принимает, что значения вне границ изображения равны самому близкому значению цвета границы изображения. Это поведение похоже на 'replicate' граничная опция в imfilter.

Типы данных: char | string

Выходные аргументы

свернуть все

Горизонтальный градиент, возвращенный как числовая матрица одного размера с изображением I. Горизонталь (x) ось указывает в направлении увеличивающихся индексов столбца. Gx имеет класс double, если входное изображение I имеет класс single, в этом случае Gx имеет класс single.

Типы данных: single | double

Вертикальный градиент, возвращенный как числовая матрица одного размера с изображением I. Вертикаль (y) ось указывает в направлении увеличивающихся индексов строки. Gy имеет класс double, если входное изображение I имеет класс single, в этом случае Gy имеет класс single.

Типы данных: single | double

Градиент глубины, возвращенный как 3-D числовой массив одного размера с изображением I. Глубина (z) ось указывает в направлении увеличения плоских индексов. Gz имеет класс double, если входное изображение I имеет класс single, в этом случае Gz имеет класс single.

Алгоритмы

imgradientxyz не нормирует выход градиента. Если область значений выходного изображения градиента должна совпадать с областью значений входного изображения, рассмотрите нормализацию изображения градиента, в зависимости от method аргумент используется. Например, с ядром Sobel, коэффициентом нормализации является 1/44 для Prewitt, коэффициентом нормализации является 1/18.

Расширенные возможности

Смотрите также

| |

Введенный в R2016a

Для просмотра документации необходимо авторизоваться на сайте