bdelespierre / php-phash
PHP中的pHash实现
v1.0.1
2020-08-20 22:23 UTC
Requires
- php: ~7.3
- intervention/image: ^2.5
- symfony/console: ^5.1
Requires (Dev)
- phpunit/phpunit: ^9.3
Suggests
- ext-gd: to use GD library based image processing.
- ext-imagick: to use Imagick based image processing.
This package is auto-updated.
Last update: 2024-09-04 18:16:05 UTC
README
计算图像的pHash(感知哈希)以比较图像。
安装
您可以通过composer安装此包
composer require bdelespierre/php-phash
用法
vendor/bin/phash generate <image> vendor/bin/phash compare <image1> <image2>
require "vendor/autoload.php"; use Bdelespierre\PhpPhash\PHash; use Intervention\Image\ImageManager; $manager = new ImageManager(['driver' => 'imagick']); $phash = new PHash($manager); $hash = $phash->hash(new \SplFileInfo("image.jpg")); $bash_hex = base_convert($bits, 2, 16); echo $base_hex; // ffffef0001900000
使用汉明距离比较2个哈希值
$hash1 = $phash->hash(new \SplFileInfo("image1.jpg")); $hash2 = $phash->hash(new \SplFileInfo("image2.jpg")); $dist = 0; for ($i = 0; $i < $size ** 2; $i++) { if ($hash1[$i] != $hash2[$i]) { $dist++; } } echo "Hamming distance is: {$dist}";
测试
composer test
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件benjamin.delespierre@gmail.com联系,而不是使用问题跟踪器。
致谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。