Skip to content

color quantization using kmeans+++ for clustering and CIEDE2000 algorithm for color distance

Notifications You must be signed in to change notification settings

goldensunliu/major-colors

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

major-colors

Color segmentation using kmeans+++ for clustering and CIEDE2000 algorithm for color distance.

Color Palette Picker App/Demo - Attempt to generate the optimal color palette given an image

Blog Post

Client-only!

This implementation relies on the canvas api to process the image

Install

npm i major-colors
yarn add major-colors

Usage

import MajorColors from 'major-colors'

const majorColors = new MajorColors(imageDomNode);
const { clusterResult, colors } =
  majorColors.getMajorColors({ numberOfColors: 5, quality: .10});

Outputs

colors [[number]]

an array of arrays which represent the colors in RGB vector

clusterResult - raw cluster ouput from k-means-plus

type result = {
  model: {
    observations: [[number]], // the original vectors: colors in Lab space
    centroids: [[number]], // vectors of final cluster centers: colors in Lab space
    assignments: [number] // mapping from index of original vector to the index of cluter center it belongs to
  },
  iterations: number, // number of iterations ran before converging
  durationMs: number // the duration of the algorithm
}

About

color quantization using kmeans+++ for clustering and CIEDE2000 algorithm for color distance

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published