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

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

свернуть все

Введите изображение в виде 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).

При применении оператора градиента на контурах изображения, 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.

Gazimuth и Gelevation

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

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

Алгоритмы

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

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

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

| |

Введенный в R2016a

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