Node.js module for color quantization, based on Leptonica.
npm install quantize
var quantize = require('quantize'); var arrayOfPixels = [[190,197,190], [202,204,200], [207,214,210], [211,214,211], [205,207,207]]; var maximumColorCount = 4; var colorMap = quantize(arrayOfPixels, maximumColorCount);
arrayOfPixels- An array of pixels (represented as [R,G,B arrays]) to quantizemaxiumColorCount- The maximum number of colours allowed in the reduced palette
The .palette() method returns an array that contains the reduced color palette.
// Returns the reduced palette colorMap.palette(); // [[204, 204, 204], [208,212,212], [188,196,188], [212,204,196]]
The .map(pixel) method maps an individual pixel to the reduced color palette.
// Returns the reduced pixel colorMap.map(arrayOfPixels[0]); // [188,196,188]
Licensed under the MIT License.