We are pleased to announce the public release of AffineExtractor, a new Python-based computer vision toolbox developed by our research group. The repository is now available on GitHub for the research and developer community.

Why AffineExtractor?
In standard computer vision pipelines, feature matching (such as SIFT) is often used solely to obtain (x, y) point correspondences for global transformation estimation (e.g., Homography via RANSAC). However, this approach discards valuable geometric information. AffineExtractor leverages the scale and orientation properties of local descriptors to compute the full local affine frame (a 2×3 transformation matrix) for each individual match.
Key Features of the Toolbox:
- OpenCV SIFT Affine Matcher: Computes initial local affine transformations directly from OpenCV’s
cv2.SIFTkeypoint properties (sizeandangle) immediately after matching. - Advanced Refinement Algorithms: Includes gradient-based (Lucas-Kanade) and search-based (Brute-Force) refinement scripts to further optimize the extracted initial affine frames.
- Ready-to-use Demo: Comes with demo scripts and a sample dataset (e.g., the Infopark fountain image pair) for immediate testing.
We invite researchers and developers working in 3D reconstruction, surface normal estimation, and multi-view geometry to try out the tools, use them in their pipelines, and contribute to the repository.
🔗 Access the code and documentation on GitHub:
https://github.com/LeventeHajder/AffineExtractor
For questions or collaborations, feel free to contact Levente Hajder or visit our Computer Vision Lab website.
