gen_highpass ( : ImageHighpass : Frequency, Size : )

Generate an ideal highpass filter.

gen_highpass generates an ideal highpass filter in the frequency domain. The DC term is assumed to lie in the center of the image. The parameter Frequency determines the cutoff frequency of the filter (in pixels). The resulting image contains a circle of radius Frequency with the value 0, and the value 255 outside of this circle.


Parameters

ImageHighpass (output_object)
image -> object : byte
Highpass filter in the frequency domain.

Frequency (input_control)
real -> real
Cutoff frequency.
Default value: 20
Suggested values: 10, 20, 30, 40, 50, 60, 70, 100
Range of values: 1 <= Frequency <= 200
Minimum increment: 1
Recommended increment: 1
Restriction: Frequency > 0

Size (input_control)
integer -> integer
Size (dimension) of the image (filter).
Default value: 512
List of values: 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192


Example
my_highpass(ObjType Image, ObjType *Result, int frequency, int size)
{
  ObjType  FFT, Highpass, FFTConvol;
  fft__(Image,&FFT);
  gen_highpass(&Highpass,frequency,size);
  convol_fft__(FFT,Highpass,&FFTConvol); 
  clear(Highpass); clear(FFT);
  fft_inv__(FFTConvol,Result);
  clear(FFTConvol);
}

Result

gen_highpass returns TRUE if all parameters are correct. If necessary, an exception is raised.


Possible Successors

convol_fft__


Alternatives

circle, paint_region__


See also

convol_fft__, gen_lowpass, gen_bandpass, gen_bandfilter



Copyright © 1996-1997 MVTec Software GmbH