Main Content

detectHarrisFeatures

Detect corners using Harris–Stephens algorithm and returncornerPointsobject

Description

example

points= detectHarrisFeatures(I)returns acornerPointsobject,points. The object contains information about the feature points detected in a 2-D input image,I. ThedetectHarrisFeaturesfunction uses the Harris–Stephens algorithm to find these feature points.

points= detectHarrisFeatures(I,Name,Value)uses additional options specified by one or moreName,Valuepair arguments.

Examples

collapse all

Read the image.

I = checkerboard;

Find the corners.

corners = detectHarrisFeatures(I);

Display the results.

imshow(I); holdon; plot(corners.selectStrongest(50));

Figure contains an axes object. The axes object contains 2 objects of type image, line.

Input Arguments

collapse all

Input image, specified is anM-by-N2-D image. The input image must be real and nonsparse.

Data Types:single|double|int16|uint8|uint16|logical

Name-Value Arguments

Specify optional pairs of arguments asName1=Value1,...,NameN=ValueN, whereNameis the argument name andValueis the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and encloseNamein quotes.

Example:'MinQuality','0.01','ROI',[50,150,100,200]specifies that the detector must use a 1% minimum accepted quality of corners within the designated region of interest. This region of interest is located atx=50,y=150. The ROI has a width of100pixels and a height of200pixels.

Minimum accepted quality of corners, specified as the comma-separated pair consisting of 'MinQuality' and a scalar value in the range [0,1].

The minimum accepted quality of corners represents a fraction of the maximum corner metric value in the image. Larger values can be used to remove erroneous corners.

Example:'MinQuality',0.01

Data Types:single|double|int8|int16|int32|int64|uint8|uint16|uint32|uint64

Gaussian filter dimension, specified as the comma-separated pair consisting of 'FilterSize' and an odd integer value in the range [3,min(size(I))].

The Gaussian filter smooths the gradient of the input image.

The function uses theFilterSizevalue to calculate the filter’s dimensions,FilterSize-by-FilterSize. It also defines the standard deviation of the Gaussian filter asFilterSize/3.

Example:'FilterSize',5

Data Types:single|double|int8|int16|int32|int64|uint8|uint16|uint32|uint64

Rectangular region for corner detection, specified as a comma-separated pair consisting of 'ROI' and a vector of the format [xywidthheight]. The first two integer values [xy] represent the location of the upper-left corner of the region of interest. The last two integer values represent the width and height.

Example:'ROI',[50,150,100,200]

Output Arguments

collapse all

Corner points object, returned as acornerPointsobject. The object contains information about the feature points detected in the 2-D input image.

References

[1] Harris, C., and M. Stephens, "A Combined Corner and Edge Detector,"Proceedings of the 4th Alvey Vision Conference, August 1988, pp. 147-151.

Extended Capabilities

Version History

Introduced in R2013a