This问题很好地描述了gabor过滤器系列及其应用。但是,没有描述滤波器的波长(空间频率)。 gabor小波的创建在以下for循环中完成:
<IfModule mod_headers.c>
<FilesMatch "\.(eot|font.css|otf|ttc|ttf|woff)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Deny access to framework directories
RewriteRule ^(app/|bootstrap/|config/|database/|resources/|storage/tests|vendor/) - [R=404,L,NC]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# And dot files/folders (for example .env)
RedirectMatch 404 /\..*$
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我知道第二个循环变量是具有pi / 8间隔的方向。虽然,我不知道第一个循环变量如何与此代码中的空间频率(波长)及其函数for v = 0 : 4
for u = 1 : 8
GW = GaborWavelet ( R, C, Kmax, f, u, v, Delt2 ); % Create the Gabor wavelets
figure( 2 );
subplot( 5, 8, v * 8 + u ),imshow ( real( GW ) ,[]); % Show the real part of Gabor wavelets
GW_ALL( v*8+u, :) = GW(:);
end
figure ( 3 );
subplot( 1, 5, v + 1 ),imshow ( abs( GW ),[]); % Show the magnitude of Gabor wavelets
end
相关联。有人可以帮忙吗?
答案 0 :(得分:0)
我终于找到了答案。 GaborWavelet函数定义如下:
function GW = GaborWavelet (R, C, Kmax, f, u, v, Delt2)
k = ( Kmax / ( f ^ v ) ) * exp( 1i * u * pi / 8 );% Wave Vector
kn2 = ( abs( k ) ) ^ 2;
GW = zeros ( R , C );
for m = -R/2 + 1 : R/2
for n = -C/2 + 1 : C/2
GW(m+R/2,n+C/2) = ( kn2 / Delt2 ) * exp( -0.5 * kn2 * ( m ^ 2 + n ^ 2 ) / Delt2) * ( exp( 1i * ( real( k ) * m + imag ( k ) * n ) ) - exp ( -0.5 * Delt2 ) );
end
end
Kmax
是最大频率,f
是间距系数,v
是分辨率。间距因子f
通常被视为sqrt(2)
。
基于this论文,k= 2*pi*f*exp(i*ϑ)
和代码Kmax=fmax*2*pi
中未描述的内容,是查找过滤器波长的关键。我还阅读了this实现,并注意到可以使用f = 1/lambda
轻松找到波长,其中lambda是正弦波的波长。
例如,如果是Kmax=pi/2
和v=0
,那么k=Kmax*exp(1i*u*pi/8)
并考虑上面提到的公式,lambda = 2*pi/Kmax = 4 [pixel/cycle]
。