【问题标题】:Determine maximum distance using Earths Movers Distance使用 Earths Movers Distance 确定最大距离
【发布时间】:2013-04-30 17:47:42
【问题描述】:

我正在尝试使用 OpenCV 中的函数 EMD 确定任意 2 个直方图之间可能存在的最大距离。

原因是我需要标准化(在 [0,1] 范围内缩放它们,0 = 相同的直方图,1 = 可能的最不同的直方图)从一组直方图(所有大小相同)。

所以我想找到最大距离来除以它设置的所有距离以缩放到范围内。

如何找到 2 个大小相等(假设为 N 维)的直方图之间的最大距离?

【问题讨论】:

    标签: c++ image opencv computer-vision histogram


    【解决方案1】:

    您的成本矩阵是什么样的?

    最坏的情况是两个直方图的权重都累积在彼此最大距离的两个相应 bin 中。在这种情况下,最大距离将是 maximum of your cost matrix(如果两个直方图的总权重相等)。

    【讨论】:

    • 我没有使用任何成本矩阵,我的调用看起来像 cv::EMD(sig1, sig2, CV_DIST_L2)sig1 和 sig2 签名,如documentation 所述。所有其他参数都保留为默认值。在测试单个维度、256 个 bin、每个 8 位时,我看到的距离从 ~0 到 ~20。在这种情况下,当 hist1 上的 bin1 = 255 和 hist2 上的 bin256=255(所有其他 bin = 0)时,最大值是多少?
    • 确实如此。我刚刚测试,这种情况下的距离是 255,这是第 0 和第 255 箱的 L2 距离。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    相关资源
    最近更新 更多