🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

colour-extractor-fixed

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Package was removed
Sorry, it seems this package was removed from the registry

colour-extractor-fixed

Extract colour palettes from images

0.2.3
unpublished
latest
Source
npm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

colour-extractor-fixed

(This is a working version of josip's node-colour-extractor)

Extract colour palettes from photos using Node.js.

Before Installing

Download and Install ImageMagick here

NOTE: Windows users should check installation options as shown here.

For run-time issues, you can refer to this one.

Installation

$ npm i -g gm
$ npm i colour-extractor-fixed --save

NOTE: colour-extractor-fixed depends on gm module, which in turn depends on GraphicsMagick.

Sample

sample

Usage

colour-extractor-fixed exports two functions:

ce = require('colour-extractor-fixed')
ce.topColours('Photos/Cats/01.jpg', true, function (colours) {
  console.log(colours);
});

topColours function takes three arguments:

  • path to your photo,
  • true if you'd like the resulting array to be sorted by frequency, false if you'd like to get colours sorted as they appear in the photo (top-to-bottom),
  • a callback function.

Callback function will be passed an Array with RGB triplet of each colour and its frequency:

[
  [1,   [46, 70, 118]],
  [0.3, [0,   0,   2]],
  [0.2, [12,  44,  11]]
]

The second function, colourKey, returns an array with nine colours, where each one can be mapped to a 3x3 box, ie. super-pixelised representation of the photo.

ce.colourKey('Photos/Cats/999999.jpg', function (colours) {
  database.store('colour-keys', photoId, colours);
  res.send(colours);
  // render colours to user while they wait for the photo to load.
  // (or something equally brilliant)
});

Utilities

colour-extractor-fixed exports two more utility functions:

> ce.rgb2hex(100, 10, 12);
'#640a0c'
> ce.rgb2hex([44, 44, 44]);
'#2c2c2c'
> ce.hex2rgb('#ffffff');
[255, 255, 255]
> ce.hex2rgb('45c092')
[69, 192, 146]

How does it work?

That's what I'd like to know as well! Anyhow, colour-extractor-fixed parses GraphicMagick's histogram, tries to detect similar colours and remove ones which appear less frequently than others.

If you happen to know an actual algorithm that deals with this sort of stuff, don't hesitate to contact me!

License

colour-extractor-fixed is published under MMIT license, please see the LICENSE file for full details.

Photos used in the sample can be downloaded from Flickr:

Keywords

colour

FAQs

Package last updated on 12 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts