# Revision history [back]

It is not a bug. GPU SURF doesn't support small image size. This assert checks that input image has proper size.

It is not a bug. GPU SURF doesn't support small image size. This assert checks that input image has proper size.

UPDATE

Why min_margin is always 11?

sizeo(oct, layer) = (9 + 6*layer) << oct = (9 + 6*layer)*(2^oct)
sizeo(oct - 1, 2) = (9 + 6*2)*(2^(oct - 1)) = 21 * (2^(oct - 1))
sizeo(oct - 1, 2) >> 1 = sizeo(oct - 1, 2) / 2 = 21 * (2^(oct - 2))
(sizeo(oct - 1, 2) >> 1) >> (oct - 1) = (sizeo(oct - 1, 2) >> 1) * (2^(1 - oct)) = 21 * (2^(oct - 2)) * (2^(1 - oct)) = 21/2=10
getsd(oct) = ((sizeo(oct - 1, 2) >> 1) >> (oct - 1)) + 1 === 11


It is not a bug. GPU SURF doesn't support small image size. This assert checks that input image has proper size.

UPDATE

Why min_margin is always 11?

sizeo(oct, layer) = (9 + 6*layer) << oct = (9 + 6*layer)*(2^oct)
sizeo(oct - 1, 2) = (9 + 6*2)*(2^(oct - 1)) = 21 * (2^(oct - 1))
sizeo(oct - 1, 2) >> 1 = sizeo(oct - 1, 2) / 2 = 21 * (2^(oct - 2))
(sizeo(oct - 1, 2) >> 1) >> (oct - 1) = (sizeo(oct - 1, 2) >> 1) * (2^(1 - oct)) = 21 * (2^(oct - 2)) * (2^(1 - oct)) = 21/2=10
21/2 === 10
getsd(oct) = ((sizeo(oct - 1, 2) >> 1) >> (oct - 1)) + 1 === 11