SIFT and SURF feature extraction Implementation using MATLAB

32,573

Solution 1

you can find a matlab implementation of SIFT features here: http://www.cs.ubc.ca/~lowe/keypoints/

Solution 2

You can find SIFT as a C implementation with MATLAB bindings at: http://www.vlfeat.org/index.html

Solution 3

For anyone else coming across this thread as I did, I noticed the implementation at http://www.vlfeat.org/index.html was far more than I required and also fairly hard to adjust to my code. The following link; http://robwhess.github.io/opensift/, has an implementation of just the SIFT algorithm accompanied with an example executable, with the source code available (unlike http://www.cs.ubc.ca/~lowe/keypoints/ which only has the sift binary executable).

Share:
32,573
Nadeeshani Jayathilake
Author by

Nadeeshani Jayathilake

Updated on July 09, 2022

Comments

  • Nadeeshani Jayathilake
    Nadeeshani Jayathilake almost 2 years

    I am doing an ancient coins recognition system using matlab. What I have done so far is:

    1. convert to grayscale
    2. remove noise using Gaussian filter
    3. contrast enhancement
    4. edge detection using canny edge detector.

    Now I want to extract feature for classification. Features I thought to select are roundness, area, colour, SIFT and SURF. My problem is how I can apply SIFT and SURF algorithms to my project. I couldn't find built-in functions for both.

  • Nadeeshani Jayathilake
    Nadeeshani Jayathilake about 13 years
    Thanks a lot. Can that SIFT implementation be used by any project? I meant... don't I have to change it to suit for my project? Or I can directly use it as a library to find SIFT features in my images right?
  • Nadeeshani Jayathilake
    Nadeeshani Jayathilake about 13 years
    Thanks a lot. Can you please answer for this question? These SIFT implementations are like libraries that we are using for an example when coding c++ programming, we are including iostream library right? But we don't have to change any code which is inside that library. So, I can just use this SIFT implementation as a library and do not need to change any code for my images right? Is that sift implementation working for any image?
  • bjoernz
    bjoernz about 13 years
    VLFeat is a C library, that you can use from C++. The images have to be stored as one float per pixel. You can read the C API documentation here: vlfeat.org/api/sift_8h.html
  • Maurits
    Maurits over 12 years
    @Dirk, sorry, but not true, Lowe provides a compiled binary and Matlab code to read in the keypoints from a text file produced by that same binary.
  • Dirk
    Dirk over 11 years
    @Maurits you are right, implementation was the wrong term... it's more like a wrapper...