#228 · Primary category: Computer Vision

PythonSIFT

computer-vision feature-matching image-processing opencv python sift template-matching

A clean and concise Python implementation of SIFT (Scale-Invariant Feature Transform)

Project last updated:08/13/25

GitHub Stars

1.0K

Forks

261

Contributors

4

License

MIT

Why we included this project

This implementation rebuilds SIFT from scratch in plain Python and NumPy, modeled on OpenCV's version so it returns the same KeyPoint objects and 128-element descriptors. That means you can swap it into an existing OpenCV pipeline to see how scale-space extrema, keypoint localization, and descriptor construction actually work, while still getting compatible output. The code favors clarity over speed, so it will be slow on most images but reads well as a reference for debugging your own feature detectors. A two-part tutorial walks through each function step by step, which helps students and newcomers follow the algorithm without getting lost in the math.

Articles for this project

No articles for this project yet.

To suggest a topic or contribute an article, contact us.

Related projects in this category