Panoramic Image Stitching is the process of combining multiple images with overlapping regions to produce a single panoramic image. The process involves detecting features in the images, matching the features, estimating the homography between the images, warping the images to align them, and blending the images to create a seamless panorama. This project implements the panoramic image stitching process using OpenCV and Python.
This project is a simple implementation of Panoramic Image Stitching using OpenCV and Python. The project is implemented using the following steps:
- Feature Detection
- Feature Matching
- Homography Estimation
- Image Warping
- Image Blending
- Python 3.6 or above
- OpenCV
- Numpy
- Matplotlib
- Add virtual environment:
python -m venv virtenv
- Load the virtual environment:
virtenv/bin/activate
- Install the required libraries:
pip install -r requirements.txt
- Run the code:
python ./main.py
The results of the project can be found in the data
directory. The results include the stitched image and the intermediate results of the project.
Input Image 1 | Input Image 2 |
---|---|
- https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.html
- https://www.learnopencv.com/image-alignment-feature-based-using-opencv-c-python/
- https://www.learnopencv.com/image-stitching-using-opencv-c-python/
- https://www.pyimagesearch.com/2016/01/11/opencv-panorama-stitching/
- https://www.pyimagesearch.com/2018/12/17/image-stitching-with-opencv-and-python/