[DESCS, LOCS] = iat_surf(IMAGE, SIZED)

iat_surf executes the SURF (Speeded Uo Robust Features) algorithm [1]. If the Computer Vision Toolbox is installed, the function calls the MATLAB’s own implementation. Otherwise, the function calls the executable from <iat_dir>/SURF folder, created by the original code, kindly provided by the authors of [1]. The original implementation is executable in both Windows and Linux platforms. Note that the two implementations are not identical and may produce different results.

Input arguments

IMAGE The input image
SIZED The descriptor length (default: 64). While Mathworks’s implementation accepts only 64 and 128, original implementations creates descriptors of length 36, 64 and 128.

Output arguments

DESCS An NxSIZED array with SURF descriptors (one per row).
LOCS The keypoints described by DESCS. It is an array of size Nx5, being each row of the form [x y a b c], where (x,y) is the keypoint and [a b;b c] is the ellipse matrix that describes it’s surrounding area. Circular regions are considered here, i.e. a=c and b=0.

[1] H.Bay, A.Ess, T.Tuytelaars, L.V.Gool, “SURF: Speeded Up Robust Features”, Computer Vision and Image Understanding (CVIU), Vol. 110, No. 3, pp. 346–359, 2008

SURF is noncommercial. You may not use this work for commercial purposes. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get written permission from the copyright holder.


Back to Index