加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

算法 – 如何测量两个图像之间的相似性?

发布时间:2020-12-14 03:26:26 所属栏目:大数据 来源:网络整理
导读:我想比较一个应用程序(可能是一个网页)与以前截取的屏幕截图,以确定应用程序是否正确显示自己的屏幕截图。我不想要精确匹配比较,因为方面可能会略有不同(在Web应用程序的情况下,根据浏览器,一些元素可能在一个稍微不同的位置)。它应该给出一个度量如何类
我想比较一个应用程序(可能是一个网页)与以前截取的屏幕截图,以确定应用程序是否正确显示自己的屏幕截图。我不想要精确匹配比较,因为方面可能会略有不同(在Web应用程序的情况下,根据浏览器,一些元素可能在一个稍微不同的位置)。它应该给出一个度量如何类似的截图。

有没有一个库/工具已经这样做?你将如何实现它?

解决方法

这完全取决于你想要算法的聪明程度。

例如,这里有一些问题:

>裁剪图像与未裁剪图像
>添加了文字的图片与未添加文字的图片
>镜像

我看到的最简单和最简单的算法是为每个图像执行以下步骤:

>缩放到小的像64×64或32×32,忽略宽高比,使用组合缩放算法,而不是最近像素
>缩放颜色范围,使最暗的是黑色,最轻的是白色
>旋转和翻转图像,使最重要的颜色是左上角,然后右上角是下一个更深,左下角是下一个更深(尽可能的)

编辑组合缩放算法是一种缩放算法,当缩放10像素到一个将使用一个函数,它获取所有这10个像素的颜色,并将它们组合成一个。可以使用像平均值,平均值或更复杂的算法,如双三次样条。

然后计算两个图像之间逐像素的平均距离。

要在数据库中查找可能的匹配,将像素颜色作为单独的列存储在数据库中,对其中的一些进行索引(但不是全部,除非您使用非常小的图像),并执行一个查询,像素值,即。每个图像,其中小图像中的像素在要查找的图像的-5和5之间。

这很容易实现,运行相当快,但是当然不会处理大多数高级差异。为此,你需要更多的高级算法。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读