A basic image processing software written from scratch in Java based on the Model, View, Controller (MVC) design pattern. GUI implemented with the Swing library and automatic testing written in JUnit.
The program allows users to load images and apply filters such as blur, sharpen, brighten, greyscale, sepia, flip, mosaic etc. and save them as any supported image format (png, jpeg, bmp, ppm) through a usable GUI.