CS 151: Project #3

Project 3: An Image Collection

Main course page

The purpose of this assignment is to give you more practice writing python as well as an introduction to working with the media tools.


  1. Make three additional functions that, like the greyVersion function, take an image as a parameter, duplicate the image, loop over the pixels to modify the duplicate, and then return the duplicate from the function.

    The book has a number of suggestions for how to modify the image. For this assignment, make all of your modifications work on a single pixel and its colors.

  2. As you write your functions, use your main function to test them out. When you are finished, the main function should get an image from the user, call your four functions that copy and modify an image, and show the original and the four modified versions.
  3. Take screen captures of your images. Alternatively use the JES function writePictureTo() to write the pictures to files.


Code Handin

Hand in your code for this assignment using the Moodle drop box. There will be a drop box for each week's assignment. You will have a single file to hand in this week, so there is no need to zip it.

In the unlikely (we hope) event that Moodle is down when you need to hand in your assignment, please email the python file to Professor Maxwell.

Please do not place code anywhere public. Do not include it in your writeups on the wiki, for example.


Each of you should create your own wiki page for your writeup. The writeup can be brief, but should include the following components.

  1. A brief abstract (200 words or less) describing the project.
  2. A more detailed description of what you did. For this project, give a description of each shape for which you made a function and highlight any interesting features, such as one shape function calling another.
  3. Include any images or other output your program created. For this project, include a picture of your scene or scenes.
  4. Describe any extensions you implemented and show results for them.
  5. Give a brief (1 paragraph) description of what you learned.

Colby Wiki

Please put the label cs151s09proj3 on your writeup page (down below the editing window on the edit tab). Please make sure you type the label exactly as given above.