View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Affine Resilient Curvature Scale-Space Corner Detector

Join the 15-year community celebration.

Play games and win prizes!

» Learn more

4.7 | 3 ratings Rate this file 12 Downloads (last 30 days) File Size: 233 KB File ID: #33229 Version: 1.0
image thumbnail

Affine Resilient Curvature Scale-Space Corner Detector



Apply the affine-length parameterized curvature to the CSS corner detection technique.

| Watch this File

File Information

1. Find edge image using the Canny edge detector.
2. Extract edges from the edge image:
   a. fill gaps if they are within a range and select long edges,
   b. find T-junctions and mark them as T-corners.
3. Parameterize each edge with its affine-length.
4. For each parameterized edge, compute absolute curvature at an appropriate scale in {σm, σm+1, σm+2} and determine corners by comparing the curvature maxima to the corresponding curvature threshold of edge in {tm, tm+1, tm+2} and the neighboring minima.
5. Track the corners down to the lowest scale considering a small
neighborhood in order to improve localization.
6. Further track the corners on the original edge at the lowest scale considering the same neighborhood size.
7. Remove multiple occurrences of same corners, compare Tcorners with the tracked corners and add those T-corners which are far away from the detected corners.


Robust Image Corner Detection Based On The Chord To Point Distance Accumulation Technique and A Fast Corner Detector Based On The Chord To Point Distance Accumulation Technique inspired this file.

MATLAB release MATLAB 7 (R14)
Other requirements (Should be compatible with Unix as well as Windows)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (3)
22 Jun 2016 Mohammad Awrangjeb

Hi Just Rookie,
You can change curve length in extract_curve function. Look for the following code:

if size(cur,1)>(size(BW,1)+size(BW,2))/15

If you change the last number 15, you change the minimum curve length. Big number means small curve length and vice versa.

Also, you may need to change the sigma value in the Gaussian function. At the moment they are 3, 4 and 5 (see global GFP variable). You may need to decrease these values to work with small curve lengths.

Hope this help you.


04 Apr 2014 Just Rookie

Hi,I want to chose the curve if its length is bigger than 15 or 20,but when I change your source code,some errors will come up.So how to change the minimum length of curve?

28 Jun 2013 Meng

Meng (view profile)


Contact us