gabor

Создайте фильтр Габора или набор фильтров Габора

Описание

пример

g = gabor(wavelength,orientation) создает фильтр Габора с заданным wavelength (в пикселях/цикле) и orientation (в градусах). Если вы задаете wavelength или orientation как векторы, gabor возвращает массив gabor объекты, названные filter bank, которые содержат все уникальные комбинации wavelength и orientation. Например, если wavelength вектор из длины 2 и orientation вектор из длины 3, затем выходной массив g вектор из длины 6. Чтобы применить фильтры Габора к изображению, используйте imgaborfilt функция.

g = gabor(___,Name,Value,...) создает массив фильтров Габора с помощью пар "имя-значение", чтобы управлять аспектами создания фильтра Габора. Если вы задаете вектор из значений, выходной массив g содержит все уникальные комбинации входных значений.

Примеры

свернуть все

Создайте демонстрационное изображение шахматной доски.

A = checkerboard(20);

Создайте массив фильтров Габора.

wavelength = 20;
orientation = [0 45 90 135];
g = gabor(wavelength,orientation);

Примените фильтры к изображению шахматной доски.

outMag = imgaborfilt(A,g);

Отобразите результаты.

outSize = size(outMag);
outMag = reshape(outMag,[outSize(1:2),1,outSize(3)]);
figure, montage(outMag,'DisplayRange',[]);
title('Montage of gabor magnitude output images.');

Создайте массив фильтров Габора.

g = gabor([5 10],[0 90]);

Визуализируйте действительную часть пространственного ядра свертки каждого Габора, просачиваются массив.

figure;
subplot(2,2,1)
for p = 1:length(g)
    subplot(2,2,p);
    imshow(real(g(p).SpatialKernel),[]);
    lambda = g(p).Wavelength;
    theta  = g(p).Orientation;
    title(sprintf('Re[h(x,y)], \\lambda = %d, \\theta = %d',lambda,theta));
end

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

свернуть все

Длина волны синусоиды в виде числового скаляра или вектора, в пикселях/цикле.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы в виде пар имя-значение

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

Пример: g = gabor(4,90,'SpatialFrequencyBandwidth',1.5);

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Соотношение сторон Гауссовых в пространственной области в виде числового вектора, который задает отношение полуглавных и полунезначительных осей Гауссова конверта: semi-minor/semi-major. Этот параметр управляет эллиптичностью Гауссова конверта. Типичные значения для пространственного соотношения сторон находятся в области значений [0.23 0.92].

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

свернуть все

Массив фильтра Габора, возвращенный как массив gabor объекты.

Введенный в R2015b
Для просмотра документации необходимо авторизоваться на сайте