필터 지우기
필터 지우기

What exactly is the scale attribute that is calculated by detectSURFFeatures()?

조회 수: 1 (최근 30일)
Philip Meier
Philip Meier 2019년 7월 30일
댓글: Philip Meier 2019년 8월 12일
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?

답변 (1개)

Jalaj Gambhir
Jalaj Gambhir 2019년 8월 5일
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.
  댓글 수: 1
Philip Meier
Philip Meier 2019년 8월 12일
Now I'm even more confused. So this "scale" has nothing to do with the term scale and its meaning used in the original paper? To quote from the documententation of the SURFPoints class:
"Scale: Specifies scale at which the interest points were detected. This value must be greater than or equal to 1.6."
To me this sounded alot like the definition from the paper, which should be independent of the image size. If that is not the case, could you answer the original question: What exactly is the scale attribute that is calculated by detectSURFFeatures()?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Computer Vision Toolbox에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by