exponenta event banner

gabor

Создание фильтра Gabor или банка фильтров Gabor

Описание

пример

g = gabor(wavelength,orientation) создает фильтр Gabor с указанным wavelength (в пикселях/цикл) и orientation (в градусах). При указании wavelength или orientation в качестве векторов, gabor возвращает массив gabor объекты, называемые банком фильтров, которые содержат все уникальные комбинации 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.');

Figure contains an axes. The axes with title Montage of gabor magnitude output images. contains an object of type image.

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

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

Figure contains 4 axes. Axes 1 with title Re[h(x,y)], \lambda = 5, \theta = 0 contains an object of type image. Axes 2 with title Re[h(x,y)], \lambda = 10, \theta = 0 contains an object of type image. Axes 3 with title Re[h(x,y)], \lambda = 5, \theta = 90 contains an object of type image. Axes 4 with title Re[h(x,y)], \lambda = 10, \theta = 90 contains an object of type image.

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

свернуть все

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

Типы данных: 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/лямбда. Типичные значения для пространственно-частотной полосы находятся в диапазоне [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