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

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

h = fspecial3('log',hsize,sigma) возвращает Laplacian Гауссова фильтра размера 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.

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

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

Фильтрация объема осуществляется с помощью 3-D фильтра Собеля.

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

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

montage(edgesHor)

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

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

свернуть все

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

Значение

Описание

'average'

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

'ellipsoid'

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

'gaussian'

Гауссов lowpass фильтр. Не рекомендуется. Использовать 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] Lindeberg, T., Scale-Space Theory in Компьютерное Зрение. Boston, MA: Kluwer Academic Publishers, 1994.

[2] Управляемая геометрией диффузия в компьютерном зрении. Под редакцией Б. М. тер Хаара Ромени. Boston, MA: Kluwer Academic Publishers, 1994.

[3] Engel, K., M. Hadwiger, J. M. Kniss, C. Rezk-Salama, and D. Weiskopf. Объемная графика в реальном времени. Wellesley, MA: A K Peters, Ltd., 2006, pp. 112-114.

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

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