project image

Image Warping and Mosaicing

Shoot and Digitize Pictures

In order to ensure the correctness of the homography, and test image warping, I used the following images taken from my iPhone camera.

For the image mosaicing, I collected the following three sets of images from around Berkeley.

Recovering homographies

To annotate the points for the two images that I used for testing, I used my code from project 3 that uses matplotlib's ginput method. For example, I show the annotations in two images below (more are available in the Jupyter notebook):

Image Rectification

Using the image warp function, and by defining four corresponding points, the above two images were rectified to:

Note that two different sets of points had to be used (found out by trial/error), because of the difference in the shapes of the two objects.

Image Mosaic

The images above were transformed using weighted averages, and this produced the following mosaics:

Lessons Learnt

Images that have thin lines that stand out and need to line up (e.g. the third image above) requires very precise specification of the corresponding points in the two images for the wires to line up.

Complicated techniques need to be used for merging the warped images, otherwise the join points of the two images are visible in well-lit regions.