Ryan Meyer

CS 194-26 Project 5A

1 Shoot pictures

Here are all of the paired photos I took for this project. Due to the shelter in place currently in effect, I took all of my pictures inside the game Minecraft. This allowed me to build/use any structure, as well as know the planarity of structures, and easily change the field of view or location of my picture.

Recover Homographies, Image warping and rectification

For this section, I wrote code which can estimate the homographic transformation from one set of points to another using least squares to minimize the error in a linear equation of the transformation parameters. Then, I use inverse warping to transform the original images. By specifying points which are frontal-parallel, I can warp an image where the planar surfaces are misaligned with the camera view into an image where they are more closely aligned.

In this image, I attempted to make the road in the original be horizontal to the camera view.
In this image, I attempted to make the vertical road and building face flat to the camera.
<
In this image, I attempted to make the tree straight vertical while preserving the horizontal horizon line.

Mosiacs

By warping one of two images of different perspectives into the other, then blending the result, one can create mosiacs or panoramas. With manually specified correspondences, the final images are not perfectly aligned and have some ghosting, but I tried to get them as close as possible to the appearance of a single photo. For the next part of the project, I need to improve my blending and cropping of the warped images, and then implement an automatic point correspondence model.