Assignment 2
Handed out: | Friday, January 30, 1998 |
Due: | 5pm, Thursday, February 12, 1998 |
Description
Your assignment is to write a set of plug-ins for a
video-editing system and then create a special-effects video that shows off
the plug-ins you implement. The idea behind this assignment is to extend
the Adobe Photoshop paradigm of editing a single image using
image-processing techniques to editing a sequence of images that make up a
video sequence. We will provide a basic video-editing framework that
allows you to choose a sequence of frames and specify the image processing
algorithms you wish to run on that sequence. The video-editing framework
will also let you compose the image processing operations so that you can
perform several operations on each frame. We will also provide you with a
variety of content--images and animations that you
can use as input to your plugins. You will design and implement the image
processing plug-ins that perform the image processing algorithms on the
images.
Here is a quick overview of what is required for the assignment. We
will provide more information about the video-editing system and how to
implement the image-processing plug-ins below.
For this assignment the following sets of plug-ins are required:
-
Matte-Extraction
-
3 Compositing Operators (one of the three must be OVER)
-
Magnify and Translate
-
Blur
In addition, you may implement two or more of the following sets of plug-ins:
-
Rotation
-
Non-Linear Warp
-
Sharpen
-
Impressionistic Painting
-
Color Balance
-
Design your own operation (Check it out with a TA or Prof. Hanrahan before
implementing)
You are encouraged to work on this assignment in groups of two.
Every person is responsible for implementing four sets of plug-ins. For
two-person groups each person must implement two sets of plug-ins from
the required list and two from the optional list. If you choose to work
alone you must implement all four of the required sets of plug-ins.
Note: Most of the plug-ins you write will not require much coding.
We have provided a few simple plug-ins as examples and most of your plug-ins
will not contain much more code than our examples. However, there are subtleties
involved in implementing the plug-ins correctly and efficiently. You should
spend some time thinking about how you will implement each one. We provide
some hints below.
Deliverables
In addition to submitting the code for each of the plug-ins you implement
you are required to submit two video sequences.
Sequence 1
To create the output example video sequence teapotHand.qt we used only the four required sets of
plug-ins. Once you (and your partner) have written the required plug-ins
you should attempt to replicate our work and create a similar video. More
information is available about how this video
was made.
Sequence 2
Create a second video sequence using all of the plug-ins you (and your
partner) developed.
To turn in your final video sequences you must create a web page with
links to both sequences.
The complete submission process will be described later.
Grading
The assignment will be graded on a scale of 100 possible points. Up to
20 points will be awarded for each of the sets of plug-ins you write. Groups
of two must clearly specify which group member implemented each set of
plug-ins. The plug-ins will be checked for correct functionality. We will
also check to make sure you implemented the plug-in in a strightforward
manner and that it is relatively fast. Speed is not a major concern, but
you should try to write your plug-ins to be efficient. Up to 5 points will
be awarded for replicating the first video sequence and the majority of
the remaining 15 points will be awarded for creative and interesting uses
of your plug-ins in the second video sequence.
Extra Credit Up to 10 points of extra credit is available. To
get extra credit each person in a group must implement two more plug-ins
from the second list above. Up to five points will be given for a correct
implementation of the plug-ins and up to five points will be given for
creatively using the plug-ins in the second video sequence.
Additional Information
A number of additional documents are available to help you with this
assignment.
CS248: Introduction to Computer Graphics,
Pat Hanrahan, Winter 98