Generate an ideal lowpass filter.
::gen_lowpass generates an ideal lowpass 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 255, and the value 0 outside of this circle.
|
ImageLowpass (output_object) |
image -> Hobject * : HImage ( byte ) |
| Highpass filter in the frequency domain. | |
|
Frequency (input_control) |
real -> HTuple.double |
| Cutoff frequency. | |
| Default value: 20 | |
| Suggested values: 10, 20, 30, 40, 50, 60, 70, 100 | |
| Typical range of values: 1 <= Frequency <= 200 | |
| Minimum increment: 1 | |
|
Recommended increment: 1 | |
|
Size (input_control) |
integer -> HTuple.long |
| Size (dimension) of the image (filter). | |
| Default value: 512 | |
| List of values: 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192 | |
my_lowpass(Hobject Image, Hobject *Result, int frequency, int size)
{
Hobject FFT, Lowpass, FFTConvol;
fft(Image,&FFT);
gen_lowpass(&Lowpass,frequency,size);
convol_fft(FFT,Lowpass,&FFTConvol);
clear_obj(Lowpass); clear_obj(FFT);
fft_image_inv(FFTConvol,Result);
clear_obj(FFTConvol);
}
::gen_lowpass returns H_MSG_TRUE if all parameters are correct. If necessary, an exception handling is raised.
::gen_highpass, ::gen_bandpass, ::gen_bandfilter
Image filters