Project: Panorama Synthesis
Assignment: Link to Assignment Outline
Sources:
- Matthew Brown and David G. Lowe, "Automatic panoramic image stitching using invariant features," International Journal of Computer Vision, 74, 1 (2007)
- Emgu CV Documentation
- AForge.NET Documentation
- Accord.NET Documentation
Source Code:
The project was written as an ASP.NET Web Application with a C# Backend
A Live Demo can be viewed here: Panorama Synthesis
Note: To run the source code you may need to grab the following NuGet Packages: Emgu CV, AForge, AForge Imaging, AForge Imaging, AForge Math, Accord, Accord Imaging, Accord Math, Accord Statistics
Task:
a. The goal of this project is to develop a panoramic image synthesis system. You can either implement the basic stitching algorithm in [1] or use the algorithms/APIs implemented in OpenCV. (40 points)
b. Experiment with at least two image blending algorithms, such as those provided by OpenCV (10 points)
c. Implement the panorama straightening algorithm in [1] or come up with your own way to straighten a panorama (10 points)
d. In-class presentation (0-10 points)
e. Project report (0-20 points)
Additions:
+ More feature detection algorithms
+ more feature correlation algorithms
+ more blending algorithms
This project started out as described in the task above, while working on setting up the project I ran into linking issues with OpenCV and decided to go with a few avalible opensource wrappers(See sources above)
In the libraries I was using SIFT was not avalible due to licensing issues so I started out by using SURF.
Note: The program reads in JPEG images in any order and always attempts to stitch them together. If the images aren to a good match you will get interesting results!