CS120-Art-Show

Requirement

Write a Python program that creates a photo collage of modified images. The entire collage must be created entirely using only Python – no Photoshop, etc. allowed. (The only allowable use of Photoshop, etc. is to reduce the original resolution of a high resolution image to start with.) You should have a single function make all of this happen–all of the effects and compositing must occur from a single function named collage(). IT IS COMPLETELY ACCEPTABLE AND EXPECTED FOR collage() TO USE OTHER FUNCTIONS! I will setMediaPath() to your folder, execute collage(), and expect to see your collage get generated. For full credit, your completed collage must satisfy the following requirements:

  1. Start with a blank canvas that is 700 pixels wide by 515 pixels tall or 515 pixels wide by 700 pixels tall.
  2. Any number of different images may be placed on the blank starting canvas, but you must include the same image at least five times: once in its original form, and at least four more times modified in any way you want using at least four different modifications.
  3. Each of the four image modifications required above must alter the original image’s appearance in some noticeable way. At least one of the modification algorithms must be created or significantly modified by you, and not copied from another resource. Possible image modifications include, but are not limited to:
    • Grayscale
    • Crop
    • Lighten/darken
    • Negative
    • Scale
    • Sepia tone/cyanotype
    • Blend
    • Rotate/mirror
    • Line drawing/edge detection
    • Shift colors
    • Posterize
    • Added lines or shapes
  4. Develop a chromakey-like function to “sign” your collage by using a file containing your signature on a white background. Change corresponding pixels in your collage to a contrasting color when it detects the non-white pixels of your signature.
  5. The program should not prompt for any input, but rather have all files specified in your code. You should make use of the getMediaPath() function.
  6. The final collage that your program creates should be appropriate for all ages to view.
  7. All beginning images used in your collage must satisfy at least one of the following:
    • The image is owned by you, or you have documented permission from the copyright holder to use it.
    • The image is included in the “JPG Images.zip” file provided in the CS 120 area of Blackboard.
    • The image is available royalty-free in the public domain.

Your code should be hierarchically decomposed and use descriptive function and variable names. Additionally, make sure to include reasonable documentation comments throughout your code as you feel appropriate. At a minimum, include comments at the start of the code that includes your name and date. Additional comments should be included in your code similar to those used by the authors in the text book. Your code should be formatted similar to the text book authors’ examples. Include a reflection paper along with your submitted files. See Blackboard for a description of its content.

Completed projects may be posted online by the instructor (with attribution to you, unless you wish to remain anonymous) so that others can view your creations. Additionally, your completed project will be entered into a CS 120 Art Show. Details about the art show will be provided separately.

TO SUBMIT YOUR WORK FOR GRADING

Even if you feel your project is incomplete, turn in something before the due date and time. Whatever you turn in will be worth a few points! To submit your project, do the following.

  1. Place ALL of your files for the project into a single folder named project2. Don’t forget the image files and reflection paper, etc. Compress (zip) this folder, creating project2.zip.
  2. Log into Blackboard and enter the CS 120 part of the site. Go to the Projects area by using the “Projects” navigation button on the left side of the screen. Inside the Projects area, click on the “Project 2” link.
  3. Find the “request Submission” section. Click on the “Browse my Computer” button and locate your project2.zip compressed (zipped) file you created in step 1 above.
  4. Once you have attached your file, click on the “Submit” button in section 4 “Submit”, at the bottom right of the submission page. You should then receive a confirmation of your submission on your screen.