Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

imghash

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

imghash

Image perceptual hash calculation for node

  • 0.0.9
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

imghash build npm Libraries.io dependency status for GitHub repo NPM

Promise-based image perceptual hash calculation for node.

Installation

npm install imghash

:information_source: You can find the command-line interface here.

Basic usage

const imghash = require("imghash");

const hash1 = await imghash.hash("./path/to/file");
console.log(hash1);  // "f884c4d8d1193c07"

// Custom hex length and result in binary
const hash2 = await imghash.hash("./path/to/file", 4, "binary");
console.log(hash2);  // "1000100010000010"

Finding similar images

To measure similarity between images you can use Hamming distance or Levenshtein Distance.

The following example uses the latter one:

const imghash = require("imghash");
const leven = require("leven");

const hash1 = await imghash.hash("./img1");
const hash2 = await imghash.hash("./img2");

const distance = leven(hash1, hash2);
console.log(`Distance between images is: ${distance}`);
if (distance <= 12) {
  console.log("Images are similar");
} else {
  console.log("Images are NOT similar");
}

API

.hash(filepath[, bits][, format])

Returns: ES6 Promise, resolved returns hash string in specified format and length (eg. f884c4d8d1193c07)

Parameters:

  • filepath - path to the image (supported formats are png and jpeg) or Buffer
  • bits (optional) - hash length [default: 8]
  • format (optional) - output format [default: hex]

.hashRaw(data, bits)

Returns: hex hash

Parameters:

  • data - image data descriptor in form { width: [width], height: [height], data: [decoded image pixels] }
  • bits - hash length

.hexToBinary(s)

Returns: hex string, eg. f884c4d8d1193c07.

Parameters:

  • s - binary hash string eg. 1000100010000010

.binaryToHex(s)

Returns: hex string, eg. 1000100010000010.

Parameters:

  • s - hex hash string eg. f884c4d8d1193c07

Further reading

imghash takes advantage of block mean value based hashing method:

Keywords

FAQs

Package last updated on 07 May 2021

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc