reptily/php-image-diff

Compares the image

1.0.0 2021-10-12 16:46 UTC

This package is not auto-updated.

Last update: 2024-06-06 04:12:37 UTC


README

composer require reptily/php-image-diff

Example

  1. A simple example for determining the difference between two images.

First image
68747470733a2f2f73756e392d32322e757365726170692e636f6d2f696d70672f496f436c364e465f4449646f674e6d754e53624942656239323334656777683737726f595f772f6a6b2d752d7478584b476f2e6a70673f73697a653d31303078313030267175616c6974793d3936267369676e3d623164353461633739383533343035643730346430626533363631313461343526747970653d616c62756d
Second image
68747470733a2f2f73756e392d36362e757365726170692e636f6d2f696d70672f6d57664b564b414d576f48477a484e63584e4f6a706b335372444975355a5f63636f665363512f6c7a5933486d68534568632e6a70673f73697a653d31303078313030267175616c6974793d3936267369676e3d323766653863306631666438336664333434366530343766636234316631336226747970653d616c62756d

<?php

require __DIR__ . '/vendor/autoload.php';

$image = new ImageDiff\Compares("1.png", "2.png");
try {
    $image->Diff();
    $image->getDiffImage("diff.png");
} catch (Exception $e) {
    var_dump($e);
}

Result image compares
68747470733a2f2f73756e392d37322e757365726170692e636f6d2f696d70672f4a58567355756b30522d636a53414f4243753756556a6b47624e7948447a5a4b634f485439672f55364e755a6d437573644d2e6a70673f73697a653d31303078313030267175616c6974793d3936267369676e3d613132626136663139623934373132343534616661633936316365393365316626747970653d616c62756d

  1. An example for cameras saw surveillance. Comparison sector definition.

First image
68747470733a2f2f73756e392d33352e757365726170692e636f6d2f696d70672f65456f7a5038645952546f5148595947714e486a4e6b75474a4f5653476144692d4d347a66412f6a4c5a304449326c5445772e6a70673f73697a653d36323578333531267175616c6974793d3936267369676e3d333662313638366533313138613630323530373135346237363832383039353426747970653d616c62756d
Second image
68747470733a2f2f73756e392d33382e757365726170692e636f6d2f696d70672f7733324c464b726546657a61705344416d6376346f4753574235662d3533335f75756a4345672f717a6f334a697070384e302e6a70673f73697a653d36323578333531267175616c6974793d3936267369676e3d646332653731336361366135373232623037306537653938653564633638333026747970653d616c62756d

<?php

require __DIR__ . '/vendor/autoload.php';

$image = new ImageDiff\Compares("1m.png", "2m.png");
$area = (new ImageDiff\Model\Area())
    ->setPositionX(350)
    ->setPositionY(50)
    ->setSizeWidth(190)
    ->setSizeHeight(160)
;
try {
    $image->Diff(5.0, $area);
    $result = $image->Result();
    echo "Count all pixels: " . $result->getCountAllPixels() . "\n";
    echo "Count error pixels: " . $result->getCountErrorPixels() . "\n";
    echo "Error percentage: " . $result->getErrorPercentage() . "%\n";
    $image->getDiffImage("diff.png");
} catch (Exception $e) {
    var_dump($e);
}

Print result:

Count all pixels: 219375
Count error pixels: 6455
Error percentage: 2.9424501424501%

Result image compares
68747470733a2f2f73756e392d31372e757365726170692e636f6d2f696d70672f496d7957435246624a6d53374a5059356f413553416b35506f59566d516b73756262463453512f44355739324d6b597776552e6a70673f73697a653d36323578333531267175616c6974793d3936267369676e3d303762323361636335663065363563306334386334363265343231306233323726747970653d616c62756d