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) -> object : byte / real |
| 1st channel of input image (usually: Gabor image). | |
|
ImageHilbert (input_object) |
image(-array) -> object : byte / real |
| 2nd channel of input image (usually: Hilbert image). | |
|
Energy (output_object) |
image(-array) -> object : 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 2 (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.
energy_gabor is reentrant and automatically parallelized (on tuple level, domain level).
gen_gabor, convol_gabor, fft_image_inv
Image filters