Nested Parenthetical Madness

    phash-im

    1.0.1 • Public • Published

    phash-im

    Perceptual image hashing via imagemagick.

    NPM Build Status JavaScript Style Guide

    There are many ways to compute perceptual image hashes, with the open source pHash library being one of the most popular. After researching a few dozen different approaches, we've settled on imagemagick's implementation, for the following reasons:

    Install

    • Install a recent version of imagemagick >= v7 (brew install imagemagick on Mac OS).
    npm install --save phash-im
    # or 
    yarn add phash-im

    Usage

    const phash = require('phash-im')
     
    const hash1 = await phash.compute('./media/lena.png')
    const hash2 = await phash.compute('./media/barbara.png')
     
    const diff = await phash.compare(hash1, hash2)

    API

    phash.compute(input)

    Returns: Promise<Array<Number>>

    Computes the perceptual hash of the given image. Note that the result will be an array of 42 floating point values, corresponding to the 7 image moments comprised of 2 points each across 3 color channels RGB (7 * 2 * 3 = 42).

    input

    Type: String Required

    Path to an image file.

    phash.compare(hash1, hash2)

    Returns: Promise<Number>

    Computes the L2 norm of the two hashes returnd by phash.compute (sum of squared differences).

    hash1

    Type: Array<Number> Required

    Perceptual hash of first image.

    hash2

    Type: Array<Number> Required

    Perceptual hash of second image.

    Related

    • phash-imagemagick - Alternate version of this module which parses imagemagick output instead of using json.
    • pHash - A popular open source perceptual hash library.

    License

    MIT © Travis Fischer

    Install

    npm i phash-im

    DownloadsWeekly Downloads

    21

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    8.79 kB

    Total Files

    8

    Last publish

    Collaborators

    • fisch0920