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 |
Only the following inMonoImage pixel formats are supported: 1xuint8, 1xint8, 1xuint16, 1xint16, 1xint32, 1xreal
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
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 here: Error Handling
Error type | Description |
---|---|
DomainError | Unknown algorithm in DetectCorners_CornerResponse. |
Complexity Level
This filter is available on Advanced Complexity Level.
Filter Group
This filters is member of DetectCorners filter group.