php + gd 的图像比较

2023-11-27

使用 php 比较两个图像的最佳方法是什么图形绘制 (GD) 库?

这是场景:

alt text

我有一张图像,我想找到给定集合中哪张图像与其最相似。 最相似的图像实际上是同一张图像,不是像素完美匹配,而是同一张图像。 我在示例中戏剧化了两个图像与第一张图像之间的差异,只是为了便于理解我的意思。

尽管它没有带来一致的结果,但我的方法是使用图像复制重采样函数并查看图像之间的 RGB 值有多接近。

从可能匹配的红色、绿色和蓝色十进制等效值中减去每个红色、绿色和蓝色十进制等效值的值的总和给了我一个相异指数,尽管它没有按预期工作,因为不总是RGB 最相似的图像是目标图像,我可以用来从可用目标中选择图像。

以下是将 4 个图像与目标图像(在本例中为苹果徽标)进行比较时的输出示例,与其中一个图像匹配,但并不完全相同:

原图:

红色:222 绿色:226 蓝色:232

比较:

http://a1.twimg.com/profile_images/571171388/logo-twitter_normal.png Red:183 Green:212 Blue:212 and an index of similarity of 56

红色:117 绿色:028 蓝色:028 相异指数 530

红色:218 绿色:221 蓝色:221 以及差异指数13 匹配正确。

Red:061 Green:063 Blue:063 and an index of dissimilarity 491

甚至可能无法比我已经得到的结果更好,我在这里浪费时间,但由于似乎有很多经验丰富的 php 程序员,我想你可以为我指出如何改进的正确方向这。

我对其他图像库持开放态度,例如iMagick, Gmagick or Cairo对于 php,但我宁愿避免使用除 php 之外的其他语言。

提前致谢。


我认为你的方法似乎是合理的,但将整个图像减小到 1x1 像素大小可能有点太过了。

但是,如果您将每个图像转换为相同的大小,然后计算每个 16x16(或 32x32、64x64 等,具体取决于您希望使用多少处理时间/功率)单元格中的平均颜色,您应该能够形成某种类型明智的(-ish)比较。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php + gd 的图像比较 的相关文章

随机推荐

  • 如何在WPF MVVM中调用窗口的Loaded事件?

    从我的 OnLoaded 事件创建命令很容易 处理程序代码 但如何从视图中调用它 从此不再切蛋糕 它调用 xaml cs 中的代码 我将如何创建一个 ICommand 相等的 您可以通过附加行为来完成此类事情 为了节省一些时间 看看 Mar
  • Promise.all() 被拒绝后的值,显示 [''PromiseStatus'']:如果存在 catch 块,则已解决

    我有两个承诺 一个被拒绝 另一个被解决 Promise all 被调用 当其中一个承诺被拒绝时 它执行了 Promise all 的 catch 块 const promise1 Promise resolve Promise 1 Reso
  • GTK 或 Qt 的图表小部件 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 GTK 或 Qt 是否有一
  • NuGet 包依赖项

    对于一个包对其他库的每个依赖项 这些库是否也需要解析和安装 例如 我创建了一个使用的包NLog Postsharp and WindowsAzure Storage 我的软件包的客户端现在也必须安装这些软件包吗 为什么不能将这些依赖项 DL
  • 没有可见的接口错误

    我的模型的实现文件中有一个错误 我已将其注释掉 我可以做什么来解决这个问题 提前致谢 import CalculatorBrain h interface CalculatorBrain property nonatomic strong
  • 为什么在 `array.length && ...` 的短路计算中呈现“0”

    目前 我看到这样的行为 render const list return div list length div List rendered div div 我的预期是在该条件下不会呈现任何内容 但会呈现字符串 0 字符串 0 是list
  • spring-mvc中如何传递参数来重定向页面

    我写了以下控制器 RequestMapping value logOut method RequestMethod GET public String logOut Model model RedirectAttributes redire
  • 检查在自定义 Chrome 选项卡中打开哪个网址

    chrome自定义选项卡中是否有类似于Webview的onPageStarted的功能 在 onNavigation 捆绑包始终为空 根据设计 Chrome 自定义选项卡不可能做到这一点 您可以知道用户已经导航 但无法知道他们去了哪里 看
  • 检测浏览器关闭/导航到其他页面并注销的最佳方法

    我正在 GWT 中编写一个应用程序 我需要检测用户何时离开我的应用程序或何时关闭浏览器窗口 onUnload 事件 并执行注销 会话失效和其他一些清理任务 注销操作由 servlet 执行 我目前正在通过挂钩 onUnload 事件并打开一
  • 检查 LatLngBounds.Builder 是否为空

    这是我的代码 LatLngBounds Builder builder new LatLngBounds Builder for int x firstVisibleItem x lt lastVisibleItem x builder i
  • 如何提取直接 Facebook 视频 url

    我正在尝试从 facebook 视频链接中提取 facebook 视频文件页面的 url 但我无法继续操作 例如 我的 Facebook 视频网址是 https www facebook com nerdandco videos 16621
  • 如何在 Woocommerce 中检查产品是否具有特定产品属性

    我想确定产品是否具有属性 例如 if product has attribute pa color do something 我怎样才能做到这一点 您只需使用WC Product method get attribute 这边走 If ne
  • 在 keras 中加载模型后的不同预测

    我在 Keras 中构建了一个序列模型 经过训练后它给了我很好的预测 但是当我保存然后加载模型时 我没有在同一数据集上获得相同的预测 为什么 请注意 我检查了模型的权重 它们以及模型的架构都是相同的 并使用 model summary 和
  • 使用 Java 邮件服务器进行测试

    我正在测试一个应用程序 该应用程序从邮箱中取出邮件 根据该邮件的内容执行某些操作 然后根据操作的结果发送响应邮件 我正在寻找一种为此应用程序编写测试的方法 理想情况下 我希望这些测试能够启动自己的邮件服务器 将我的测试电子邮件推送到该邮件服
  • 如何等待 Angular Google 地图将 getGMap 附加到控制对象

    我一直在尝试在google maps Map由创建的对象ui gmap google map指令来自Angular 谷歌地图库 我需要动态地执行此操作 因此 至少通过我的简短测试 似乎使用events上的参数ui gmap google m
  • ccAvenue 支付网关中 ios 9 中的安全错误

    在发布 iOS 9 之前 我将 ccAvenue paymeny 网关集成到我的 iOS 应用程序中 付款已成功转移到 iOS 8 中的商家帐户 当我在 iOS 9 中测试我的应用程序时 付款已转移到商家帐户 但显示安全错误 我也改变lib
  • 函数的返回类型是重整名称的一部分吗?

    假设我有两个具有相同参数类型和名称的函数 不在同一个程序中 std string foo int x return hello int foo int x return x 编译后它们会具有相同的损坏名称吗 返回类型是 C 中重整名称的一部
  • 如何从OpenStreetMap中找到路口?

    如何在OpenStreetMap中提取路口 我需要路口的经度和纬度 谢谢 曾经有过类似的问题here 没有直接的 API 调用来检索交集 但是您可以查询给定边界框中的所有方式 例如直接通过API或通过立交桥API 并查找由两种或多种方式共享
  • 仅从 ELF 二进制文件中提取我的函数名称

    我正在编写一个脚本 用于提取二进制文件中的所有函数 由用户编写 以下 shell 脚本提取我的函数名称以及一些以以下开头的库函数 readelf s a out gawk if 4 FUNC 3 0 7 13 8 main print b
  • php + gd 的图像比较

    使用 php 比较两个图像的最佳方法是什么图形绘制 GD 库 这是场景 我有一张图像 我想找到给定集合中哪张图像与其最相似 最相似的图像实际上是同一张图像 不是像素完美匹配 而是同一张图像 我在示例中戏剧化了两个图像与第一张图像之间的差异