FFT based image registration
Project description
Imreg is a Python library that implements an FFT-based technique for translation, rotation and scale-invariant image registration [1].
- Author:
- License:
BSD 3-Clause
- Version:
2024.1.2
Quickstart
Install the imreg package and all dependencies from the Python Package Index:
python -m pip install -U imreg
See Examples for using the programming interface.
Source code and support are available on GitHub.
Requirements
This revision was tested with the following requirements and dependencies (other versions may work):
CPython 3.9.13, 3.10.11, 3.11.7, 3.12.1
NumPy 1.26.2
Scipy 1.11.4
Matplotlib 3.8.2 (optional for plotting)
Revisions
2024.1.2
Add type hints.
Drop support for Python 3.8 and numpy < 1.23 (NEP29).
2022.9.27
Fix scipy.ndimage DeprecationWarning.
Notes
Imreg is no longer being actively developed.
This implementation is mainly for educational purposes.
An improved version is being developed at https://github.com/matejak/imreg_dft.
References
An FFT-based technique for translation, rotation and scale-invariant image registration. BS Reddy, BN Chatterji. IEEE Transactions on Image Processing, 5, 1266-1271, 1996
An IDL/ENVI implementation of the FFT-based algorithm for automatic image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. Computers & Geosciences, 29, 1045-1055, 2003.
Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009.
Examples
>>> im0 = imread('t400') >>> im1 = imread('Tr19s1.3') >>> im2, scale, angle, (t0, t1) = similarity(im0, im1) >>> imshow(im0, im1, im2)
>>> im0 = imread('t350380ori') >>> im1 = imread('t350380shf') >>> t0, t1 = translation(im0, im1) >>> t0, t1 (20, 50)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.