kodus / image-hash
Installs: 2 640
Dependents: 0
Suggesters: 0
Security: 0
Stars: 14
Watchers: 4
Forks: 6
Open Issues: 1
Requires (Dev)
- mindplay/benchpress: ^0.1.0
- mindplay/testies: ^0.3.1
This package is auto-updated.
Last update: 2024-10-25 19:33:17 UTC
README
This library implements the aHash, dHash and pHash image-hashing algorithms as described in this article.
It's based on this implementation but with a loader-abstraction for GD and Imagick support, added tests, and a benchmark.
Usage
To compare two images:
use Kodus\ImageHash\ImageHasher; $hasher = new ImageHasher(); $a_hash = $hasher->pHash("path/to/image-a.jpg"); $b_hash = $hasher->pHash("path/to/image-b.jpg"); if ($hasher->getDistance($a_hash, $b_hash) <= 2) { echo "same!"; } else { echo "different."; }
Substitute calls to pHash()
for aHash()
or dHash()
to use another algorithm, but note
that getDistance()
only makes sense for two hashes computed using the same algorithm.
Hashes are returned as a binary-mask string - use base_convert if you need a decimal or hex value.
Hacking
To run the tests:
php test/test.php
To run the benchmark:
php test/benchmark.php
If you hack on this library, be sure to run the benchmark before/after making changes.