我正在尝试比较 php 中的形状。我有一个包含很多图像的数据库,在这些图像中有一个形状(主要在图像的中心)。现在我想将这些图像与形状进行比较。
输入是一个形状 (png),其大小与数据库中的图像完全相同。
我做了一个函数,它采用形状的颜色并将其变成黑色(背景变成白色)
我可以比较图像中的每个像素并跟踪有多少黑色像素相同,但这会占用大量 CPU,我认为它不会每次都有效。
我也可以使用另一种语言,如 python,但我真的想用 PHP 解决这个问题。有没有人有想法以实用的方式做到这一点?
问题“Compare 2 images in php”中的答案与我预期的不同。我需要比较图像的一部分(在示例中是白色背景,但背景中可能有一些噪点)
最佳答案
这似乎可以用 trimImage()
function 来实现在 ImageMagick 中(命令行上的 -trim
标志)。考虑到您已经能够将图像转换为黑色前景和白色背景,此功能应该始终如您所愿。此时只需比较您链接的问题中所述的图像。
这是在带填充的图像上在命令行上使用 trim
的结果:
我假设你做的功能是相似的 to the algorithm in findimagedupes
.如果没有,您应该借鉴这个想法。
关于php - 用 PHP 比较图像中的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31685967/