PHP 5.4.31 Released

Imagick::compareImages

(PECL imagick 2.0.0)

Imagick::compareImagesCompares an image to a reconstructed image

Descrizione

array Imagick::compareImages ( Imagick $compare , int $metric )

Returns an array containing a reconstructed image and the difference between images.

Elenco dei parametri

compare

An image to compare to.

metric

Provide a valid metric type constant. Refer to this list of metric constants.

Valori restituiti

Restituisce TRUE in caso di successo.

Errori/Eccezioni

Lancia una ImagickException in caso di errore.

Esempi

Example #1 Using Imagick::compareImages():

Compare images and display the reconstructed image

<?php

$image1 
= new imagick("image1.png");
$image2 = new imagick("image2.png");

$result $image1->compareImages($image2Imagick::METRIC_MEANSQUAREERROR);
$result[0]->setImageFormat("png");

header("Content-Type: image/png");
echo 
$result[0];

?>

add a note add a note

User Contributed Notes 1 note

up
0
Tim K and Sam M @netflix
2 months ago
The *Absolute Error* metric is not listed as an available metric constant. However, you can still use it if needed by passing the internal constant definition for AE which is 1. This is useful when you wish to compare using a desired fuzz factor. Example:

<?php
// init the image objects
$image1 = new imagick();
$image2 = new imagick();

// set the fuzz factor (must be done BEFORE reading in the images)
$image1->SetOption('fuzz', '2%');

// read in the images
$image1->readImage("php_step29_actual.png");
$image2->readImage("php_step29_correct.png");

// compare the images using METRIC=1 (Absolute Error)
$result = $image1->compareImages($image2, 1);

// print out the result
echo "The image comparison 2% Fuzz factor is: " . $result[1];
?>
To Top