travail / image-perceptualhash
travail/image-perceptualhash
Installs: 2 966
Dependents: 1
Suggesters: 0
Security: 0
Stars: 9
Watchers: 5
Forks: 4
Open Issues: 2
Requires
- ext-gd: *
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2024-12-14 20:42:33 UTC
README
NAME
Image\PerceptualHash - Generate comparable hash from images
SYNOPSIS
<?php use Image\PerceptualHash; use Image\PerceptualHash\Algorithm\DifferenceHash; use Image\PerceptualHash\Algorithm\PerceptionHash; // Create an instance of Image\PerceptualHash, at the same time calculate hashes // using hashing algorithm Image\PerceptualHash\Algorithm\AverageHash by default $ph = new PerceptualHash('/path/to/foo.jpg'); // Get binary hash $binary_hash = $ph->bin(); // Get hexadecimal hash $hex_hash = $ph->hex(); // Compare with another image, return a Hamming distance $distance = $ph->compare('/path/to/bar.jpg'); // Calculate a similarity $similarity = $ph->similarity('/path/to/baz.jpg'); // Calculate by other hashing algorithms $ph = new PerceptualHash('/path/to/foo.jpg', new DifferenceHash()); // or $ph = new PerceptualHash('/path/to/foo.jpg', new PerceptionHash());
DESCRIPTION
Image\PerceptualHash generates distinct, but not unique fingerprint with three hashing algorithms. Unlike cryptographic hashing, these fingerprints from similar images will be also similar.
DEPENDENCIES
- ext-gd
INSTALLATION
To install this package into your project via composer, add the following snippet to your composer.json
. Then run composer install
.
"require": { "travail/image-perceptualhash": "dev-master" }
or
"repositories": { { "type": "vcs", "url": "git@github.com:travail/php-Image-PerceptualHash.git" } }
TESTS
After cloning the project, run composer install
and ./vendor/bin/phpunit
.
$ git clone git@github.com:travail/php-Image-PerceptualHash.git
$ cd php-Image-PerceptualHash
$ composer install
$ ./vendor/bin/phpunit
METHODS
__construct
Image\PerceptualHash __construct($file, Algorithm $algorithm)
Creates a new instance of Image\PerceptualHash and calculates hashes.
$file
Path to a file or a resource of that.
Algorithm $algorithm
Hashing algorithm, currently the following algorithm are available:
- AverageHash
- DifferenceHash
- PerceptionHash
bin
string bin()
Returns calculated binary hash.
hex
string hex()
Returns calculated hexadecimal hash.
compare
int compare(string|resource $file)
Compares with another image and returns the Hamming distance to that.
$file
Path to a file or a resource of that.
distance
int distance(string $hash1, string $hash2)
similarity
double similarity(string|resource $file)
Calculates the similarity to another image.
$file
Path to a file or a resource of that.
AUTHOR
travail
LICENSE
This library is free software. You can redistribute it and/or modify it under the same terms as PHP itself.