While I took a computer course in image manipulation algorithms in Java in August 2003 at the XLAB Göttingen, I left a codebase back implementing these algorithms. These have now been tidied up and put into a library. This is nothing sensationary, just basic algorithms to experiment with.
The worst thing that could happen in this course was that it was designed to use Java as programming language. Really none of the participants knew Java, only C-style basics (which helped a lot anyway), it was just a matter of implementing the algorithms in Java. A "picture" class was already programmed in the past, however since Java is too cumbersome to work with, I just wrote a quick implementation in C, and made it a command-line tool to read and write PPM files, which could then be displayed using xv.
Since others will probably also take part in this course some day, and I am pretty sure they do not know all of Java either, I provide the established codebase, especially the picture handling, which cost me about 2 hours of the 3 days, as an aid.
This established code base, now known as libxlg currently has
three parts: the picture handling
XLG_pic, general filter handling
XLG_flt and matrix storage
Matrices were about half of the whole course, so this got its own chapter. The library is very flexible in that about anything can be used interchangeably.