Back to Adaptive Vision Studio website

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

DetectCorners_CornerResponse


Detects corners using corner response method.

Name Type Range Description
inMonoImage Image Input image
inRoi Region* Range of pixels to be processed
inCornerResponseMethod CornerResponseMethod Method for computing corner response
inKernelSize Integer 1 - 10 Method kernel size
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
outCorners Point2DArray Found corner points
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.

Applications

Detection of characteristic points on an image.

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.

Complexity Level

This filter is available on Advanced Complexity Level.

Filter Group

This filter is member of DetectCorners filter group.

See Also