Skip to content

nzinfo/sift-lfsr

Repository files navigation

1. Intro
2. Requirements
3. Building
4. License

1. Intro

This is a collection of code I've put together to detect SIFT features 
in images and to use SIFT (or other) features to compute image 
transforms with RANSAC. It includes a SIFT function library as well as 
some executables to detect, match, and display keypoints. For more 
information on SIFT, refer to the paper by Lowe:

Lowe, D. Distinctive image features from scale-invariant keypoints. 
International Journal of Computer Vision, 60, 2 (2004), pp.91--110.

Or see Lowe's website:
http://www.cs.ubc.ca/~lowe/keypoints/

Some of the code also works with affine-invariant features from the code 
by the VGG at oxford:
http://www.robots.ox.ac.uk:5000/~vgg/research/affine/index.html

Check out match.c for an example of how to use the RANSAC function.  Try 
`match beaver.png beaver_xform.png` to see it work.

Documentation is included in the docs/ directory.  If it is not there, 
use `make docs` to build it (you need Doxygen).

Help is available for executables using the '-h' command line option.

/***************************************************************************/

2. Requirements

All code in this package requires the OpenCV library (known working 
version is 2.0):
http://sourceforge.net/projects/opencvlibrary/

Some functions require GDK/GTK+2 (known working version is 2.18.4):
http://www.gtk.org/

/***************************************************************************/

3. Building

To build everything, use make:

> make

This should produce a few executables in bin/, a static library 
lib/libfeat.a, and some HTML documentation in docs/.  You can use the -h 
argument to get help with any of the executables.  libfeat.a can be 
compiled into your own code using the standard method:

> gcc -I/path/to/sift/include/ -L/path/to/sift/lib/ yourcode.c	\
	-o yourexecutable -lfeat

The documentation in docs/ describes all of the functions available in 
libfeat.a as well as #defines, etc.  Use the documentation to determine 
what header files from include/ to include in your code.

You can also individually build any of the executables or libfeat.a, 
e.g.

> make libfeat.a

/***************************************************************************/

4. License

See the file LICENSE for more information on the legal terms of the use 
of this package.

Releases

No releases published

Packages

No packages published