CS6825: Computer Vision

Project 3: Green Screen

UNDER CONSTRUCTION

Due   Oct. 28
(points 100-BINARY)


    Green-Screen Technology is the concept where a person stands in front of a green screen and their picture is digitized (image1). Then using another image as a background image (image2), say a picture of a Florida beach, the two images are composited together. Every pixel in the original image where the green screen is present is replaced with the same pixel from the background image and the resultant "composite" image is displayed on the computer. Thus, a person looks like they are standing on a beach in Florida.

    This project involves group team work. We will split up into three groups, each developing their own green screen system. For both phases you are to work together in your assigned group. Each group will designate two people to take on the following roles: supervisor, secretary. The supervisor will be responsible for tracking that everyone is doing the work allocated to them as well as with the secreatry will report progress via blackboard to your instructor and the rest of the class. Everyone must partcipate in both phases of this projects. Also, EVERYONE must be able to understand and reproduce the code created in Phase2. If you do not individually complete the portion of the work allocated to you as stipulated by the supervisor, you will not be given credit on that phase of the project. This work must then be redistributed by the supervisor to the rest of your group.

    You are to write a GUI Java application to implement your Green Screen system.  

    Phase1

    In this phase, your group is to work together to set up the laboratory so that the Green-Screen Process can take place. You are to organize by designating a group leader/supervisor and then create a plan and implement it to accomplish the following tasks. You will be given some time in class to do this process and may need to work together outside of class. You can use reference materials in the image lab on the Matrox system if you wish to accomplish the tasks.:
    1. Hang the Green Screen and mark where camera is to be placed.
    2. Write up instructions (in HTML) on how to use camera/PC digitizer.
    3. Write up instructions (in HTML) on how to set up camera/PC, lights, etc. for Green-Screen deemonstration.
    4. Create the above materials in HTML, and print out a copy and place in a Binder labeled Green Screen System.

       


Phase2

You are to create a program that will let the user:
  • Take input of background and green image from the Hard drive (or diskette) you can prompt the user for the name of the file and assume the same sized and format of images.
  • An option of the program is whether or not the user wishes to save the merged image to a file.

 

 

Requirements:

1) The program must accept either JPEG or GIF images.

2)  The program must display the original and processed images.

3)  The program gives the user the option to save the processed image.
 

Note: You may use our sample partial code to get you started. Again the program should be a Java GUI application.

  • See the comments in the code, to help you get started.
  • Change the loading of images to use MediaTraker class to make sure the image loaded successfully.
  • You will need to use PixelGrabber class to grab data into an array that you can manipulate.

 


Deliverables

  1. HTML paper on how you designed your Green Screen Program.  Describe your approach and why you decided to take it. Show results on the 2 images above. Discuss how you might improve your algorithm.
    Upload HTML w/images, etc. to one person's server account. Print out this HTML paper and write on top the URL of its location. A section of this paper should be labeled "Green Screen System Manual" that contains information on how to run the system and set it up as well as shut it down.
    • a) Lab Setup (camera placement, etc.)
    • b) Location of Program, how to run it.
    • c) Lab Shutdown
    • d) Some previous sample results
  2. Fully comment and test out program.
  3. Turn in diskette with all java code and compiled class files needed to run the program. IF YOU use additional classes not in standard Java, you need to have all of the files here...make a JAR file.
  4. Printout of code, fully commented, with YOUR NAME ON TOP, and INSTRUCTIONS ON HOW TO RUN THE CODE FROM YOUR DISKETTE.
  5. A one-page describing how code is structured and the state of how it works.
  6. Print outs of screen shots of program working showing the results of: image loading and display of image before and after processing.

© Lynne Grewe