gen_gabor — 生成伽柏(Gabor)过滤器。
gen_gabor( : ImageFilter : Angle, Frequency, Bandwidth, Orientation, Norm, Mode, Width, Height : )
gen_gabor generates a Gabor filter with a user-definable
bandpass frequency range and sign for the Hilbert transform. This
is done by calculating a symmetrical filter in the frequency domain,
which can be adapted by the parameters Angle,
Frequency, Bandwidth and Orientation such
that a certain frequency band and a certain direction range in the
spatial domain is filtered out in the frequency domain.
The parameters Frequency (central frequency = distance from
the DC term) and Orientation (direction) determine the
center of the filter. Larger values of Frequency result in
higher frequencies being passed. A value of 0 for
Orientation generates a horizontally oriented “crescent”
(the bulge of the crescent points upward). Higher values of
Orientation result in the counterclockwise rotation of the
crescent.
The parameters Angle and Bandwidth are used to
determine the range of frequencies and angles being passed by the
filter. The larger Angle is, the smaller the range of
angles passed by the filter gets (because the “crescent” gets
narrower). The larger Bandwidth is, the smaller the
frequency band being passed gets (because the “crescent” gets
thinner).
To achieve a maximum overall efficiency of the filtering operation,
the parameter Norm can be used to specify the normalization
factor of the filter. If fft_generic and Norm =
'n' is used the normalization in the FFT can be avoided.
Mode can be used to determine where the DC term of the
filter lies. If fft_generic is used, 'dc_edge' can
be used to gain efficiency. If fft_image and
fft_image_inv are used for filtering, Norm =
'none' and Mode = 'dc_center' must be
used. Note that gen_gabor cannot create a filter that can
be used with rft_generic。
The resulting image is a two-channel real-image, containing the Gabor filter in the first channel and the corresponding Hilbert filter in the second channel.
ImageFilter (输出对象) multichannel-image → object (real)
Gabor and Hilbert filter.
Angle (输入控制) real → (real)
Angle range, inversely proportional to the range of orientations.
默认值: 1.4
建议值: 1.0, 1.2, 1.4, 1.6, 2.0, 2.5, 3.0, 5.0, 6.0, 10.0, 20.0, 30.0, 50.0, 70.0, 100.0
值范围:
1.0
≤
Angle
≤
500.0
最小增量: 0.001
建议增量: 0.1
Frequency (输入控制) real → (real)
Distance of the center of the filter to the DC term.
默认值: 0.4
建议值: 0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.50, 0.55, 0.60, 0.65, 0.699
值范围:
0.0
≤
Frequency
≤
0.7
最小增量: 0.00001
建议增量: 0.005
Bandwidth (输入控制) real → (real)
Bandwidth range, inversely proportional to the range of frequencies being passed.
默认值: 1.0
建议值: 0.1, 0.3, 0.7, 1.0, 1.5, 2.0, 3.0, 5.0, 7.0, 10.0, 15.0, 20.0, 30.0, 50.0
值范围:
0.05
≤
Bandwidth
≤
100.0
最小增量: 0.001
建议增量: 0.1
Orientation (输入控制) real → (real)
Angle of the principal orientation.
默认值: 1.5
建议值: 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.14
值范围:
0.0
≤
Orientation
≤
3.1416
最小增量: 0.0001
建议增量: 0.05
Norm (输入控制) string → (string)
Normalizing factor of the filter.
默认值: 'none'
值列表: 'n', 'none'
Mode (输入控制) string → (string)
Location of the DC term in the frequency domain.
默认值: 'dc_center'
值列表: 'dc_center', 'dc_edge'
Width (输入控制) integer → (integer)
Width of the image (filter).
默认值: 512
建议值: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192
Height (输入控制) integer → (integer)
Height of the image (filter).
默认值: 512
建议值: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048, 4096, 8192
gen_gabor(Filter,1.4,0.4,1.0,1.5,'n','dc_edge',512,512) fft_generic(Image,ImageFFT,'to_freq',-1,'none','dc_edge','complex') convol_gabor(ImageFFT,Filter,Gabor,Hilbert) fft_generic(Gabor,GaborInv,'from_freq',1,'none','dc_edge','byte') fft_generic(Hilbert,HilbertInv,'from_freq',1,'none','dc_edge','byte') energy_gabor(GaborInv,HilbertInv,Energy)
gen_gabor 在所有参数正确时返回 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
gen_bandpass,
gen_bandfilter,
gen_highpass,
gen_lowpass
基础