Programming Assignment 1

Due 11:59pm Thursday, February 9

In this assignment you will learn about image warping, registration and compositing algorithms. 

Implement the image mosaic algorithm described in:
  1. Richard Szeliski, "Video mosaics for virtual environments," IEEE Computer Graphics and Applications, 16(2):22-30, March 1996.
  2. Richard Szeliski and Heung-Yeung Shum, "Creating full view panoramic mosaics and environment maps," Proc. ACM SIGGRAPH, 1997.
You must demonstrate your method on two of the following image sets: arches, panorama, chapel.  In the case of the panorama, feel free to choose any four images for use in your image mosaic.

In addition you must demonstrate your method on one other image set (three or more images) of your choice.

Extra Credit

Use Burt and Adelson's multiresolution image splining method in smooth compositing of registered images. Be sure to warp the image(s) and binary image masks that define areas of overlap at each step in the stitching, before building the corresponding image pyramids.   You are welcome to download an implementation of pyramids from the web; in other words, you don't have to write your own REDUCE and EXPAND functions.
  1. Burt and Adelson, "A Multiresolution Spline With Application to Image Mosaics,"  in ACM Trans. on Graphics, pp.2(4):217--236, October, 1983.

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 mosaic example images in the web report -- both the input images and the output mosaic. Grayscale or color images are acceptable. 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 mosaics and also show the image mask employed. 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.
Send me email with the URL for your report web page by the deadline.