CS 117 Assignment: Image Processing 2


For this assignment, we will get fancier in our ability to process images. We will now think of an image as a three-dimensional array of pixels: the first dimension corresponds to the rows, the second to the columns, and the third to the color bands.

This assignment will be due in two parts--part A on Friday 2/11 and part B on Wednesday 2/16. See the bottom of this page for details.

We will again use the EasyBufferedImage class, which gives us some of the basic tools that we need. Make sure to retrieve a new copy of EasyBufferedImage from the /Accounts/courses/cs117/ondich directory. While you're at it, grab a copy of either jackets.jpg or water.jpg, or obtain your own image instead if you like: you can use your picture from the Carleton directory or you can take your own picture with a digital camera.

Your mission is to create a class called ImageMultiProcessor that contains an EasyBufferedImage object as a private variable. This class will be similar in structure to the ImageProcessor class that you wrote for the last assignment, but with a different set of methods:

Test your program by writing ImageMultiProcessorTest.java. Check the return values from your methods, and print out text indicating whether or not your methods were successful.

Assignment A (due Friday, 2/11, 5:00 PM)

Assignment A consists of getting the constructor, the show methods, and the crop method working, and is due on Friday. You and your partner should submit ImageMultiProcessor and ImageMultiProcessorTest, along with any associated images, in a directory called image2a

Assignment B (due Wednesday, 2/16, 5:00 PM)

Assignment B is the rest: the scale, gray, circleCrop, blur, dither, and overlay methods. Submit all of your work (including the work for assignment "A") in a directory called image2b.

Start early, have fun, and let me know if you need help.