points_harris ( Image : : SigmaGrad, SigmaSmooth, Alpha, Threshold : Row, Col )

Detect points of interest using the Harris operator.

points_harris extracts points of interest from an image. The Harris operator is based upon the smoothed matrix

        /   n                n              \
        |  ---              ---             |
        |  \        2       \               |
        |  /    Ix,c        /    Ix,c Iy,c  |
        |  ---              ---             |
        |  c=1              c=1             |
M = G * |                                   |,
        |   n                n              |
        |  ---              ---             |
        |  \                \        2      |
        |  /    Ix,c Iy,c   /    Iy,c       |
        |  ---              ---             |
        \  c=1              c=1             /
where G stands for a Gaussian smoothing of size SigmaSmooth and Ix,c and Iy,c are the first derivatives of each image channel, computed with Gaussian derivatives of size SigmaGrad. The resulting points are the positive local extrema of
                         2
Det(M) - Alpha*(Trace(M)) .
If necessary, they can be restricted to points with a minimum filter response of Threshold. The coordinates of the points are calculated with subpixel accuracy.


Parameters

Image (input_object)
(multichannel-)image -> object : byte / uint2 / real
Input image.

SigmaGrad (input_control)
real -> real
Amount of smoothing used for the calculation of the gradient.
Default value: 0.7
Suggested values: 0.7, 0.8, 0.9, 1.0, 1.2, 1.5, 2.0, 3.0
Typical range of values: 0.7 <= SigmaGrad <= 50.0
Recommended increment: 0.1
Restriction: SigmaGrad > 0.0

SigmaSmooth (input_control)
real -> real
Amount of smoothing used for the integration of the gradients.
Default value: 2.0
Suggested values: 0.7, 0.8, 0.9, 1.0, 1.2, 1.5, 2.0, 3.0
Typical range of values: 0.7 <= SigmaSmooth <= 50.0
Recommended increment: 0.1
Restriction: SigmaSmooth > 0.0

Alpha (input_control)
real -> real
Weight of the squared trace of the squared gradient matrix.
Default value: 0.04
Suggested values: 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08
Typical range of values: 0.001 <= Alpha <= 0.1
Minimum increment: 0.001
Recommended increment: 0.01
Restriction: Alpha > 0.0

Threshold (input_control)
number -> real / integer
Minimum filter response for the points.
Default value: 0.0
Restriction: Threshold >= 0.0

Row (output_control)
point.y-array -> real
Row coordinates of the detected points.

Col (output_control)
point.x-array -> real
Column coordinates of the detected points.


Result

points_harris returns 2 (H_MSG_TRUE) if all parameters are correct and no error occurs during the execution. If the input is empty the behavior can be set via set_system('no_object_result',<Result>). If necessary, an exception handling is raised.


Parallelization Information

points_harris is reentrant and processed without parallelization.


Possible Successors

gen_cross_contour_xld


Alternatives

points_foerstner


References

C. Harris, M. Stephens: ``A combined corner and edge detector''. Proceedings of the 4th Alvey Vision Conference, pp. 147-151, 1988.

V. Gouet, N.Boujemaa: ``Object-based queries using color points of interest''. IEEE Workshop on Content-Based Access of Image and Video Libraries, CVPR/CBAIVL 2001, Hawaii, USA, 2001.


Module

Foundation



Copyright © 1996-2008 MVTec Software GmbH