Calculate the energy of a two-channel image.
::energy_gabor calculates the local contrast (Energy) of the two input images. The energy of the resulting image is then defined as energy = channel1 ^2 + channel2 ^2 . Often the calculation of the energy is preceded by the convolution of an image with a Gabor filter and the Hilbert transform of the Gabor filter (see ::convol_gabor). In this case, the first channel of the image passed to ::energy_gabor is the Gabor-filtered image, transformed back into the spatial domain (see ::fft_image_inv), and the second channel the result of the convolution with the Hilbert transform, also transformed back into the spatial domain. The local energy is a measure for the local contrast of structures (e.g., edges and lines) in the image.
|
ImageGabor (input_object) |
image(-array) -> Hobject: HImage(Array) ( byte / real ) |
| 1st channel of input image (usually: Gabor image). | |
|
ImageHilbert (input_object) |
image(-array) -> Hobject: HImage(Array) ( byte / real ) |
| 2nd channel of input image (usually: Hilbert image). | |
|
Energy (output_object) |
image(-array) -> Hobject * : HImage(Array) ( real ) |
| Image containing the local energy. | |
fft_image(Image,&FFT); gen_gabor(&Filter,1.4,0.4,1.0,1.5,512); convol_gabor(FFT,Filter,&Gabor,&Hilbert); fft_image_inv(Gabor,&GaborInv); fft_image_inv(Hilbert,&HilbertInv); energy_gabor(GaborInv,HilbertInv,&Energy);
::energy_gabor returns H_MSG_TRUE if all parameters are correct. If the input is empty the behaviour can be set via ::set_system('no_object_result',<Result>). If necessary, an exception handling is raised.
::gen_gabor, ::convol_gabor, ::fft_image_inv
Image filters