可以在Javascript中比较两个图像

Possible to compare two images in Javascript?

本文关键字:两个 图像 比较 Javascript      更新时间:2023-09-26

有没有办法比较两个文件名不同的图像文件? 所以我正在寻找它们是否与javascript相等。 这可能吗?

这个的用途:我有一个需要在灯箱中弹出的图像库。 当灯箱打开时,我正在挂钩回调以检查重复的图像,并在找到后将它们从灯箱图库中删除,以便用户不会看到重复的图像。

我想

你可以。伪代码:

  • 检查图像的宽度和高度是否相同。如果不是,它们就不一样了。
  • 创建一个画布,该画布将并排放置两个图像。
  • 在画布上绘制图像。
  • 逐像素比较它们。使用从 HTML Canvas 借用的 getPixel 的代码可以相当容易地完成此操作吗?
  • 请记住,一旦单个像素不匹配,就立即脱离循环。
  • 最坏情况的运行时将是 O(wh),当图像实际上相等时发生。

检查图像大小是否相等。

并且不要忘记检查宽度和高度。

查找图像文件大小

Tyler 是正确的,未经用户同意,您无法访问文件系统。

但是,如果您想比较可用于javascript代码的图像,例如通过使用url或使用上传字段,则应查看此SO问题:在JavaScript中比较两个图像

基本上,您将图像转换为canvas元素并使用base64值来比较两者,就像人们通过检查文档的校验和来确认文档是否"有效"一样。