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