Assignment 2
Handed out: | Thursday, October 15, 1998 |
Due: | 5pm, Tuesday, October 27, 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.
In addition to implementing the plugins, there are a set of questions
that you must provide written answers to. The written questions will count
for 40% of your grade.
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:
- Blur (separable and non-separable versions)
- 3 Compositing Operators (over, out, and xor)
- Magnify, Translate, and Rotate
Detailed specifications and the written
questions are available in a separate document. You should turn in a
total of 8 separate files, each implementing one of the above plugins or
variations. We have provided 8 skeleton files, which you should use for
your plugins; please don't change their filenames before submission, or our
automated grading system wil be a lot less automated and your tas will be a
lot less jolly.
Contrary to what the syllabus says, this assignment is to be completed
individually.
Deliverables
In addition to submitting the code and the written
answers for the questions, you are required to submit two still images and
two video sequences. You should create a web page that we can access that
contains the images and links to the videos. Here is some
information about how to create a web page from your Leland account.
Please verify that your page is accessible, there aren't permissions
problems, and that the links aren't broken.
Sequence 1
To create the example video sequence teapotHand.qt, we used some of the above plug-ins.
Once you have written your 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 as many of your plug-ins as you
can. Humor, artistic merit, and technical dazzle will improve your grade.
Still Images
Make two nifty still images using the framework.
Grading
The assignment will be graded on a scale of 100 possible
points. 40 points will be for the implementation and correctness of your
code and 40 points will be for the written component. Speed of execution
is not the most important part of this assignment, but you should try to
write your plug-ins without egregious inefficiencies. 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 and still images.
Extra Credit Up to 10 points of extra credit is available. To
get extra credit you can implement additional interesing plugins.
Suggestions include:
-
Minimize
-
Non-Linear Warp
-
Impressionistic Painting
-
Design your own operation (Check it out with a TA or Prof. Hanrahan before
implementing)
Additional Information
A number of additional documents are available to help you with this
assignment.
CS248: Introduction to Computer Graphics,
Pat Hanrahan, Fall 1998