SIFT and SURF feature extraction Implementation using MATLAB
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).
Nadeeshani Jayathilake
Updated on July 09, 2022Comments
-
Nadeeshani Jayathilake almost 2 years
I am doing an ancient coins recognition system using matlab. What I have done so far is:
- convert to grayscale
- remove noise using Gaussian filter
- contrast enhancement
- 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 about 13 yearsThanks 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 about 13 yearsThanks 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 about 13 yearsVLFeat 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 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 over 11 years@Maurits you are right, implementation was the wrong term... it's more like a wrapper...