bdelespierre/php-phash

PHP中的pHash实现

v1.0.1 2020-08-20 22:23 UTC

This package is auto-updated.

Last update: 2024-09-04 18:16:05 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

计算图像的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)。请参阅许可文件以获取更多信息。