CSEP 576 Project 1 -- PanoramaTest Sequence
Home Panorama with Kaidan Head
Home Panorama by Hand
Panorama of Red Square
Whistle implemented - Brightness CorrectionTo 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'tPictures 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. |