🎨 Simple color palette quantization using MMCQ
You can fetch this library by running the following
go get -u github.com/joshdk/quantize
import (
"image/color"
"image/jpeg"
"net/http"
"github.com/joshdk/preview"
"github.com/joshdk/quantize"
)
// Fetch the source image
resp, err := http.Get("https://blog.golang.org/gopher/plush.jpg")
if err != nil {
panic(err.Error())
}
// Decode jpeg contents
img, err := jpeg.Decode(resp.Body)
if err != nil {
panic(err.Error())
}
// Reduce image into a palette of 8 colors
colors := quantize.Image(img, 3)
palette := make([]color.Color, len(colors))
for index, clr := range colors {
palette[index] = clr
}
// Display our new palette
preview.Show(palette)
As an example, we can reduce a photo of the Go Gopher (source) into a color palette.
This library is distributed under the MIT License, see LICENSE.txt for more information.