CS 7321: Computer Vision I
Problem Set 3: Multiresolutions Images and Splining
Jiqun Wang
Index
The Problem
This problem set plays around with multi-resolution techniques
for images.
-
Implement the Adelson and Burt algorithm for splining overlapping images.
The input images can be of any size. This will involve writing programs
to compute the Laplacian pyramid for a given color image and the Gaussian
pyramid for image masks. Implement Expand and Reduce as the basic routines
for constructing the pyramids. You can use a 5x5 kernel with the weights
as given in the paper.
-
Use your program to spline a pair of color images of your choice.
-
Use your program to form a composite images using combinations of images
from http://www-astronomy.mps.ohio-state.edu/~dixie/animals.html
OR
-
Please feel free to gather images from the WWW or collect them via camera
or scanner.
-
For extra credit, compute an additional montage for a sequence of moving
video images.
-
Include a one page description of how your program works. Be sure to discuss
the assumptions and weaknesses of the particular technique employed. What
are the limitations of this image splining technique?
-
Include images showing the Gaussian and Laplacian pyramids for one of the
two images.
-
The program source and your output "spliced" images.
The Solution
-
Preparation of the images: convert them into three sub pictures in R/G/B formats for later use.
-
A covolution mask [5x5] is created.
-
Build reduce/expand funciton
- Reduce: It consists of Gaussian-low-pass filter. Reduce the the size of the matrix.
- Expand: subtract an Expanded version of each pyramid layer from the previous layer.
Expand() consists of supersampling the former version to the next higher size,
followed by filtering by the same Gaussian filter.
- Build the Laplacian/Gaussian pyramids for the images to be merged. Recursively run the
Reduce and Expand functions.
- Combining the images together at each
individual level, and recover the resulting Laplacian image to an actual image. (Sinlge color
factor)
- Combine the results above from three color subpictures to form the final result.
Assumptions and Weaknesses
Assumptions that I made:
- Merged images are aquare and of same size.
- Their dimesions are of 2^N +1.
Weaknesses:
- Strict lemitation of the input images (shape/dimension).
- Splining is executed at the central border of them. And the left 50% of the left image
and the right 50% of the right image are mixed. Only the pixels are the central line are
averaged. The efffect of the splined is not very good sometimes.
Possible Improvements
- The size of the image could be more flexible, by store the row/col info by a better data
structure.
- The splining area could be adjustable, or set a mask to locate a speticular area of one
image into another.
The Results
Left image
Right image
Splined image
Upper image (rotate before splining)
Lower image
new one
The Code