Image Compressor

Image Compressor is a project I completed as part of my studies. Its main goal was to create a Haskell application for compressing images by reducing the number of colors they contain, using the k-means clustering algorithm.

In this project, I primarily focused on the clustering aspect of image compression, specifically implementing the k-means algorithm. My application reads a file containing a list of pixels with their positions and colors, groups them into a specified number of clusters based on their colors, and then generates the clustered colors as output.

To compile the project, I included a Makefile that uses Stack for managing Haskell dependencies. I also adhered to specific guidelines regarding allowed dependencies and Stack configuration.

Made with:

Before

After

Repository Github: