日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

二维gabor滤波器matlab,matlab中实现Gabor滤波器 | 学步园

發布時間:2024/1/23 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二维gabor滤波器matlab,matlab中实现Gabor滤波器 | 学步园 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.spatialgabor.m描述gabor函數

% SPATIALGABOR - applies single oriented gabor filter to an image

%

% Usage:

% ?[Eim, Oim, Aim] = ?spatialgabor(im, wavelength, angle, kx, ky, showfilter)

%

% Arguments:

% ? ? ? ? im ? ? ? ? - Image to be processed.

% ? ? ? ? wavelength - Wavelength in pixels of Gabor filter to construct

% ? ? ? ? angle ? ? ?- Angle of filter in degrees. ?An angle of 0 gives a

% ? ? ? ? ? ? ? ? ? ? ?filter that responds to vertical features.

% ? ? ? ? kx, ky ? ? - Scale factors specifying the filter sigma relative

% ? ? ? ? ? ? ? ? ? ? ?to the wavelength of the filter. ?This is done so

% ? ? ? ? ? ? ? ? ? ? ?that the shapes of the filters are invariant to the

% ? ? ? ? ? ? ? ? ? ? ?scale. ?kx controls the sigma in the x direction

% ? ? ? ? ? ? ? ? ? ? ?which is along the filter, and hence controls the

% ? ? ? ? ? ? ? ? ? ? ?bandwidth of the filter. ?ky controls the sigma

% ? ? ? ? ? ? ? ? ? ? ?across the filter and hence controls the

% ? ? ? ? ? ? ? ? ? ? ?orientational selectivity of the filter. A value of

% ? ? ? ? ? ? ? ? ? ? ?0.5 for both kx and ky is a good starting point.

% ? ? ? ? showfilter - An optional flag 0/1. ?When set an image of the

% ? ? ? ? ? ? ? ? ? ? ?even filter is displayed for inspection.

%

% Returns:

% ? ? ? ? Eim - Result from filtering with the even (cosine) Gabor filter

% ? ? ? ? Oim - Result from filtering with the odd (sine) Gabor filter

% ? ? ? ? Aim - Amplitude image = sqrt(Eim.^2 + Oim.^2)

%

% Peter Kovesi

% School of Computer Science & Software Engineering

% The University of Western Australia

% pk at csse uwa edu au

% http://www.csse.uwa.edu.au/~pk

%

% October 2006

function [Eim, Oim, Aim] = spatialgabor(im, wavelength, angle, kx, ky, showfilter)

if nargin == 5

showfilter = 0;

end

im = double(im);

[rows, cols] = size(im);

newim = zeros(rows,cols);

% Construct even and odd Gabor filters

sigmax = wavelength*kx;

sigmay = wavelength*ky;

sze = round(3*max(sigmax,sigmay));

[x,y] = meshgrid(-sze:sze);

evenFilter = exp(-(x.^2/sigmax^2 + y.^2/sigmay^2)/2)...

.*cos(2*pi*(1/wavelength)*x);

oddFilter = exp(-(x.^2/sigmax^2 + y.^2/sigmay^2)/2)...

.*sin(2*pi*(1/wavelength)*x);

evenFilter = imrotate(evenFilter, angle, 'bilinear');

oddFilter = imrotate(oddFilter, angle, 'bilinear');

% Do the filtering

Eim = filter2(evenFilter,im); % Even filter result

Oim = filter2(oddFilter,im); ?% Odd filter result

Aim = sqrt(Eim.^2 + Oim.^2); ?% Amplitude

if showfilter % Display filter for inspection

figure(1), imshow(evenFilter,[]); title('filter');

end

2.main.m

ori=imread('D:\Images\New\Cars\image_0001.jpg');

grayimg=rgb2gray(ori);

gim=im2double(grayimg);

[Eim,Oim,Aim]=spatialgabor(gim,3,90,0.5,0.5,1);%90-vertical===0-horizontal

imshow(Aim);

總結

以上是生活随笔為你收集整理的二维gabor滤波器matlab,matlab中实现Gabor滤波器 | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。