Imagick::subImageMatch

(PECL imagick 3 >= 3.3.0)

Imagick::subImageMatchDescription

Descripción

public Imagick::subImageMatch(Imagick $Imagick, array &$offset = ?, float &$similarity = ?): Imagick

Busca una subimagen en la imagen actual y devuelve una imagen de similitud tal que una ubicación que coincida exactamente es completamente blanca, mientras que si no coincide ningún píxel, negra, o, de otro modo, algún nivel de gris intermedio. También se pueden pasar los parámetros opcionales 'bestMatch' y 'similarity'. Después de llamar a la función, 'similarity' se establecerá a la «puntuación» de la similitud entre la subimagen y la posición coincidente de la imagen más grande, bestMatch contendrá un array asociativo con los elementos 'x', 'y', 'width' y 'height', los cuales describen la resión coincidente.

Parámetros

Imagick

offset

similarity

Una nueva imagen que muestra la cantidad de similitud de cada píxel.

Valores devueltos

Ejemplos

Ejemplo #1 Imagick::subImageMatch()

<?php
function subImageMatch($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick2 = clone $imagick;
$imagick2->cropimage(40, 40, 250, 110);
$imagick2->vignetteimage(0, 1, 3, 3);

$similarity = null;
$bestMatch = null;
$comparison = $imagick->subImageMatch($imagick2, $bestMatch, $similarity);

$comparison->setImageFormat('png');
header("Content-Type: image/png");
echo
$imagick->getImageBlob();
}

?>

add a note add a note

User Contributed Notes 1 note

up
0
inipel at ya dot ru
3 years ago
After $ im->cropImage method, $ im->subImageMatch doesn't work, before using $ im->subImageMatch, use $ im->setImagePage(0, 0, 0, 0);

The sequence is as follows:
$ im->cropImage();
$ im->setImagePage (0, 0, 0, 0);
$ im->subImageMatch()
To Top