Perceptual image hash for node.js
npm install node-image-hash
const imageHash = require('node-image-hash');
imageHash
.hash('buffer/or/path/to/file/', 8, 'hex')
.then((hash) => {
console.log(hash.hash); // '83c3d381c38985a5'
console.log(hash.type); // 'blockhash8'
});
Returns: ES6 Promise
, resolved returns hash string in specified format and length (e.g. 83c3d381c38985a5
)
Parameters:
filepath
- path to the image, orBuffer
bits
(optional) - hash length [default:64
]format
(optional) - output format [default:hex
] (Available:hex
,latin1
,base64
,binary
)
By default, .hash
generates new node.js processes to calculate the hash.
.syncHash will calculate the hash
in the same node.js process (About 2.3x times slower, depending on your CPU)
Close all underlying workers. If you use the asynchronous hashing algorithm, you need to call this at the end of your program to close all currently open workers. Otherwise, your program may keep running until manually interrupted.