/spigel

Image comparison/hashing library

Primary LanguageTypeScript


Fast node library which implements many hashing algorithms and media manipulation bindings into a friendly API which discards the use of ML (Machine Learning) for image semelliance level classsification trough the use of pure math.

📒 Check our Documentation!

Give it a try 🌸

npm i spigel

🖼️ It's simple as:

import { compare } from 'spigel';

async function someFunction() {
const result = await compare('./example.png', './example2.png', { humanize: true });
// => { distance: 'different', hash: { hashA: '...', hashB: '...' } }
}

📝 ToDo List - Please, contribute!

  • Implement Dhash (Difference Hash)

  • Cleanup code & comments

  • Publish first release to GitHub

  • Make it able to be posted in NPM

  • Publish first release to NPM

  • Full Typescript conversion

  • Ensure support for cross-comparisons between strings and buffers

  • Implement pHash (Perceptual Hash)

  • Modernize our code's structure

    • Function to Class structure conversion
    • Convert algorithm functions to classes
    • Assert typings to algorithms
    • Humanize comparison results
  • Write a detailed documentation

  • First hikaku's major release

  • Project's name changed from "Hikaku" to "Spigel"