What exactly is the scale attribute that is calculated by detectSURFFeatures()?
4 views (last 30 days)
Show older comments
Title says it all. I'm aware that a higher scale means a "larger" feature, but I'm confused by the number of different scales. Consider this snippet, which is a slightly modified version of the example in the documentation to detect as much points as possible:
K>> I = imread('cameraman.tif');
K>> points = detectSURFFeatures(I, 'MetricThreshold',0);
K>> length(unique(points.Scale))
ans =
54
With default parameters detectSURFFeatures() uses 3 octaves and 4 scale levels. If I understood the SURF algorithm correctly this should limit the number of different scales to 3*4=12. Can someone help me out here?
0 Comments
Answers (1)
Jalaj Gambhir
on 5 Aug 2019
Hi,
You are confusing the 'scales' here. Each octave has fixed number of scale levels. detectSURFFeatures() does not return that value. This function returns the scale that is dependent on size of the image. You can verify this by resizing the image and then checking the unique scales returned. It would be different from 54.
See Also
Categories
Find more on Computer Vision Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!