You are here: Start » Filter Reference » Image Analysis » 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
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
- DetectCorners_Foerstner – Detects corners using the Foerstner algorithm.