HARRIS_CORNER_DETECTOR
Name
HARRIS_CORNER_DETECTOR
Purpose
This function will find corners in an image. Corners are defined
in this context as localized areas within the image were small
shifts in the image in any direction produce a significant
change in the composition of the neighborhood.
Category
Image Processing.
Calling Sequence
Result = $
HARRIS_CORNER_DETECTOR( image, $
sigma, $
metric, $
OVERLAY=overlay, $
DEBUG=debug )
Return Value
This function will return a 2xN array of coordinates indicating
corner locations found throughout the provided image.
Inputs
image
An array containing the data within which corners are to be
located.
sigma
A scalar defining the standard deviation of the gaussian
blurring kernel to be used in the smoothing/averaging operation
used to reduce noise in the intermediate gradient images. This
quantity is defined in units of pixels. [DEFAULT=1]
metric
A flag indicating which response surface metric is to be
used. The metrics are defined as
1 - lambda2
2 - (lambda1 * lambda2) / (lambda1 + lambda2)
3 - (lambda1 * lambda2) - (lambda1 + lambda2)
4 - (lambda1 * lambda2) - k*(lambda1 + lambda2)^2 [DEFAULT]
Keyword Parameters
OVERLAY=overlay
Indicates a copy of the original image provided is to be returned
in a 3-band color image format with red pixels indicating where
the corners found were located.
DEBUG=debug
Indicates that debug images/results should be produced at run time
if set.
Return Value
This function returns a 2xn array containing the image coordinates of the
n corner points identified by the FAST detector.
Side Effects
None
Requires
FIND_CLUSTER_CENTERS
Reference
Harris, C. and M.J. Stephens, A combined corner and edge detector,
Alvey Vision Converence, 1988, pp. 147-152
Side Effects
None
Modification History
Written by: Carl Salvaggio
September, 2008 Original Code
April, 2012 Added debug keyword todisplay intermediate results
Disclaimer
This source code is provided "as is" and without warranties as to performance
or merchantability. The author and/or distributors of this source code may
have made statements about this source code. Any such statements do not
constitute warranties and shall not be relied on by the user in deciding
whether to use this source code.
This source code is provided without any express or implied warranties
whatsoever. Because of the diversity of conditions and hardware under which
this source code may be used, no warranty of fitness for a particular purpose
is offered. The user is advised to test the source code thoroughly before
relying on it. The user must assume the entire risk of using the source code.