Skip to content

Compress any JPEG image using Unsupervised Learning (K-means clustering), with a fixed K value

Notifications You must be signed in to change notification settings

Moonshallow5/Image_Compressor

Repository files navigation

Image_Compressor

Screenshot 2024-10-26 190252 Screenshot 2024-10-26 190127 Screenshot 2024-10-26 190207

💡What's this project about

So, I wanted to learn more about Unsupervised Learning, having already completed a Coursera course on the basics of Machine Learning, making a simple K-means clustering program was an ideal way to further my Machine Learning Journey.

🔧How this project works?

Need an image which you can compress? In this program, you can upload an image and we will compress it for you

The K-means clustering is currently fixed on K=16 and number of iterations as 10 thus due to K in being a fixed value there will always only be 16 different types of colours in the image

🚧Challenges faced

The code for producing the K-means clustering was code from a Jupyter Notebook from Coursera's Machine Learning Specialization, but integrating it into my Flask project took a lot of time, as well as learning the documentation for tailwind.css and how to upload images into Flask

👀Future Implementations

  • Be able to compress PNG files and not just JPEG
  • Be able to use some image augmentation functions to increass quality of image while still making the image small in size
  • Be able to vary the amount of K and number of iteration for best image quality to file size

About

Compress any JPEG image using Unsupervised Learning (K-means clustering), with a fixed K value

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published