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.