gen_gaborgen_gaborGenGaborGenGaborgen_gabor(算子)

名称

gen_gaborgen_gaborGenGaborGenGaborgen_gabor — 生成伽柏(Gabor)过滤器。

签名

gen_gabor( : ImageFilter : Angle, Frequency, Bandwidth, Orientation, Norm, Mode, Width, Height : )

Herror gen_gabor(Hobject* ImageFilter, double Angle, double Frequency, double Bandwidth, double Orientation, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)

Herror T_gen_gabor(Hobject* ImageFilter, const Htuple Angle, const Htuple Frequency, const Htuple Bandwidth, const Htuple Orientation, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)

void GenGabor(HObject* ImageFilter, const HTuple& Angle, const HTuple& Frequency, const HTuple& Bandwidth, const HTuple& Orientation, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)

void HImage::GenGabor(double Angle, double Frequency, double Bandwidth, double Orientation, const HString& Norm, const HString& Mode, Hlong Width, Hlong Height)

void HImage::GenGabor(double Angle, double Frequency, double Bandwidth, double Orientation, const char* Norm, const char* Mode, Hlong Width, Hlong Height)

void HImage::GenGabor(double Angle, double Frequency, double Bandwidth, double Orientation, const wchar_t* Norm, const wchar_t* Mode, Hlong Width, Hlong Height)   ( Windows only)

static void HOperatorSet.GenGabor(out HObject imageFilter, HTuple angle, HTuple frequency, HTuple bandwidth, HTuple orientation, HTuple norm, HTuple mode, HTuple width, HTuple height)

void HImage.GenGabor(double angle, double frequency, double bandwidth, double orientation, string norm, string mode, int width, int height)

def gen_gabor(angle: float, frequency: float, bandwidth: float, orientation: float, norm: str, mode: str, width: int, height: int) -> HObject

描述

gen_gaborgen_gaborGenGaborGenGaborGenGaborgen_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 AngleAngleAngleAngleangleangle, FrequencyFrequencyFrequencyFrequencyfrequencyfrequency, BandwidthBandwidthBandwidthBandwidthbandwidthbandwidth and OrientationOrientationOrientationOrientationorientationorientation such that a certain frequency band and a certain direction range in the spatial domain is filtered out in the frequency domain.

The parameters FrequencyFrequencyFrequencyFrequencyfrequencyfrequency (central frequency = distance from the DC term) and OrientationOrientationOrientationOrientationorientationorientation (direction) determine the center of the filter. Larger values of FrequencyFrequencyFrequencyFrequencyfrequencyfrequency result in higher frequencies being passed. A value of 0 for OrientationOrientationOrientationOrientationorientationorientation generates a horizontally oriented “crescent” (the bulge of the crescent points upward). Higher values of OrientationOrientationOrientationOrientationorientationorientation result in the counterclockwise rotation of the crescent.

The parameters AngleAngleAngleAngleangleangle and BandwidthBandwidthBandwidthBandwidthbandwidthbandwidth are used to determine the range of frequencies and angles being passed by the filter. The larger AngleAngleAngleAngleangleangle is, the smaller the range of angles passed by the filter gets (because the “crescent” gets narrower). The larger BandwidthBandwidthBandwidthBandwidthbandwidthbandwidth 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 NormNormNormNormnormnorm can be used to specify the normalization factor of the filter. If fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic and NormNormNormNormnormnorm = 'n'"n""n""n""n""n" is used the normalization in the FFT can be avoided. ModeModeModeModemodemode can be used to determine where the DC term of the filter lies. If fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic is used, 'dc_edge'"dc_edge""dc_edge""dc_edge""dc_edge""dc_edge" can be used to gain efficiency. If fft_imagefft_imageFftImageFftImageFftImagefft_image and fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv are used for filtering, NormNormNormNormnormnorm = 'none'"none""none""none""none""none" and ModeModeModeModemodemode = 'dc_center'"dc_center""dc_center""dc_center""dc_center""dc_center" must be used. Note that gen_gaborgen_gaborGenGaborGenGaborGenGaborgen_gabor cannot create a filter that can be used with rft_genericrft_genericRftGenericRftGenericRftGenericrft_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.

执行信息

参数

ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter (输出对象)  multichannel-image objectHImageHObjectHImageHobject * (real)

Gabor and Hilbert filter.

AngleAngleAngleAngleangleangle (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

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 Angle Angle Angle angle angle ≤ 500.0

最小增量: 0.001

建议增量: 0.1

FrequencyFrequencyFrequencyFrequencyfrequencyfrequency (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

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 Frequency Frequency Frequency frequency frequency ≤ 0.7

最小增量: 0.00001

建议增量: 0.005

BandwidthBandwidthBandwidthBandwidthbandwidthbandwidth (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

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 Bandwidth Bandwidth Bandwidth bandwidth bandwidth ≤ 100.0

最小增量: 0.001

建议增量: 0.1

OrientationOrientationOrientationOrientationorientationorientation (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

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 Orientation Orientation Orientation orientation orientation ≤ 3.1416

最小增量: 0.0001

建议增量: 0.05

NormNormNormNormnormnorm (输入控制)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Normalizing factor of the filter.

默认值: 'none' "none" "none" "none" "none" "none"

值列表: 'n'"n""n""n""n""n", 'none'"none""none""none""none""none"

ModeModeModeModemodemode (输入控制)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Location of the DC term in the frequency domain.

默认值: 'dc_center' "dc_center" "dc_center" "dc_center" "dc_center" "dc_center"

值列表: 'dc_center'"dc_center""dc_center""dc_center""dc_center""dc_center", 'dc_edge'"dc_edge""dc_edge""dc_edge""dc_edge""dc_edge"

WidthWidthWidthWidthwidthwidth (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Width of the image (filter).

默认值: 512

建议值: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192

HeightHeightHeightHeightheightheight (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Height of the image (filter).

默认值: 512

建议值: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048, 4096, 8192

示例(HDevelop)

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_gaborgen_gaborGenGaborGenGaborGenGaborgen_gabor 在所有参数正确时返回 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

fft_imagefft_imageFftImageFftImageFftImagefft_image, fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic

可能的后继

convol_gaborconvol_gaborConvolGaborConvolGaborConvolGaborconvol_gabor

替代

gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass, gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfiltergen_bandfilter, gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass, gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass

另见

fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv, energy_gaborenergy_gaborEnergyGaborEnergyGaborEnergyGaborenergy_gabor

模块

基础