| Operators |
points_harris — 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.
points_harris uses a special implementation that is optimized using SSE2 instructions if the system parameter 'sse2_enable' is set to 'true' (which is default if SSE2 is available on your machine). This implementation is slightly inaccurate compared to the pure C version due to numerical issues (for 'byte' images the difference in Row and Column is in order of magnitude of 1.0e-5). If you prefer accuracy over performance you can set 'sse2_enable' to 'false' (using set_system) before you call points_harris. This way points_harris does not use SSE2 accelerations. Don't forget to set 'sse2_enable' back to 'true' afterwards.
points_harris can be executed on an OpenCL device if both SigmaGrad and SigmaSmooth induce a filter size of no more than 129 pixels. This corresponds to a value of less than 20.7 for both parameters. As with the SSE2 version, the results of the OpenCL implementation may diverge slightly from that of pure C version due to numerical issues.
Input image.
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
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
Weight of the squared trace of the squared gradient matrix.
Default value: 0.08
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
Minimum filter response for the points.
Default value: 1000.0
Restriction: Threshold >= 0.0
Row coordinates of the detected points.
Column coordinates of the detected points.
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 is raised.
points_foerstner, points_lepetit, points_harris_binomial
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.
Foundation
| Operators |