This technique reduces the number of distinct colors in an image, to produce a visually similar but compressed image.It uses K-Means Clustering to group pixels of similar color. The K centroids of the clusters represent 3D RGB color space & would replace the colors of all points in their cluster resulting in the image with K colors. Here i have implemented using standard library and also from scratch