Final project for subject IMP301
Algorithm:
- Extract features using SIFT, SURF, ORB
- Matching features using BruteForce algorithm
- Find homography matrix using RANSAC algorithm
- Blending and warping image
GUI:
- Tkinter library in python
The project is to implement a simple image stitching app, when we input a set of images with overlapped fields, we expect to obtain a wide seamless panorama.
- We have implemented the SIFT algorithm from scratch using Python, however to optimize the execution time in the app we use the API provided by the library.
- Please feel free to check out our implementation for SIFT by the following link SIFT Implementation using Python
- Numpy
- Matplotlib
- Pillow
To use all none-free features
- Python 3.7.1
- OpenCV 3.4.2
downgrade opencv version by:
pip install opencv-contrib-python==3.4.2.17 --force-reinstall
To run by newest version (some features doesn't work like SIFT,...)
- Python 3.9
- OpenCV 4.5.3
- You can directly test project by downloading following .exe file Stitching.exe
- Run main.py or Stitching.exe file and follow the guideline in app by clicking guideline button
Result for 4 pics taken from 5th floor FPT University:
Result for 3 pics taken from classroom at FPT University: