Wondering what’s next for npm?Check out our public roadmap! »

    phash

    0.0.5 • Public • Published

    node-phash

    node-pash is pHash bindings for node.js.

    Phash is a library that will create a "perceptual hash" of media files, so similar files will return similar hashes. Typically to compare hashes, a simple Hamming distance between the two hashes is a good indicator of how similar two media files are.

    Current version supports only image hashing. (no video & audio hashing)

    Build Status

    Installation

    node-phash depends on CImg, pHash, ImageMagicK.

    On Ubuntu:

    sudo apt-get install cimg-dev libphash0-dev libmagickcore-dev
    

    On OSX:

    brew install phash imagemagick
    

    Then, install using npm:

    $ npm install phash
    

    Functions

     
    // asynchronous hash
    imageHash(filename, function(err, hash));
     
    // synchronous hash
    var hash = imageHashSync(filename);
     
    hammingDistance(hash1, hash2);

    Usage

    var pHash = require("phash");
     
    pHash.imageHash("file.jpg", function(err, hash) {
        if (err) {
            throw err;
        }
     
        // hash is the pHash of file.jpg
    });
     
    var hashA = pHash.imageHashSync("a.jpg");
    var hashB = pHash.imageHashSync("b.png");
    var hammingAB = pHash.hammingDistance(hashA,hashB);
    console.log("Hamming Distance A -> B: " + hammingAB);

    Keywords

    none

    Install

    npm i phash

    DownloadsWeekly Downloads

    7

    Version

    0.0.5

    License

    none

    Last publish

    Collaborators

    • avatar