palette-simple
generate reduced color palette versions of an image
uses skmeans
clusters
Installation
npm i palette-simple
Usage
var imgPalette = require('palette-simple').imgPalette;
var img = require('image-sync').read('./cat.png');
var numberOfColors = 8;
//imgPalette(data, numberOfColors, skipBuildImage=false) //data is flat uint8 array [r,g,b,a,r,g,b,a ... ]
var dataPalettized = imgPalette(img.data, numberOfColors); //returns {palette, data}
var theColorPalette = dataPalettized.palette;
console.log(theColorPalette);
// palette with 8 colors
// [
// [ 158, 130, 122 ],
// [ 97, 71, 65 ],
// [ 200, 175, 165 ],
// ...
// ]
img.data = dataPalettized.data;
img.saveAs('./cat2.png');