计算图像之间的差异

如何解决计算图像之间的差异

最简单的措施将是基于RMS误差的方法,例如:

这些可能与您的距离量度概念融为一体,但是只有当您已经有两个非常接近的图像时(例如,如果您正在查看特定压缩方案对原始图像的保留程度如何),它们的结果才真正有意义。而且,根据存在的伪像,两种比较的相同结果可能意味着很多不同的东西(请看下面我引用的论文,其中一些示例RMS / PSNR的照片可能会误导人)。

除此之外,还有一个专门研究图像相似性的研究领域。我不是专家,但是这里有几点建议:

  • 使用降维(PCA,SVD,特征值分析等)来挑选图像的主要成分并在不同图像之间进行比较的工作已经很多。

  • 其他方法(尤其是医学成像)使用分割技术来挑选图像的重要部分,然后根据发现的内容对图像进行比较

  • 还有其他人试图设计出相似性度量方法来解决RMS误差和PSNR的某些缺陷。关于空间域结构相似性(SSIM)度量的论文很不错,它试图模仿人们对图像误差的理解,而不是直接的数学误差概念。同样的人使用做了改进的平移/旋转不变的版本小波分析本文的WSSIM

  • 看起来TinEye会使用具有 许多 属性值的特征向量来进行比较。如果您在他们的网站上四处寻找,最终会进入IdeéLabs页面,他们的FAQ在算法上有一些(但不是太多)细节:

问:视觉搜索如何工作?

答:Idée的视觉搜索技术使用复杂的算法来分析数百种图像属性,例如颜色,形状,纹理,亮度,复杂性,对象和区域,这些属性形成了一个紧凑的数字签名,用于描述每个图像的外观以及这些签名。由我们的软件计算并编制索引。 在执行视觉搜索时,我们的搜索引擎会快速比较这些签名,以返回视觉相似的结果。

这绝不是详尽无遗的(这只是我在自己的研究过程中遇到的几种技术),但是,如果您通过Google搜索技术论文或浏览有关图像处理的最新会议记录,您一定会发现这些东西的更多方法。这不是一个解决的问题,但是希望这些指针能使您对所涉及的问题有所了解。

解决方法

你们知道任何可用于计算图像之间差异的算法吗?

以该网页为例http://tineye.com/,您给它提供了链接或上载图像,它会找到相似的图像。我怀疑它是否会将相关图像与所有图像进行比较(或者确实如此)。

通过计算,我的意思是像Levenshtein_distanceHamming距离对于字符串而言。

我绝对不需要为项目或其他任何事情提供正确的答案,我只是找到了网站,对此感到非常好奇。我知道digg为其网站提供类似服务。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?