Open-source node-based visual programming tool for photogrammetry, turning photos into 3D models, camera tracking and HDR images.
OpenStitching/stitching
A Python package for fast and robust image stitching, building panoramas from overlapping photos on top of OpenCV's stitching module.
- Stars
- 2,641
- Forks
- 218
- Open issues
- 7
- Last commit
- 4 days ago
What is it?
stitching is a Python package for combining overlapping images into a single panorama. It is based on OpenCV's stitching module and follows the flow of OpenCV's stitching_detailed.py sample, so the pipeline of feature detection, matching, camera estimation and blending is exposed rather than hidden.
The package can be used three ways: a `stitch` command line tool that accepts file paths or wildcards, a Docker image for environments without a Python setup, and a Python `Stitcher` class that takes settings such as the feature detector and confidence threshold. An `AffineStitcher` variant covers the affine-motion case, and a verbose mode saves intermediate results so you can see where a stitch goes wrong.
A separate headless build, `stitching-headless`, is provided for server and container environments without a display. A companion tutorial notebook shows RANSAC matches and seam lines for analysing a stitch.
Key features
- 01Builds panoramas from overlapping images using OpenCV's stitching pipeline.
- 02Provides a `stitch` command line tool that accepts file lists or wildcards.
- 03Offers a Python `Stitcher` class with configurable detector and confidence threshold.
- 04Includes an `AffineStitcher` for affine-motion stitching.
- 05Saves intermediate results in verbose mode to help diagnose problems.
- 06Ships a headless variant for servers and Docker containers.
Use cases
- Creating panoramas from a batch of overlapping photos in a script or pipeline.
- Stitching scanned or photographed fragments such as construction plans.
- Running panorama generation inside a Docker container on a server.
Quick start
- 1
Install the package from PyPI with pip
pip install stitching - 2
Stitch all JPG files in the current directory with the CLI
stitch *.jpg
Things to know
- Image stitching depends on OpenCV's stitching module, which adds a sizeable dependency.
In collections
Topics
FAQ
- What is stitching?
- A Python package for fast and robust image stitching, building panoramas from overlapping photos on top of OpenCV's stitching module. stitching is a Python package for combining overlapping images into a single panorama. It is based on OpenCV's stitching module and follows the flow of OpenCV's stitching_detailed.py sample, so the pipeline of feature detection, matching, camera estimation and blending is exposed rather than hidden.
- Is stitching free to use? What license does it have?
- stitching is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is stitching still maintained?
- Actively maintained. The last commit to stitching was on Nov 2, 2026.
- What can I use stitching for?
- Creating panoramas from a batch of overlapping photos in a script or pipeline. Stitching scanned or photographed fragments such as construction plans. Running panorama generation inside a Docker container on a server.
- How do I install stitching?
- Install the package from PyPI with pip: pip install stitching Stitch all JPG files in the current directory with the CLI: stitch *.jpg
- Where can I get stitching?
- The source code and installation instructions are on GitHub: https://github.com/OpenStitching/stitching
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open Source Computer Vision Library, a C++ library of image processing and computer vision algorithms with bindings for multiple languages.
Java wrappers and helper classes for OpenCV, FFmpeg and other computer vision and multimedia libraries.
A C++ video analysis framework that chains stream reading, model inference, tracking and output as pluggable pipeline nodes.
Python and OpenCV tool and library that detects scene cuts and transitions in video, with optional splitting into clips.
Free, open-source RPA tool that automates websites, desktop apps and command-line tasks with simple TagUI flow scripts.