Report of Project 2
Name: Lijie Heng
Date: Oct 10th, 2007
Goal
The goal of this project is to combine a set of images into a larger image by registering, warping, resampling and blending them together.
We are to implement a feature-based method based on Brown and Lowe's ICCV2003 paper, "Recognising Panoramas" to generate panoramic images.
Each Step
Taking Pictures
Canon A640, tag 4726208879 was used to take pictures. Photo size: 480x640 with focal length equal to 660.8799, k1 = -0.18533 and k2 = 0.21517.
The group of images taken for this project are in the folder ./img2
Remove Distortion
Using the focal length f and coefficients k1 and k2 to remove the radial distortion according to the formula in the lecture.
Inverse Wrapping
Each image is wrapped into Cylindrical Coordinate and saved into a .pgm file using gil.
Pairwise Alignment
Extract the SIFT features from each image using SIFT. Given the correspondence pairs, RANSAC is used to find out the translational motion between each pair of images.
Stitching and Cropping
After computing the size of the final stitched image, blend all the images with its neighbors and crop the final image.
Final Image in Interactive Viewer
Create the final .jpg image and show it in the Interactive Viewer.To Run
The program is in C/C++ in Visual Studio 2005. To run this progrm: 1. remove the distortion in main.cpp 2. do inverse wrapping and save the images into .pgm files in main.cpp 3. run sift to generate correspondence pairs into .txt files 4. read into the .txt files into RANSAC to find out the homographics matrix(using the svd solver from project 1) 5. find the translational between images and blend all the images 6. create final imageResults
Orginal Images
Panoramic Image
Image in interactive viewer
Favorite Artifacts
View of Sheboygan Ave.