exponenta event banner

fspecial3

Создать предопределенный фильтр 3-D

Описание

h = fspecial3(type) создает трехмерный фильтр h указанного type. Некоторые типы фильтров имеют дополнительные параметры, показанные в следующих синтаксисах. fspecial3 прибыль h в качестве корреляционного ядра, которое является подходящей формой для использования с imfilter.

h = fspecial3('average',hsize) возвращает фильтр усреднения h размера hsize. Не рекомендуется. Использовать imboxfilt3 вместо этого.

пример

h = fspecial3('ellipsoid',semiaxes) возвращает эллипсоидальный усредняющий фильтр с длиной главных полуосей, указанных semiaxes. Фильтр h возвращается в массиве размера 2*ceil(semiaxes)+1.

h = fspecial3('gaussian',hsize,sigma) возвращает гауссовский фильтр нижних частот размера hsize со стандартным отклонением sigma. Не рекомендуется. Использовать imgaussfilt3 вместо этого.

h = fspecial3('laplacian',gamma1,gamma2) возвращает фильтр 3 на 3 на 3, приближающий форму трехмерного оператора Laplacian. gamma1 и gamma2 контролировать форму лапласианского [1][2].

h = fspecial3('log',hsize,sigma) возвращает лапласиан гауссова фильтра размера hsize со стандартным отклонением sigma.

h = fspecial3('prewitt',direction) возвращает фильтр 3 на 3 на 3, который подчеркивает градиенты в указанном направлении.

пример

h = fspecial3('sobel',direction) возвращает фильтр 3 на 3 на 3, который подчеркивает градиенты в указанном направлении и сглаживает другие направления [3].

Примеры

свернуть все

Загрузите 3-D объем МРТ в градациях серого. Отображение плоскостей объема.

load mristack;
montage(mristack,'BackgroundColor','w')

Figure contains an axes. The axes contains an object of type image.

Создайте 3-D эллипсоидальный фильтр. Задайте длину полуоси, равную 7 пикселям в направлениях y (строки) и x (столбцы), и длину полуоси, равную 3 пикселям в направлении z (плоскости).

H = fspecial3('ellipsoid',[7 7 3]);

Сглаживайте объем с помощью фильтра.

volSmooth = imfilter(mristack,H,'replicate');

Отображение плоскостей сглаженного объема.

montage(volSmooth,'BackgroundColor','w')

Figure contains an axes. The axes contains an object of type image.

Загрузите объем МРТ. Этот том хранится в виде массива 4-D с одиночным измерением. Создайте 3-D объем в градациях серого с помощью squeeze для удаления одиночного размера.

load mri;
V = squeeze(D);

Отображение плоскостей объема.

montage(D,'BackgroundColor','w')

Figure contains an axes. The axes contains an object of type image.

Создайте 3D фильтр Sobel, который обнаруживает горизонтальные края в объеме. Горизонтальные кромки появляются там, где имеется большая величина градиента в направлении y, поэтому укажите направление фильтра Собеля как 'Y'. Фильтр Собеля сглаживает градиент в направлениях x и z.

H = fspecial3('sobel','Y');

Отфильтруйте объем с 3D фильтром Sobel.

edgesHor = imfilter(V,H,'replicate');

Отображение плоскостей отфильтрованного объема.

montage(edgesHor)

Figure contains an axes. The axes contains an object of type image.

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

свернуть все

Тип фильтра, указанный как одно из следующих значений:

Стоимость

Описание

'average'

Фильтр усреднения. Не рекомендуется. Использовать imboxfilt3 вместо этого.

'ellipsoid'

Эллипсоидальный усредняющий фильтр

'gaussian'

Гауссовский фильтр нижних частот. Не рекомендуется. Использовать imgaussfilt3 вместо этого.

'laplacian'

Аппроксимирует трехмерный оператор Лапласа

'log'

Лапласиан гауссова фильтра

'prewitt'

Фильтр предварительного подчеркивания краев

'sobel'

Фильтр, подчеркивающий край Собеля

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

Размер фильтра, определяемый как положительное целое число или 3-элементный вектор положительных целых чисел. Используйте вектор для задания количества строк, столбцов и плоскостей в h. Используйте скаляр для указания длины стороны куба.

Для 'gaussian' и 'log' типы фильтров, если указано hsize как [], то fspecial3 создает фильтр с размером по умолчанию 2*ceil(2*sigma)+1.

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

Длина полуосей эллипсоидального фильтра, заданная как положительное число или 3-элементный вектор положительных чисел. Используйте вектор для задания длины трех главных полуосей в строках, столбцах и плоскостях. Эти значения соответствуют длине в декартовых направлениях y, x и z соответственно. Используйте скаляр для задания радиуса сферы.

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

Стандартное отклонение гауссова фильтра, определяемое как положительное число или 3-элементный вектор положительных чисел. Если указать скаляр, то fspecial3 создает кубическое гауссово ядро.

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

Форма лапласиана, заданная как скаляр в диапазоне [0 1]. Сумма gamma1 и gamma2 не должно превышать 1.

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

Направление градиентов для фильтрации Prewitt и Sobel, указанное как 'X', 'Y', или 'Z'.

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

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

свернуть все

Корреляционное ядро, возвращаемое в виде числового массива.

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

Ссылки

[1] Линдеберг, Т., Scale-Space Theory in Computer Vision. Бостон, Массачусетс: Академические издательства Клювера, 1994.

[2] Геометрическая диффузия в компьютерном зрении. Под редакцией Б. М. тер Хаар Ромени. Бостон, Массачусетс: Академические издательства Клювера, 1994.

[3] Энгель, К., М. Хадвигер, Дж. М. Книсс, К. Резк-Салама и Д. Вайскопф. Графика громкости в реальном времени. Уэлсли, MA: A K Peters, Ltd., 2006, стр. 112-114.

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

.
Представлен в R2018b