【问题标题】:How do you compare two Images Edge Descriptors?你如何比较两个图像边缘描述符?
【发布时间】:2014-03-26 19:42:07
【问题描述】:

您好,我对图像检索完全陌生,我目前正在实现一个功能来从数据库中检索与输入图像最匹配的图像。我通过 jfeaturelib 库选择了两个描述符,这两个是颜色直方图和 Mpeg7Edege 描述符。 对于 RGB 颜色直方图,我在这个论坛上发现,如果你想比较其中两个,你只需要像这样计算每个点的欧几里得距离的平均值

double dist(vector<double> *histogram1, vector<double> *histogram2) {
    double result = 0.0;
    for (vector<double>::iterator val1=histogram1->begin(), val2=histogram2->begin();
         val1<histogram1->end();
         val1++, val2++) {
        result += (*val1 - *val2) * (*val1 - *val2);
    }
    result = sqrt(result);
    return result;
}

这也适用于 Mpeg7Edge 直方图吗?我还想知道这个直方图是否总是返回相同数量的特征,而与图像大小无关,因为我已经用两张图像进行了尝试,在这两种情况下它都返回了 160 个特征。

【问题讨论】:

    标签: java histogram edge-detection


    【解决方案1】:

    抱歉,作为 JFeatureLib 的作者,我没有在这里查看问题(仅在邮件列表中)。 当然,您可以在这些向量上使用欧几里得分布。对于更高维向量(10+ 或 20+),您可能需要考虑 cosine dist,因为它通常会提供更好的结果。但这是您可以简单地在您的应用程序中测试的东西。 是的,直方图应该始终产生相同数量的维度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-04
      • 2014-11-07
      • 2015-05-18
      • 1970-01-01
      • 2012-01-09
      • 2014-11-18
      • 2012-04-16
      • 2011-06-22
      相关资源
      最近更新 更多