A panorama is any wide-angle view or representation of a physical space, here a photograph. Panoramas can be generated by stitching number of overlapping images seamlessely. This project performs image stitching to generate a panorama
The goal of this project is to generate panoramic images. The panorama construction pipeline involves following things
![]() |
![]() |
![]() |
Finding the best corresponding points is an important part of this process. To be able to stitch images we need these corresponding interest points. The procedure used to find corresponding points is based on paper from Brown, et al.
Input Image | Harris Corners |
![]() |
![]() |
Strongest 500 harris corners | Adaptive Non-maximal Suppression |
![]() |
![]() |
Image 1 |
![]() |
SSD matches | SSD with Ratio |
![]() |
![]() |
Compositing with averaging (Blurred Output) |
![]() |
Compositing with maximum (Less Blurring) |
![]() |
Detecting panoramas is really easy. I computed the features for each image from the set of images. The features of each image is compared with features of every other image in the input set. Those images with number of feature matches greater that 30 were selected and used to generate panoramas. The following images were given as input and the output panorama after auto detection is shown below:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |