使用PHP比较图像中的形状

时间:2015-07-28 19:59:57

标签: php gdlib image-comparison

我正在尝试比较php中的形状。我有一个包含大量图像的数据库,在这些图像中有一个形状(大部分位于图像的中心)。现在我想将这些图像与Shape进行比较。

输入是一个形状(png),与数据库中的图像大小完全相同。

我制作了一个功能,它采用了形状的颜色并将其变为黑色(背景为白色)

输入如下: enter image description here

原件是这样的: enter image description here

我可以比较图像中的每个像素并跟踪有多少黑色像素是相同的,但这会占用大量的CPU,我认为它不会每次都有效。

我也可以使用像python这样的另一种语言,但我真的很想用PHP修复它。有没有人有想法以实际的方式做到这一点?

问题“Compare 2 images in php”中的anwser与我期望的不同。我需要比较图像的一部分(在示例中为白色背景,但背景中可能存在噪声)

1 个答案:

答案 0 :(得分:2)

这似乎可以用ImageMagick中的trimImage() function(命令行上的-trim标志)来实现。考虑到您已经能够将图像转换为黑色前景和白色背景,此功能应始终执行您想要的操作。此时只需比较您链接的问题中所述的图像。

这是使用填充在图像上的命令行上使用trim的结果:

enter image description here

我认为你所做的功能类似于to the algorithm in findimagedupes。如果没有,你应该借用这个想法。