A Corner Detector based on Global and Local Curvature Properties

A robust corner detector works on grey-level images as well as planar curves.
22.4K Downloads
Updated 19 May 2009

View License

CORNER works by the following step:
1. Apply the Canny edge detector to the grey level image and obtain a binary edge-map.
2. Extract the edge contours from the edge-map, fill the gaps in the contours.
3. Compute curvature at a low scale for each contour to retain all true corners.All of the curvature local maxima are considered as initial corner candidates.
4. Initial corner candidates are compared using an adaptive local threshold to remove the round corners.
5. The angles of corner candidates are evaluated to eliminate any false corners due to quantization noise and trivial details. The above evaluation is based on a dynamic region of support, which changes according to its adjacent corner candidates.
6. End points of contours are considered with an additional criterion.

Algorithm is derived from:
X.C. He and N.H.C. Yung, "Curvature Scale Space Corner Detector with Adaptive Threshold and Dynamic Region of Support", Proceedings of the 17th International Conference on Pattern Recognition, 2:791-794, August 2004.

Improved algorithm of above has been published in:
X.C. He and N.H.C. Yung, “Corner detector based on global and local curvature properties”, Optical Engineering, 47(5), pp: 057008, 2008. (This paper is included in corner.rar for reference)

Cite As

Xiaochen He (2024). A Corner Detector based on Global and Local Curvature Properties (https://www.mathworks.com/matlabcentral/fileexchange/7652-a-corner-detector-based-on-global-and-local-curvature-properties), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R13
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

1. BSD license assigned
2. Newly published paper based on this code is included for reference

1.0.0.0

Fix some small bugs, and add information that the paper related to this algorithm has been submitted to Pattern Recognition.