以编程方式比较图像 - lib或class

Chr*_*ris 5 php artificial-intelligence image image-processing image-recognition

我的目标是提供2个图像文件,并获得关于这2个文件是否可以相同(在可接受的确定程度内)的真/假响应.

我意识到这个问题属于人工智能,并且比它看起来要复杂得多,所以我非常怀疑自己能够(或者甚至想要)做到这一点.我正在寻找的可能是图书馆或班级.我正在使用PHP.

提前致谢..

所有有用的答案/评论都会被投票.

更新:

我想知道我是否过于复杂,也许像imageMagick(imagick)这样的更通用的库可以完成它吗?谁对imageMagick更有经验?

Pas*_*TIN 5

我没有尝试过,但也许Libpuzzle可以做到这一点(引用):

Puzzle库旨在快速找到视觉上相似的图像(GIF,PNG,JPG),即使它们已经过调整大小,重新压缩,重新着色或稍微修改过.

这是一个C库,但也带有命令行工具和PHP绑定.

PHP中一个例子.

(它似乎是一个PHP扩展 - 这意味着你需要管理你的服务器才能安装它)


Dis*_*oat 1

如果您只是比较自己的图像,http://tineye.com/可能会很有用。

您可能应该对图像相似性算法进行一些研究,尽管任何先进的技术都不适合像 PHP 这样的脚本语言。最简单的比较方法如下:

  1. 如果两个图像的尺寸尚未相同,请将它们设置为相同的尺寸。
  2. 比较每个相应的像素并确定它们的相似程度。最简单的方法是取红色值、蓝色值、绿色值之间的差值,然后对它们进行平均。
  3. 取所有像素的平均差值。如果它低于您决定的某个阈值,则图像是相同或相似的。您需要使用各种图像进行测试来确定阈值。

我并不完全熟悉 ImageMagick 和 PHP 的图像函数,所以不确定您是否可以完成所有这些。