imgradient3

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

Описание

пример

[Gmag,Gazimuth,Gelevation] = imgradient3(I) возвращает величину градиента, Gmag, направление градиента, Gazimuthи градиентное повышение Gelevation из 3-D полутонового или бинарного изображения I.

[Gmag,Gazimuth,Gelevation] = imgradient3(I,method) вычисляет величину, направление и повышение градиента с помощью заданной method.

[Gmag,Gazimuth,Gelevation] = imgradient3(Gx,Gy,Gz) вычисляет величину, направление и повышение градиента из направленных градиентов Gx, Gy, и Gz в x, y и z направлениях, соответственно.

Примеры

свернуть все

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

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

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

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

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

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

Figure contains an axes. The axes with title Gradient magnitude 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).

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

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

Горизонтальный градиент, заданный как 3-D числовой массив. Горизонтальная (x) ось указывает в направлении увеличения индексов столбцов. Вы можете использовать imgradientxyz функция для вычисления Gx.

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

Вертикальный градиент, заданный как 3-D числовой массив того же размера, что и Gx. Вертикальная (y) ось указывает в направлении увеличения индексов строк. Вы можете использовать imgradientxyz функция для вычисления Gy.

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

Градиент глубины, заданный как 3-D числовой массив того же размера, что и Gx. Ось глубины (z) указывает в направлении увеличивающихся плоских индексов. Вы можете использовать imgradientxyz функция для вычисления Gz.

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

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

свернуть все

Величина вектора градиента, возвращенная как 3-D числовой массив того же размера, что и изображение I или направленных градиентов, Gx, Gy, и Gz.

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

Азимутальный угол, возвращенный как 3-D числовой массив того же размера, что и градиентная величина, Gmag. Gazimuth содержит углы в степенях в области значений [-180, 180] измеряемый между положительным x - осью и проектированием точки на x - y самолет.

Gazimuth является классом double, если только входное изображение или любой из направленных градиентов не имеют класса single. В этом случае Gmag является классом single.

Газимут и гелевация

Градиентное повышение, возвращенный как 3-D числовой массив того же размера, что и градиентная величина, Gmag. Gelevation содержит углы в степенях в области значений [-90, 90] измеряемый между радиальной линией и x - y самолет.

Gelevation является классом double, если только входное изображение или любой из направленных градиентов не имеют класса single. В этом случае Gmag является классом single.

Алгоритмы

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

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

..
Введенный в R2016a