Image Warping and Mosaicing

CS194-26 Image Manipulation and Computational Photography

Jingxi Huang  cs194-26-aap 



Overview

The goal of the project is to implement a cool application of image warping — image mosaicing. By rotating the camera about the center of lens without shifting and taking two or more photographs with slightly overlapping fields of view, we can create an image mosaic by registering, projective warping, resampling and compositing them. I learned about how to compute homographies and how to use them to warp images and create the panorama.

Recovering Homographies

The homography transformation has the following form where H is a 3x3 matrix with the last element i = 1 and 8 degrees of freedom.

To recover the homography, it can be shown from algebra that the homography can be solved be solving the following linear equation, where the vector h includes the 8 elements and can be reshaped to our homography matrix.

Robert Collins, CSE486, Penn State

Image Rectification

One of the application of homography is image rectification. I chose four corners of the input image and forcing them to be parallel in the new image by selecting the corresponding position of the four corners in the new image. After that, I can compute the homography and warp the original image to the new rectified image. The following are examples of image rectification.

vitamin.jpg
piano.jpg
fridge.jpg
rectified vitamin
rectified piano
rectified fridge

Mosaics

Finally for image mosaics, we can take two or more photographs of the same scene with slightly overlapping field of views by rotating the camera about the center of lens without shifting. To achieve the goal, I selected 15 corresponding points between each of the two images and created a blank background with the center image in the middle of the background.

img1_points
img2_points_1
img2_points_2
img3_points

Then, I compute the homography transformation of the left image so that its corresponding points can be matched with the points in the center image. Finally, I find the overlapping area between the two images and created a linear mask to blend the two images together to produce the mosaics.

Warped image 1
background with image 2
Linear Mask
Combined Image

The following are three examples using the techniques mentioned above to create image mosaics.

Example 1

original image 1
original image 2
original image 3
warped image 1
warped image 3
complete mosaic
cropped mosaic

Example 2

original image 1
original image 2
warped image 1
complete mosaic
cropped mosaic

Example 3

original image 1
original image 2
warped image 1
complete mosaic
cropped mosaic

Conclusion

The lesson I’ve Iearned from the project is that linear algebra is powerful in solving the transformation matrix and creating different effects of manipulating images. I’ve also noticed the difficulty when manually selecting the correspondence between images and I’m excited for the next part of the project for automatic alignment.