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 contains an axes. The axes with title Gradient magnitude along X contains an object of type image.

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

Figure contains an axes. The axes with title Gradient magnitude along Y contains an object of type image.

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

Figure contains an axes. The axes with title Gradient magnitude along Z contains an object of type image.

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

свернуть все

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

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

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

Значение

Значение

'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 использованный аргумент. Для примера с ядром Собеля коэффициент нормализации равен 1/44, для Prewitt коэффициент нормализации равен 1/18.

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

..

См. также

| |

Введенный в R2016a