Project: Chroma Keyer
Course: CS638 - Computer Graphics
Undoubtedly one of my favorite projects
of my academic career. Our assignment was to implement a chroma keyer. This
program would then be used to recreate the blue screen process that we have become
accustomed to seeing in the motion picture industry. We were also given still frames
from current movies to use as test cases. After that, the details were left up to
us. I was interested in creating a GUI (Graphical User Interface) and was successful
in implementing it. Creating a decent interface, though, was both fascinating and
challenging. Eventually, I settled on having one window with a wizard-like
interface. Using this would give the novice user a decent composite image with a
minimum of details. If you were more interested in fine-tuning your images, I gave
the user an option to modify the default settings within a second window, which you see
superimposed over the first window in the figure. These modified settings can then
be saved for later use. The benefits of this would be realized if the user were to
composite a scene on a frame-by-frame basis. Thus the user would not have to adjust
the settings on each frame, but just load the previous settings.
I have also included a sample of
an image in the various stages of composition. First, we see the actress filmed in
front of a blue screen, then the background, then the final composite. My program
allows the user to view any of these images individually, and the user can also view the
matte created by removing the blue from the foreground image. You also have the
option of importing from several file formats (QRT, 24-bit TARGA, 32-bit TARGA) and
exporting to 24-bit TARGA or 32-bit TARGA. Working with the existing file formats
was an enjoyable challenge. I enjoyed the fact that I was working with a real file
specification, and that I could import my own TARGA files and use them with my program as
well.