Image Warping and Mosaicing

Ronit Slyper

Bells & Whistles

I implemented inverse cylindrical projection, and used this in combination with auto-alignment to create a 360 degree panorama of the graphics lab. If the images seem a little grainy, it is because I took them without a flash, and thus had to increase the exposure time - in reward, the panorama accurately shows the uneven lighting in the lab. If the images don't seem a little grainy, pretend I didn't say anything.
I was going for a high-resolution image, and, Matlab being matlab, I had to jump through some hoops to get it to not run out of memory. I added images one by one to the panorama, and saved off parts of the composite panorama when it started getting too long (>3000 pixels). The resulting 5 pieces I assembled in the gimp.

It has been noted that everyone in our lab is named Jim, except for Chris. The large full version is hosted on my website here.

Autoalignment

Autoalignment was implemented.
Harris corner pointsANMS points subsetmatched pointsRansac-chosen inliers
Result:

Image Rectification

The stated region is warped to a square.
Blue monitor
White poster
Second from left
overhead sign

Image Mosaicing

My warpImage function returns the warped image, and the x,y offset of the image. My compositeImage function takes two images and their offsets, and returns the composite and its x,y offset. In this way I can build up mosaics space-efficiently.
Alpha. I create alpha images separately in the Gimp. In my compositeImage function, I feather the alpha values of the second image, and combine the first and second images & their alpha values using the alpha blending equations taught to us in class.
All together: , proving that it might be time to start heading to spherical coordinates.