fspecial3

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

Описание

h = fspecial3(type) создает 3D фильтр 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) возвращает Гауссов фильтр lowpass размера hsize со стандартным отклонением sigma. Не рекомендуемый. Использование imgaussfilt3 вместо этого.

h = fspecial3('laplacian',gamma1,gamma2) возвращает 3 3х3 фильтром, аппроксимирующим форму 3D Лапласового оператора. 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 полутоновый объем MRI. Отобразите плоскости объема.

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

Figure contains an axes object. The axes object 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 object. The axes object contains an object of type image.

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

load mri;
V = squeeze(D);

Отобразите плоскости объема.

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

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

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

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

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

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

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

montage(edgesHor)

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

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

свернуть все

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

Значение

Описание

'average'

Усреднение фильтра. Не рекомендуемый. Использование imboxfilt3 вместо этого.

'ellipsoid'

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

'gaussian'

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

'laplacian'

Аппроксимирует 3D Лапласов оператор

'log'

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

'prewitt'

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

'sobel'

Фильтр подчеркивания ребра 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] Lindeberg, T., теория пробела шкалы в компьютерном зрении. Бостон, MA: Kluwer академические издатели, 1994.

[2] Управляемая геометрией Диффузия в Компьютерном зрении. Отредактированный Б. М. тер Хааром Ромени. Бостон, MA: Kluwer Академические Издатели, 1994.

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

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

Введенный в R2018b