Найдите направленные градиенты 3-D изображения
Считайте 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')
I
— Введите изображениеВведите изображение, заданное как 3-D полутоновое изображение или 3-D двухуровневое изображение.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
method
— Оператор градиента'sobel'
(значение по умолчанию) | 'prewitt'
| 'central'
| 'intermediate'
Оператор градиента, заданный как одно из следующих значений.
Значение | Значение | ||||||
---|---|---|---|---|---|---|---|
| Оператор градиента Sobel. Градиент пикселя является взвешенной суммой пикселей в 3 3х3 окружением. Например, в глубине (z) направление, веса в этих трех плоскостях:
| ||||||
| Оператор градиента Prewitt. Градиент пикселя является взвешенной суммой пикселей в 3 3х3 окружением. Например, в глубине (z) направление, веса в этих трех плоскостях:
| ||||||
'central' | Центральный градиент различия. Градиент пикселя является взвешенным различием соседних пикселей. Например, в глубине (z) направление, | ||||||
'intermediate' | Промежуточный градиент различия. Градиент пикселя является различием между смежным пикселем и текущим пикселем. Например, в глубине (z) направление, |
При применении оператора градиента на контурах изображения, imgradientxyz
принимает, что значения вне границ изображения равны самому близкому значению цвета границы изображения. Это поведение похоже на 'replicate'
граничная опция в imfilter
.
Типы данных: char |
string
Gx
— Горизонтальный градиентГоризонтальный градиент, возвращенный как числовая матрица одного размера с изображением I
. Горизонталь (x) ось указывает в направлении увеличивающихся индексов столбца. Gx
имеет класс double
, если входное изображение I
имеет класс single
, в этом случае Gx
имеет класс single
.
Типы данных: single
| double
Gy
— Вертикальный градиентВертикальный градиент, возвращенный как числовая матрица одного размера с изображением I
. Вертикаль (y) ось указывает в направлении увеличивающихся индексов строки. Gy
имеет класс double
, если входное изображение I
имеет класс single
, в этом случае Gy
имеет класс single
.
Типы данных: single
| double
Gz
— Градиент глубиныГрадиент глубины, возвращенный как 3-D числовой массив одного размера с изображением I
. Глубина (z) ось указывает в направлении увеличения плоских индексов. Gz
имеет класс double
, если входное изображение I
имеет класс single
, в этом случае Gz
имеет класс single
.
imgradientxyz
не нормирует выход градиента. Если область значений выходного изображения градиента должна совпадать с областью значений входного изображения, рассмотрите нормализацию изображения градиента, в зависимости от method
аргумент используется. Например, с ядром Sobel, коэффициентом нормализации является 1/44 для Prewitt, коэффициентом нормализации является 1/18.
Указания и ограничения по применению:
imgradientxyz
поддерживает генерацию кода С (требует MATLAB® Coder™). Для получения дополнительной информации смотрите Генерацию кода для Обработки изображений.
При генерации кода, входной параметр method
должно быть постоянное время компиляции.
Указания и ограничения по применению:
При генерации кода, входной параметр method
должно быть постоянное время компиляции.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.