Image processing and manipulation in JavaScript
Last updated 2 years ago by lexotrion .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @lexotrion/image-js 
SYNC missed versions from official npm registry.


NPM version build status Test coverage npm download

Image processing and manipulation in JavaScript.

API Documentation


$ npm install image-js


Supported image formats

The following formats can be loaded by image-js:

  • PNG (8 or 16 bits, color or greyscale, with or without alpha)
  • JPEG
  • TIFF (8 or 16 bits, greyscale)

The following formats can be saved by image-js:

  • PNG (8 or 16 bits)
  • JPEG
  • BMP (black and white)

Native support for various bit depths and image kinds

image-js was developed to be used in scientific applications where we often have to work on images that have more that 8 bits per channel.
Unlike many other libraries, if a 16-bit greyscale PNG is decoded, the resulting image has only one 16-bit channel and no pixel information is lost.

image-js can work with images that have 1 (binary), 8, 16 or 32 bits per channel.
It can accept an arbitrary amount of color channels (usually 1 or 3) and can handle an additional alpha component.

Basic image manipulation

image-js can be used to do simple image manipulations such as:

  • Resize
  • Crop
  • Rotate
  • Convert to greyscale
  • Invert colors
  • Gaussian blur
  • Extract individual channels (red, green or blue)
  • And more...


image-js implements a number of functions to get statistics about an image:

  • Histogram
  • Max, min, median value
  • And more ...

Advanced features for computer vision

  • Image thresholding (otsu, triangle, ...)
  • Regions of interest
  • Convolution with custom kernel
  • Sobel filter
  • Morphological transformations (open, close, erode, ...)


Contributions to code or documentation are welcome! Here are a few tips on how to setup a development environment for image-js.


The canvas native addon library is required for all tests to pass. Canvas-prebuilt is a drop-in replacement for canvas that does not require any compiling. No need to install native dependencies.



Current Tags

  • 1.0.2                                ...           latest (2 years ago)

3 Versions

  • 1.0.2                                ...           2 years ago
  • 1.0.1                                ...           2 years ago
  • 1.0.0                                ...           2 years ago
Maintainers (1)
Today 0
This Week 1
This Month 2
Last Day 0
Last Week 0
Last Month 6
Dependencies (24)
Dependents (0)

Copyright 2014 - 2016 © taobao.org |