imgaborfilt

Примените набор фильтров Габора или набор фильтров к 2D изображению

Описание

пример

[mag,phase] = imgaborfilt(A,wavelength,orientation) вычисляет величину и фазовый отклик фильтра Габора для входного полутонового изображения A. wavelength описывает длину волны в пикселях/цикле синусоидальной несущей. orientation ориентация фильтра в градусах.

[mag,phase] = imgaborfilt(A,wavelength,orientation,Name,Value) применяет один фильтр Габора с помощью аргументов name-value, чтобы управлять различными аспектами фильтрации.

пример

[mag,phase] = imgaborfilt(A,gaborbank) применяет набор фильтров Габора, gaborbank, к входу отображают A.

Примеры

свернуть все

Считайте изображение в рабочую область и преобразуйте изображение в шкалу полутонов.

I = imread('board.tif');
I = im2gray(I);

Примените фильтр Габора к изображению.

wavelength = 4;
orientation = 90;
[mag,phase] = imgaborfilt(I,wavelength,orientation);

Отобразите оригинальное изображение с графиками величины и фазового отклика, вычисленного фильтром Габора.

tiledlayout(1,3)
nexttile
imshow(I)
title('Original Image')
nexttile
imshow(mag,[])
title('Gabor Magnitude')
nexttile
imshow(phase,[])
title('Gabor Phase')

Figure contains 3 axes objects. Axes object 1 with title Original Image contains an object of type image. Axes object 2 with title Gabor Magnitude contains an object of type image. Axes object 3 with title Gabor Phase contains an object of type image.

Считайте изображение в рабочую область.

I = imread('cameraman.tif');

Создайте массив фильтров Габора, названных набором фильтров. Этот набор фильтров содержит две ориентации и две длины волн.

gaborArray = gabor([4 8],[0 90]);

Примените фильтры, чтобы ввести изображение.

gaborMag = imgaborfilt(I,gaborArray);

Отображение результатов. Рисунок показывает ответ величины для каждого фильтра.

figure
subplot(2,2,1);
for p = 1:4
    subplot(2,2,p)
    imshow(gaborMag(:,:,p),[]);
    theta = gaborArray(p).Orientation;
    lambda = gaborArray(p).Wavelength;
    title(sprintf('Orientation=%d, Wavelength=%d',theta,lambda));
end

Figure contains 4 axes objects. Axes object 1 with title Orientation=0, Wavelength=4 contains an object of type image. Axes object 2 with title Orientation=0, Wavelength=8 contains an object of type image. Axes object 3 with title Orientation=90, Wavelength=4 contains an object of type image. Axes object 4 with title Orientation=90, Wavelength=8 contains an object of type image.

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

свернуть все

2D полутоновое изображение в виде числовой матрицы.

Длина волны синусоидальной несущей в виде номера, больше, чем или равный 2, в пикселях/цикле. Типичные значения wavelength лежите в диапазоне от 2 до длины гипотенузы входного изображения [1].

Ориентация фильтра в градусах в виде числового скаляра в области значений [0, 360]. Ориентация задана как нормальное направление к синусоидальной плоской волне.

Набор фильтров Габора в виде a gabor возразите или массив gabor объекты.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'SpatialFrequencyBandwidth',2 задает пространственную полосу пропускания частоты двух октав

Полоса пропускания пространственной частоты в виде числового скаляра в модулях октав. Полоса пропускания пространственной частоты определяет сокращение ответа фильтра, когда содержимое частоты во входном изображении варьируется от предпочтительной частоты, 1/lambda. Типичные значения для полосы пропускания пространственной частоты находятся в области значений [0.5, 2.5].

Отношение полуглавных и полунезначительных осей Гауссова конверта (semiminor/semimajor) в виде положительного числа. Этот аргумент управляет эллиптичностью Гауссова конверта. Типичные значения для пространственного соотношения сторон находятся в области значений [0.23, 0.92].

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

свернуть все

Ответ величины для набора фильтров Габора или набора фильтров, возвращенного как числовая матрица для одного фильтра или числовой массив для набора фильтров. p-th плоскость mag ответ величины для фильтра Габора того же индекса, gaborbankP.

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

Фазовый отклик для набора фильтров Габора или набора фильтров, возвращенного как числовая матрица для одного фильтра или числовой массив для набора фильтров. p-th плоскость phase фазовый отклик для фильтра Габора того же индекса, gaborbankP.

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

Советы

  • Если изображение содержит Infs или NaNs, затем поведение imgaborfilt не определено, потому что Габор, фильтрующий, выполняется в частотном диапазоне.

  • Поскольку все входные данные вводят кроме single, imgaborfilt выполняет расчет в double. Введите изображения типа single отфильтрованы в типе single. Оптимизация эффективности может следовать из кастинга входного изображения к single до вызова imgaborfilt.

Ссылки

[1] Джайн, Анил К., и Фэршид Фаррокния. "Безнадзорная Сегментация Структуры Используя Фильтры Габора". Распознавание образов 24, № 12 (январь 1991): 1167–86. https://doi.org/10.1016/0031-3203 (91) 90143-S.

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

Введенный в R2015b