In this project, we use compute homographies so that we can do projective transforms and then we use warping and blending to construct mosaics. We take two or more photographs and create an image mosaic by registering, projective warping, resampling, and compositing them.
After shooting pictures of different scenes from different perspectives, we compute homographies between them, or in the case of rectification, we pick points on a blank canvas so that we can transform into that perspective. To solve for homographies, given pairs of points, p and p', we have equation of the form Ah = b where for each point, we have 2 rows in A of the form [x, y, 1, 0, 0, 0, -xx', -yx'] and [0, 0, 0, x, y, 1, -xy', -yy']. We use least squares to solve for the parameters of h and we obtain our homography matrix, which adds a scaling factor of 1 into the final entry of the matrix.
Original Laptop
Rectified
Original Monitor
Rectified
In this part of the project, we take 2 or more photos and warp one into the perspective of the other. Then, we align the photos and blend them together using Laplacian blending as done in project 3. The results are below.
SF Originals
Naive Blend
Mosaic
Crop
Room Originals
Mosaic
Crop
Kitchen Originals
Mosaic
Crop
I learned about how we can use homographies and transformations to create cool panoramas and mosaics using other techniques we've used in the past as well, including warping and blending.
Harris Corner vs ANMS
Feature Matching
RANSAC
Results
Manual vs Auto Kitchen
Manual vs Auto Room