CSEP 576 Project 1 -- Panorama
Rui Jiang
Test Sequence
| Test Sequence |
Test Sequence with Brighness Correction |
 |
 |
Home Panorama with Kaidan Head
Home Panorama by Hand
Panorama of Red Square
Whistle implemented - Brightness Correction
To correct brightness fluctuation between images, I initialize an array whose value is the
relative brightness of each image. For each image pair, compute the relative brightness
of overlapping area to get the ratio. And in the final blending, divide the RGB value by
its relative brightness.
However, I found that brightness may drift too. That is, the first and last image's relative
brightness may not be the same, even if they are actually the same picture. So I correct
the drift by a linear function, as correcting vertical drift of blending.
There might still be problem such as brigtness correction is too much that some
picture may be over corrected and have high brightness. I think in the future it's necessary
to limit how much we should correct the brightness.
Default is on for brightness correction in my program. To disable it, use:
v4gp1 pairlist.txt outimg.tga blendWidth noadjust
To enable brightness correction but disable brightness drift correction (for incomplete panorama), use:
v4gp1 pairlist.txt outimg.tga blendWidth nodrift
What worked well and what didn't
Pictures with complex scenes are most easily positioned. e.g., the panorama of red square worked
perfectly well without any editing of the pair list. However, I've run into problems with pictures
taken at home. The overlapping area of one pair has only a few horizontal changes (The wall close to
kitchen and powder room). Thus Lucas-Kanade completely failed to compute the correct vertical position.
I had to manually edit the generated pair list to make it work.
Hand help sequence could be difficult to line up. The problem may be cause by not positioning
the camera at the right angle, thus warping it to cylinder horizontally throught the center caused distortion.
|