Panoramas: Project 2

Robert Carroll
CSE455 Computer Vision
Project 2 Artifact

These panorama's we're all made using gradient domain blending. Instead of blending pixel values the image gradients are blended, and then the image that best fits the blended gradients is recovered using a least squares fit. I also contrained to the entire left and right column of pixels to their original values so that they would match up in the viewer. Gradient domain blending helps adjust for exposure difference between images. It also lets you use a very small blend width (I got good results with just 2 pixels) without noticable seams. This helps prevent ghosting of objects that move while the photos are taken or caused by misalignments.

Images that were significantly darker than others in the sequence tended to look a bit washed out in the panorama. I believe this is because the gradient domain blending will try to adjust brightness by adding or subtracting a constant value accross that entire image. A better adjustment would probably be to mutliply every pixel value in that image by some constant.

As a side effect I noticed that the the gradient domain blending actually filled in the black areas on the top of the panorama bacause the gradients along these borders were set to zero. For some reason this didn't happen on the bottom, somehow due to the way the gradients were accumulated.

Other Bells and Whistles:
Sub-Pixel Blending
I'm in one panorama 3 times!

Original Images

full resolution jpeg

Sequence 1 taken with Kaidan head

full resolution jpeg image

panoramic viewer

Sequence 2 taken with Kaidan head

full resolution jpeg image

panoramic viewer

Sequence taken by hand

full resolution jpeg image

panoramic viewer