資源簡介
內含完全代碼以及函數,測試有效,擁有完整備注

代碼片段和文件信息
%?function?G?=?createGabor(or?n)
%?G?=?createGabor(numberOfOrientationsPerScale?n);
%
%?Precomputes?filter?transfer?functions.?All?computations?are?done?on?the
%?Fourier?domain.?
%
%?If?you?call?this?function?without?output?arguments?it?will?show?the
%?tiling?of?the?Fourier?domain.
%
%?Input
%?????numberOfOrientationsPerScale?=?vector?that?contains?the?number?of
%????????????????????????????????orientations?at?each?scale?(from?HF?to?BF)
%?????n?=?imagesize?(square?images)
%
%?output
%?????G?=?transfer?functions?for?a?jet?of?gabor?filters
or?=?[8?8?4];
n?=?128;
Nscales?=?length(or);
Nfilters?=?sum(or);
l=0;
for?i=1:Nscales
????for?j=1:or(i)
????????l=l+1;
????????param(l:)=[.35?.3/(1.85^(i-1))?16*or(i)^2/32^2?pi/(or(i))*(j-1)];
????end
end
%?Frequencies:
[fx?fy]?=?meshgrid(-n/2:n/2-1);
fr?=?fftshift(sqrt(fx.^2+fy.^2));
t?=?fftshift(angle(fx+sqrt(-1)*fy));
%?Transfer?functions:
G=zeros([n?n?Nfilters]);
for?i=1:Nfilters
????par=param(i:);
????tr=t+param(i4);?
????tr=tr+2*pi*(tr<-pi)-2*pi*(tr>pi);
????G(::i)=exp(-10*param(i1)*(fr/n/param(i2)-1).^2-2*param(i3)*pi*tr.^2);
end
if?nargout?==?0
????figure
????for?i=1:Nfilters
????????max(max(G(::i)))
????????contour(fftshift(G(::i))[1?.7?.6]‘r‘);
????????hold?on
????????drawnow
????end
????axis(‘on‘)
????axis(‘square‘)
????axis(‘ij‘)
???
end
G
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-03-20?19:31??Gist\
?????文件????????1399??2017-03-18?15:02??Gist\createGabor.m
?????文件?????????734??2017-03-18?13:37??Gist\demo.m
?????文件?????????392??2010-09-25?15:27??Gist\downN.m
?????文件????????1456??2017-03-18?14:21??Gist\gistGabor.asv
?????文件????????1578??2017-03-18?14:35??Gist\gistGabor.m
?????文件????????1050??2007-02-10?17:07??Gist\prefilt.m
?????文件???????14278??2001-06-24?16:32??Gist\test.jpg
評論
共有 條評論