php imagemagick或其他找到拼图块x y坐标的方法

问题描述 投票:0回答:1

captcha

piece

我有两个图像,我需要在开始拼图的地方找到X坐标。开始时,我们只知道Y坐标-对于此图像,其51

这意味着我们可以在Y-51的一个像素行中裁剪图像并使用它-我在想这种方式,但是也许我们可以用另一种方式来做呢?

无论如何,我不知道下一步该怎么做-如何在php或cli中使用imagemagick找到X坐标

php image imagemagick pixel
1个回答
0
投票

您想使用Imagick::subImageMatch()方法。

Imagick::subImageMatch()

将用子图像匹配坐标更新$canvas = new Imagick("canvas.png"); $piece = new Imagick("piece.png"); $canvas->subImageMatch($piece, $offset, $similarity); 的位置。

$offset

[var_dump($offset); /* array(4) { ["x"]=> int(213) ["y"]=> int(72) ["width"]=> int(55) ["height"]=> int(55) } */ 将用一个浮点数更新,代表最佳匹配的接近程度。

$similarity

var_dump($similarity); // float(0.34148957886102) 也将返回“热图”,但这仅对调试扫描有用。

Imagick::subImageMatch()

$matches = $canvas->subImageMatch($piece, $offset, $similarity); $matches->writeImage('heatmap.png')

© www.soinside.com 2019 - 2024. All rights reserved.