A Python package for fast and robust Image Stitching.
Based on opencv's stitching module and inspired by the stitching_detailed.py python command line tool.
Use pip to install stitching from PyPI.
pip install stitching
The command line interface (cli) is available after installation
stitch -h
show the help
stitch *
stitches all files in the actual directory
stitch img_dir/IMG*.jpg
stitches all files in the img_dir directory
starting with "IMG" and ending with ".jpg"
stitch img1.jpg img2.jpg img3.jpg
stitches the 3 explicit files of the current directory
Or use the Stitcher class in your script
import stitching
stitcher = stitching.Stitcher()
panorama = stitcher.stitch(["img1.jpg", "img2.jpg", "img3.jpg"])
Specify your custom settings as
settings = {"detector": "sift", "confidence_threshold": 0.2}
stitcher = Stitcher(**settings)
This package provides utility functions to deeply analyse what's happening behind the stitching. A tutorial was created as Jupyter Notebook. The preview is here.
You can e.g. visualize the RANSAC matches between the images or the seam lines where the images are blended:
This package was developed and used for our paper Automatic stitching of fragmented construction plans of hydraulic structures
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Run tests using
python -m unittest
Please make sure to lint all pull requests.
Lint the changed files
pre-commit install && pre-commit run