【问题标题】:comparing images programmatically - lib or class [closed]以编程方式比较图像-lib或类[关闭]
【发布时间】:2010-12-06 11:44:36
【问题描述】:

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

我意识到这个问题属于人工智能范畴,而且比看起来要复杂得多,所以我非常怀疑自己能否(或者甚至想)自己做。我正在寻找的可能是一个库或一个类。我正在使用 PHP。

提前谢谢..

所有有用的答案/cmets 都投票了..

更新:

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

【问题讨论】:

  • 你所说的“相同”是什么意思?具体来说,您的意思是完全相同,相同的像素等吗?或被人看时看起来相似;还是介于两者之间?
  • 我的目的可能是一样的;图像 1 只是图像 2 的裁剪,是图像 2 改变了一些颜色,是图像 2 重新调整大小或类似修改。我的需求不止于此,但解决这些问题可能是一个好的开始。
  • 好吧,实际上看起来相当困难,而且你可能需要一个严肃的工具或聪明的算法(就像 Pascal Martin 建议的那样)才能让它工作。 (但即便如此,Libpuzzle 算法似乎也不适用于裁剪图像。)

标签: php image image-processing artificial-intelligence image-recognition


【解决方案1】:

我没有尝试过,但也许 Libpuzzle 可以解决问题(引用)

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

这是一个 C 库,但也是自带的 使用命令行工具和 PHP 绑定。

在 PHP 中有一个例子there

(这似乎是一个 PHP 扩展——这意味着您需要成为服务器管理员才能安装它)

【讨论】:

    【解决方案2】:

    【讨论】:

    • 我遇到过其中一些帖子和其他帖子。不过我的需求不一样。我正在寻找可以作为最终用户使用的现成实现。
    【解决方案3】:

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

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

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

    我对 ImageMagick 和 PHP 的图像函数并不完全熟悉,所以不确定你是否能做到所有这些。

    【讨论】:

    • 感谢您的回复。会看看tineye。
    • 实际上,现在我看着这个小眼,听起来很适合我的需要。我想我会通过他们去做那部分。我唯一希望他们有一个用于自动化的 API。
    猜你喜欢
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多