Project 3: An Image Collection
The purpose of this assignment is to give you more practice writing python as well as an introduction to working with the media tools.
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
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.
- 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.
- Take screen captures of your images. Alternatively use the JES function writePictureTo() to write the pictures to files.
- Make additional functions that modify the image. Be creative.
- Read ahead and use a conditional statement in your for loop to modify only some of the pixels.
- Make an image modification function that takes in at least one additional parameter, such as the amount to darken an image, and uses the value of the parameter to modify the image.
- Make use of other capabilities of the JES environment, such as using the ability to create arcs and lines to make a border for your image.
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.
- A brief abstract (200 words or less) describing the project.
- 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.
- Include any images or other output your program created. For this project, include a picture of your scene or scenes.
- Describe any extensions you implemented and show results for them.
- Give a brief (1 paragraph) description of what you learned.
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.