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()Imagick::subImageMatch
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Imagick::subImageMatch
Референца за `imagick.subimagematch.php` со подобрена типографија и навигација.
Imagick::subImageMatch
(PECL imagick 3 >= 3.3.0)
Imagick::subImageMatch — Searches for a subimage in the current image and returns a similarity image
= NULL
$Imagick, array &$offset = ?, float &$similarity = ?): (PECL imagick 2, PECL imagick 3)Searches for a subimage in the current image and returns a similarity image such that an exact match location is completely white and if none of the pixels match, black, otherwise some gray level in-between. You can also pass in the optional parameters bestMatch and similarity. After calling the function similarity will be set to the 'score' of the similarity between the subimage and the matching position in the larger image, bestMatch will contain an associative array with elements x, y, width, height that describe the matching region.
Параметри
Imagick-
offset-
similarity-
A new image that displays the amount of similarity at each pixel.
Вратени вредности
Примери
Пример #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();
}
?>