Imagick::subImageMatch

(PECL imagick 3 >= 3.3.0)

Imagick::subImageMatchBusca una subimagen en la imagen actual y devuelve una imagen de similitud

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 de tal manera que una posición de coincidencia exacta es completamente blanca y si ningún píxel coincide, negro, de lo contrario un cierto nivel de gris entre ambos. Asimismo, pueden pasarse los argumentos opcionales bestMatch y similarity. Tras llamar a la función, similarity será definido en el 'puntuación' de similitud entre la subimagen y la posición correspondiente en la imagen más grande, bestMatch contendrá un array asociativo con los elementos x, y, width, height que describen la región correspondiente.

Parámetros

Imagick

offset

similarity

Una nueva imagen que muestra la cantidad de similitud en 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

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