LoG-Operator (Laplace of Gaussian).
::laplace_of_gauss calculates the Laplace-of-Gaussian operator, i.e., the Laplace operator on a Gaussian smoothed image, for arbitrary smoothing parameters Sigma. The Laplace operator is given by:
2 2
d d
\/ g(x,y)) = --- g(x,y) + --- g(x,y)
2 2
dx dy
The derivatives in ::laplace_of_gauss are calculated by
appropriate derivatives of the Gaussian, resulting in the following
formula for the convolution mask:
/ 2 2 \ / 2 2 \
1 | x + y | | x + y |
\/ G (x,y) = ------- | ------ - 1 | exp | - ------ |
s 4 | 2 | | 2 |
2 pi s \ 2 s / \ 2 s /
|
Image (input_object) |
(multichannel-)image(-array) -> Hobject: HImage(Array) ( byte / int1 / int2 / int4 / real ) |
| Input image. | |
|
ImageLaplace (output_object) |
(multichannel-)image(-array) -> Hobject * : HImage(Array) ( int2 ) |
| Laplace filtered image. | |
|
Sigma (input_control) |
number -> HTuple.double / long |
| Smoothing parameter of the Gaussian. | |
| Default value: 2.0 | |
| Suggested values: 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0, 7.0 | |
| Typical range of values: 0.7 <= Sigma <= 5.0 | |
| Minimum increment: 0.01 | |
|
Recommended increment: 0.1 | |
| Restriction: (Sigma > 0.7) && (Sigma <= 25.0) | |
read_image(&Image,"mreut"); laplace_of_gauss(Image,&Laplace,2.0); zero_crossing(Laplace,&ZeroCrossings);
::zero_crossing, ::dual_threshold
::laplace, ::diff_of_gauss, ::derivate_gauss
Image filters