Programming Assignment 1
Due 5:59PM on Tuesday, February 10
In this assignment you will learn about image warping, resampling, and metamorphosis.
You will implement Beier's feature-based image metamorphosis algorithm.
The algorithm was published in an article that appeared in the Proceedings
of SIGGRAPH 92.
Directly Relevant Reading
- Beier and Neely, "Feature-based image metamorphosis,"
in Proc. SIGGRAPH 92, pp. 35--41. Note: There is a small typo
on page 37 of Beier-Neely: line 7 of the pseudocode should say D[i]=X'[i]-X,
not X'[i]-X[i].
- Cheng-Ling Lin's notes
on feature-based image metamorphosis
- Heckbert, P., Fundamentals
of Texture Mapping and Image Warping, Masters Thesis, Dept. EECS
UC Berkeley, June 1989.
Other Relevant Reading
- Burt and Adelson, "A
Multiresolution Spline With Application to Image Mosaics," in ACM
Trans. on Graphics, pp.2(4):217--236, October, 1983.
- Lee, Wolberg, Chwa, and Shin, "Image metamorphosis
with scattered feature constraints," IEEE Trans. Visualization and
Computer Graphics, 2(4):337--354, 1996.
- Seitz and Dyer, "View morphing," in
Proc. SIGGRAPH 96, pp. 21--30.
- Wolberg, G., Digital Image Warping, IEEE Computer Society Press,
ISBN 0-8186-8944-7, 1992.
Extra Credit
Use Burt and Adelson's multiresolution image splining to blend only that
part of the image which is "masked" via a binary image mask. For an example,
see the hand image in Burt and Adelson's paper listed above. Be sure to warp
both images and their binary image masks at each step in the metamorphosis,
before building the corresponding image pyramids. You are welcome
to download an implementation of pyramids from the WWW (i.e., you don't
have to write your own REDUCE and EXPAND functions). For instance, here are
some locations where example Matlab code is available:
Submitting Your Report
By the deadline, send the URL for your report WWW page to the grader: TBA
What You Turn In
Create an HTML document "p1.html" that describes your project. In the first
part of the report, write a paragraph that describes how your modules work.
Also include psuedo-code and equations for the procedures you developed for
your image morphing program. The detail you give should be sufficient for
someone else to implement your system.
Include at least three different image morphing sequences (grayscale or
color is OK). You should include either images or movie files as part of
the HTML document you create. If you complete the extra credit, please
include two additional sequences and also show the image mask employed at
each step in the morph. You should also include the source images used to
produce the morph.
Finally, include your source files, program executable, and Makefile.
Please be sure to tell us what computer platform (e.g., PC, Solaris) your
tool runs on.
The report you write should be clear and to the point. The code you submit
should be well-structured and clearly documented.