【问题标题】:find perceptual similarity between two images in java在java中找到两个图像之间的感知相似度
【发布时间】:2011-11-16 10:53:47
【问题描述】:

我正在寻找一种可以找到两个图像之间感知相似性的算法,实际上我想将一张图片输入系统并搜索包含大量图片的整个数据库,然后检索具有更多感知相似性的图像有源图片,任何人都可以帮助我吗?

我的意思是我想找到类似的图片。我听说一些算法可以根据源图片的形状、颜色等(逐个像素)找到相似的图片。我想让我输入源图像的系统和系统根据形状、颜色、大小等感知特征检索相似的图像。

谢谢

【问题讨论】:

    标签: java algorithm image-processing


    【解决方案1】:

    您需要仔细定义“感知上相似”对您意味着什么,然后再尝试找到一个可衡量的实体来捕捉这一点。想象一张蓝天下草地上有一匹马的照片。您的应用程序应该检索所有马的图片吗?还是所有绿草蓝天的照片?在后一种情况下,上述颜色直方图是一个好的开始。或者,您可以查看高斯混合模型 (GMM),它们在检索中被大量使用。这个code 可以作为一个起点,这篇文章Image retrieval using color histograms generated by Gauss mixture vector quantization

    更复杂的是所谓的“词袋”或“视觉词”方法。它越来越多地用于图像分类和识别。该算法通常从检测图像中的鲁棒点开始,这意味着这些点将在某些图像失真中幸存下来。示例流行的算法是 SIFT 和 SURF。这些找到的点周围的区域使用描述符捕获,例如可以是智能直方图。

    在最简单的形式中,可以从所有图像的所有描述符中收集所有数据并将它们聚类,例如使用 k-means。然后,每个原始图像都有描述符,这些描述符有助于许多集群。这些簇的质心,即视觉词,可以用作图像的新描述符。 VLfeat 网站包含一个很好的 demo 这种方法,对 caltech 101 数据集进行分类。同样值得注意的是来自Caltech 本身的结果和软件。

    【讨论】:

      【解决方案2】:

      一种简单的开始方法是比较颜色直方图。

      但是下面的文章建议使用联合直方图。你也可以看看。

      http://www.cs.cornell.edu/rdz/joint-histograms.html

      【讨论】:

        猜你喜欢
        • 2011-03-11
        • 2023-04-03
        • 2020-01-14
        • 1970-01-01
        • 2020-07-20
        • 1970-01-01
        • 2014-05-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多