/sift

An implementation of SIFT (Scale-invariant feature transform) from scratch in python v3

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

SIFT (Scale Invariant Feature Transform)

Abstract

An implementation of SIFT (Scale-invariant feature transform) from scratch in python v3

Dependencies

  • python v3
  • python libraries : opencv (to read/ save images), numpy, matplotlib, scipy (v1.1.0)

ToDo

  • Generation of keypoint descriptor

Instructions to run

python3 main.py --input input_image_file_path

Eg.

python3 main.py --input images/sample-input.jpeg

Results

Output for sample input image is given below.

SIFT sample output

References

[1] Gonzalez, Rafael C., and Woods, Richard E. "Digital image processing. 4E" (2017).
[2] Lowe, D. G. (2004). Distinctive image features from scale-invariant keypoints. International journal of computer vision, 60(2), 91-110.
[3] Lowe, D. G. (1999). Object recognition from local scale-invariant features. In Computer vision, 1999. The proceedings of the seventh IEEE international conference on (Vol. 2, pp. 1150-1157). Ieee.
[4] http://aishack.in/tutorials/sift-scale-invariant-feature-transform-introduction/