I have implemented the Panoramic image stitching using invariant features from scratch. Implemented the David Lowe paper on "Image stitching using Invariant features".
NOTE: You can experiment with any images (your own choice). I have experimented with many images. You can check result below. You can find many images in "Image_Data" folder.
- You can create multiple images like tajm1.jpg, tajm2.jpg, tajm3.jpg and tajm4.jpg (shown below) from your desired images (taj.jpg).Make sure there will be some overlapping parts between two consecutive created images in a sequence. then only algorithm will find and match features and create panorama image of all images which you have provided.
- OR you can directly feed multiple images from camera in a sequence with some overlapping parts between two consecutive images.
Please install Libraries:
- OpenCV (version 3.3.0)
TO RUN CODE:
- Put images in your current folder where your code is present.
- Run stitch.py code.
- Provide the number of images you want to concantenate as input. Like: 2,5,6,10 etc.
- Enter the image name in order of left to right in way of concantenation. Like:
Enter the 1 image: tajm1.jpg
Enter the 2 image: tajm2.jpg
Enter the 3 image: tajm3.jpg
Enter the 4 image: tajm4.jpg (See below example).
- Then, you will get your panorama image as Panorama_image.jpg in your current folder.
- Used SIFT to detect feature and then RANSAC, compute Homography and matched points and warp prespective to get final panoramic image.
Result of tajm1.jpg, tajm2.jpg, tajm3.jpg, tajm4.jpg
Result of nature1.jpg, nature2.jpg, nature3.jpg, nature4.jpg, nature5.jpg, nature6.jpg
Result of my1.jpg and my2.jpg
Result of taj1.jpg and taj2.jpg
Result of room1.jpg and room2.jpg