In this project, you will make some basic image processing software.
Starting code: imageStartingCode.zip
(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
- Rotate 90 degrees
- Zoom in on the upper left quadrant
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.