Back to Aurora Vision Studio website

You are here: Start » Filter Reference » Computer Vision » Image Analysis » DetectCorners_CornerResponse

DetectCorners_CornerResponse


Module: FoundationBasic

Detects corners using corner response method.

Applications

Detection of characteristic points on an image.
Name Type Range Description
Input value inMonoImage Image Input image
Input value inRoi Region* Range of pixels to be processed
Input value inCornerResponseMethod CornerResponseMethod Method for computing corner response
Input value inKernelSize Integer 1 - 10 Method kernel size
Input value inThreshold Real* 0.0 - 255.0 Threshold for corner response value, between 0 and 255, default value is taken from SelectThresholdValue on outCornerResponseImage and entropy method
Output value outCorners Point2DArray Found corner points
Output value outCornerResponseImage Image

Requirements

For input inMonoImage only pixel formats are supported: 1⨯uint8, 1⨯int8, 1⨯uint16, 1⨯int16, 1⨯int32, 1⨯real.

Read more about pixel formats in Image documentation.

Description

The operation detects corners using either Harris or Kanade-Tomasi corner response method, depending on inCornerResponseMethod. For every square window of size inKernelSize a convolution matrix is computed: \[M = \left(\begin{array}{ccc} \sum g_r^2 & \sum g_c g_r \\ \sum g_c g_r & \sum g_c^2 \end{array} \right) \] where the summation is performed over the whole window and \(g_r, g_c\) denote horizontal and vertical gradient respectively at the point.
Harris' corner response is computed the following way: \[H = \mathrm{det}(M) - k \mathrm{tr}^2(M) \] where k is a constant set to 0.01.
Kanade-Tomasi corner response is given by: \[KT = \mathrm{min}(\lambda_1, \lambda_2)\] where \(\lambda_1, \lambda_2\) are eigenvalues of the convolution matrix.
Values H or KT give corner response image.

Then a few steps are performed in order to extract corner points. First, the normalized corner response function is thresholded with inThreshold with a small hysteresis, then the remained points are split into connected regions (blobs) and the center of each blob is determined.

Examples

DetectCorners_CornerResponse with inThreshold=50, methods Harris and Kanade-Tomasi respectively.

Remarks

Both methods give similar results and are quite fast. However, they tend to be less accurate than DetectCorners_Foerstner.

Errors

This filter can throw an exception to report error. Read how to deal with errors in Error Handling.

List of possible exceptions:

Error type Description
DomainError Unknown algorithm in DetectCorners_CornerResponse.
DomainError Not supported inMonoImage pixel format in DetectCorners_CornerResponse. Supported formats: 1xUInt8, 1xInt8, 1xUInt16, 1xInt16, 1xInt32, 1xReal.

Complexity Level

This filter is available on Advanced Complexity Level.

Filter Group

This filter is member of DetectCorners filter group.

See Also