CS 117 Assignment: Image Processing 2 (Assignments A, B, & C)


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. Note that assignments A and B are team assignments, and that assignment C is a team assignment. A description of which methods are part of which assignment is at the bottom of this web page.

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/dmusican 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, 4:55 PM)

Assignment "A" is a team assignment. It consists of getting the constructor, show methods, scale, crop, and gray methods 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 Monday, 2/14, 11:55 PM)

Assignment "B" is also a team assignment. It consists of getting circleCrop, blur, and dither working, and is due Monday, 2/14, by 11:59 PM. Submit all of your work (which includes assignment "A") in a directory called image2b.

Assignment "C" (due Wednesday, 2/16, 11:55 PM)

Assignment "C" consists of getting overlay working, and should be done individually. For this individual assignment, you may consult with others, trade ideas, and obtain help; but the code that you write should be your own. Submit your work (which includes assignments "A" and "B" from your teamwork) in a directory called image2c.

Good luck, and have fun.