In this project, you will make some basic image processing software.
Starting code:
imageStartingCode.zip
Overview:
imagesOverview.html (Modified from text by Richard Wicentowski and Tia Newhall at Swarthmore College, the original authors of this assignment)
For additional image examples, see the original assignment at
http://www.cs.swarthmore.edu/~newhall/imagemanip/javaassn.html.
For part 1 (due on Blackboard by Thurs. April 24 at 11:59pm):
Implement the following features. See the overview (above) for details.
- Make negative.
- Remove all the red.
- Convert to greyscale.
- Flip vertically.
- Lighten the image by some amount.
- Darken the image by some amount.
- Scroll vertically
- Scroll horizontally
- Blur
- Rotate 90 degrees
- Zoom in on the upper left quadrant
- Polarize
For part 2 (due on Blackboard by Thurs. May 15 at 11:59pm):
Implement the following features. See the overview (above) for details
- Sort each row by Pixel value (by the average of each Pixel's R, G, and B components).
- Create a tiling effect (see overview for details)
- Change the code so that the user can select a file to edit using JFileChooser.
- Add two additional features to your program
Possible features to add to your program (but feel free to come up with your own improvements):
- Allow the user to save an image file.
- Add a feature to do edge detection on an image.
- Create a sliding puzzle game (description).
- Any other interesting image manipulation.
Grading: each part of the project is worth 100 points. Up to 5 extra credit points will be given
for the final project for additional features beyond the required ones.