## Robust Image Corner Detection based on the Chord-to-Point Distance Accumulation Technique

Version 1.3.0.0 (7.59 KB) by
A robust scale-space corner detector that outperforms existing single and multi-scale detectors.

Updated 25 May 2009

1. Find the edge image using the Canny edge detector.

2. Extract edges (curves) from the edge image:
2a. fill gaps if they are within a range and select long edges,
2b. find T-junctions and mark them as T-corners.
2c. obtain the status' of each selected edge ${\Gamma}$ as either loop' or line'.

3. Smooth ${\Gamma}$ using a small width Gaussian kernel in order to remove quantization noises and trivial details. This small scale Gaussian smoothing also offers good localization of corners.

4. At each point of the smoothed curve ${\Gamma_s}$, compute three discrete curvatures following the CPDA technique using three chords of different lengths.

5. Find three normalized curvatures at each point of ${\Gamma_s}$ and then multiply them to obtain the curvature product.

6. Find the local maxima of the absolute curvature products as candidate corners and remove weak corners by comparing with the curvature-threshold ${T_h}$.

7. Calculate angles at each candidate corners obtained from the previous step and compare with the angle-threshold ${\delta}$ to remove false corners.

8. Find corners, if any, between the ends of smoothed loop' curves and add those corners which are far away from the detected corners.

9. Compare T-corners with the detected corners and add those T-corners which are far away from the detected corners.

### Cite As

Mohammad Awrangjeb (2023). Robust Image Corner Detection based on the Chord-to-Point Distance Accumulation Technique (https://www.mathworks.com/matlabcentral/fileexchange/22390-robust-image-corner-detection-based-on-the-chord-to-point-distance-accumulation-technique), MATLAB Central File Exchange. Retrieved .

##### MATLAB Release Compatibility
Created with R14
Compatible with any release
##### Platform Compatibility
Windows macOS Linux
##### Categories
Find more on Feature Detection and Extraction in Help Center and MATLAB Answers

### Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.3.0.0

We set sigma=3 for all curves for the CPDA detector, since setting the sigma value based on the curve-length is rather impractical. This change improves the performance of the detector.

1.2.0.0

The absolute CPDA curvature values are calculated before normalization (line 118).

1.1.0.0

Bug fixed at function getcorner(). Thanks to users Natalia & piao lin.

1.0.0.0