📸 Image Processor

June 2022

Image processor capable of blurring, sharpening, flipping, and applying various color filters to user-uploaded images. User selects a file from their computer, applies various edits, and can save the resulting image. This was created for Northeastern University's CS3000: Object-Oriented Design.

Java

Java Swing

MVC

Image Processor
👩🏻‍💻 Development

This is a pair-programmed project implemented using the Model, View, Controller design paradigm. It was developed iteratively, so only a few features were assigned at first but the goal was to keep our code adaptable to future needs. We accomplished this using the Command design pattern.

This was my first project involving file input and output and also taught me a lot about image manipulation techniques. One aspect of the project was the ability to support multiple image types including .jpg, .png, .bmp, and .ppm files.

This project also began with just a command-line interface, so users would upload files and execute text-based editing commands. This was functional but obviously not the best user experience since the user couldn't actually see what they were editing. The final iteration of this assignment was to develop a GUI using Java Swing. This was definitely one of the trickiest parts, but very rewarding since we could actually see the adjustments we were making to images in real-time.

💡 Future Ideas

In a future version of this project, I would love to redesign the GUI to look more modern, likely using a different framework. I would also love to integrate additional editing abilities - one that I think would be super cool is image compression like what I developed in my Seam Carving application.


© 2024 | Built byDessy Dusichka