Demonstrated lossy image compression using K-Means clustering to reduce millions of pixel colors down to a user-selected K palette. Built as part of a Coursera machine learning course with an interactive slider to adjust compression level.
Tools: Python, K-Means, NumPy, interactive visualization
Repo: GitHub

Smooth color transitions across the full RGB color space.

After clustering, clear color banding with only 16 representative colors (default K=16).

Side-by-side original vs. compressed image. K value adjustable via slider.
Higher K values preserve more detail at the cost of less compression.