【问题标题】:How to measure similarity of two images如何测量两张图像的相似度
【发布时间】:2014-10-06 20:48:21
【问题描述】:

我有一个程序,用户通过在 5x5 网格上放置形状(正方形、圆形、三角形、矩形)来绘制图像,其中形状的角位于网格单元格中,圆形位于一个网格单元格中。

我想使用该图像来生成相似的图像。我曾想过使用字符串编辑距离之类的东西,在其中将形状替换为与之相似的形状,但需要有某种方法来定义哪些形状相似以及值是什么。

任何人都可以提出一种方法或算法,可用于在生成整个图像后测量图像的相似性并用于测量单个形状的相似性?我希望最终能够说,给定一张图像,如果两个图像的编辑距离小于某个值 x,我可以拥有相似的图像。我需要一个算法和支持信息来帮助我达到这个值。

【问题讨论】:

    标签: image-processing similarity


    【解决方案1】:

    我不得不承认我可能没有 100% 理解你的问题。

    但是,您是在寻找基于图像的某些结构参数的相似性度量,还是基于最终图像的整体形状/强度分布?

    最终图像是普通的“光栅”图像,即每个像素中具有给定强度的像素阵列吗? 如果是这样,一个简单的互相关系数可以满足您的需要吗?您可能需要在应用互相关之前对这两个图像进行预处理(如寻边滤镜等)

    (它是标准化的 [0,1],其中一个是精确的图像强度匹配。)

    编辑:在下面您的 cmets 之后,我现在添加了一个示例。 (在 DigitalMicrograph 中计算) 我创建了 4 个大小约为 140x140 像素的简单图像,然后计算了相应对的互相关 (CC) 图像。 CC 图像以矩阵形式排列,并以温度配色方案显示,以便更好地显示。每个CC图像中的值是指该像素中的最大值,这是CC效率。完美匹配应为 1,完美“反匹配”应为 0。由于数值舍入问题,在此示例中,图像与其自身的“自相关”并不完全为 1。

    但是,我仍然不确定这是否真的可以帮助您并回答您的问题。 CC 清楚地定义了两个图像的“相似性”,但确切的值将取决于图像中有多少像素,它们如何相互旋转,以及像素的确切值是多少。 (我用 0 表示黑色,用 1 表示白色)。它还要求比较两个图像具有相同的像素大小。

    【讨论】:

    • 我正在寻找一种可以衡量各个形状之间相似性的度量。一旦我有了这个,我想证明如果我用相似的形状替换图像中的形状,我将生成一个相似的图像。这就是为什么我需要一个可以测量完整图像的。
    • 我还要补充一点,我对数字图像处理一无所知,形状是简单的线条图,没有填充颜色
    • 如果您提供一些问题的图形表示,也许您可​​以获得更好的答案?即一些显示场景和你希望得到什么的数字?
    • 如何将图片附加到问题中?
    • 我现在尝试简化问题。我可以使用什么度量来比较形状的相似性(正方形、圆形、三角形矩形)
    猜你喜欢
    • 2010-09-06
    • 2014-04-21
    • 2015-09-13
    • 2023-04-03
    • 1970-01-01
    • 2020-07-20
    • 2020-01-14
    • 2019-08-08
    • 2014-10-03
    相关资源
    最近更新 更多