Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 计算图像之间的差异_Algorithm_Image - Fatal编程技术网

Algorithm 计算图像之间的差异

Algorithm 计算图像之间的差异,algorithm,image,Algorithm,Image,你们知道有什么算法可以用来计算图像之间的差异吗 以这个网页为例,你给它一个链接或上传一张图片,它会发现相似的图片。我怀疑它是否能将所讨论的图像与所有的图像进行比较(或者可能是这样) 我所说的计算就像字符串的或 我根本不需要为一个项目或任何事情找到正确的答案,我只是找到了这个网站,感到非常好奇。我知道digg为他们的网站支付了类似的服务。TinEye所做的是对图像或其部分进行哈希运算(参见他们的网站)。这可能不是一个真正的哈希函数,因为他们希望对相似(或几乎相同)的图像使用类似的“哈希”。但他们所

你们知道有什么算法可以用来计算图像之间的差异吗

以这个网页为例,你给它一个链接或上传一张图片,它会发现相似的图片。我怀疑它是否能将所讨论的图像与所有的图像进行比较(或者可能是这样)

我所说的计算就像字符串的或


我根本不需要为一个项目或任何事情找到正确的答案,我只是找到了这个网站,感到非常好奇。我知道digg为他们的网站支付了类似的服务。

TinEye所做的是对图像或其部分进行哈希运算(参见他们的网站)。这可能不是一个真正的哈希函数,因为他们希望对相似(或几乎相同)的图像使用类似的“哈希”。但他们所需要做的只是比较散列和可能的子串,以了解图像是否相似/相同,或者一个图像是否包含在另一个图像中。

这是一个页面,但它是用于多边形的。您可以根据颜色和形状将图像转换为有限数量的多边形,并在每个多边形上运行这些算法。

相关技术将使匹配跳出。如果它们是JPEG,您可以比较每个8x8块的主要系数,得到一个像样的匹配。这并不完全是相关性,但它是基于余弦变换的,所以它是一个近亲。

一种技术是使用。您可以使用机器学习算法根据您使用的重复来查找类似的图像。例如,常用的。我见过其他解决方案在使用后尝试分析图像中的垂直线和水平线。也使用


来自picasa web的最新群集图像。您也可以尝试我正在研究的方法。

考虑使用有损和比较图像的最高相关性元素。

最简单的方法是基于RMS错误的方法,例如:

这些可能与您的距离度量概念相吻合,但它们的结果只有在您有两张已经非常接近的图像时才有意义,比如如果您正在查看某个特定的压缩方案对原始图像的保留情况。此外,两种比较的相同结果可能意味着许多不同的事情,这取决于存在哪种类型的伪影(请看我下面引用的论文中RMS/PSNR的一些示例照片可能会产生误导)

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

  • 许多工作已经投入到使用(PCA、SVD、特征值分析等)的方法中,以提取图像的主成分并在不同的图像之间进行比较

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

  • 还有一些人试图设计相似性度量,以绕过RMS误差和PSNR的一些缺陷。有一篇很酷的关于测量的论文,它试图模仿人们对图像错误的感知,而不是直接的数学错误概念。同样的人用in做了一个改进的平移/旋转不变版本

  • TinEye似乎使用具有许多属性值的特征向量来进行比较。如果你在他们的网站上四处搜寻,你最终会进入该页面,并对算法有一些(但不是太多)细节:

    问:视觉搜索是如何工作的

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


这并不是详尽无遗的(这只是我在自己的研究过程中遇到的一些技术),但如果你在谷歌上搜索技术论文或查看最近关于图像处理的会议记录,你肯定会找到更多的方法。这不是一个已解决的问题,但希望这些指针能让您了解所涉及的内容。

这里是我4年前用java编写的一些代码,它使用直方图进行图像比较。除了buildHistograms()之外,不要查看它的任何部分

视图=标记


也许它很有用,至少如果你正在使用java,那是一个很酷的网站。。。您认为它可能会使用其他匹配的文件名吗?可能会有帮助,因为…有趣的是:productOverview看起来真的像stackoverflowlogo@alex我不确定我是否相信它不仅仅依赖于一种方法,它可以是多种方法的组合。我已经用这种技术做了一些工作,并取得了很好的效果(尽管还不足以资助一个完整的开发项目)。