【问题标题】:OpenCV cvGetMinMaxHistValue for C++ MatNDC++ MatND 的 OpenCV cvGetMinMaxHistValue
【发布时间】:2012-01-24 17:57:31
【问题描述】:

我在MatND 中有一个直方图,我想检索它的最大值和最小值。在 C 版本的 OpenCV 中有一个函数 cvGetMinMaxHistValue() 可以完成这项工作,但它不接受 MatND。我有什么选择?

【问题讨论】:

  • 可以this be related吗?你有什么版本的 OpenCV?在(例如)OpenCV 2.3 cv::Mat 和 ND 版本中已经合并(Mat
  • 他正在使用 C 版本,所以他可能不想使用 Mats。无论如何,我想您可以手动遍历直方图以找到最小值和最大值。这样可以吗?还是您正在寻找更高效的方法?
  • 我想我会听从 Farhad 的建议。谢谢你。您能否指导我如何从 MatND 中保存的直方图中检索直方图值?

标签: c++ opencv histogram


【解决方案1】:

遍历直方图非常简单:

cv::MatND hist;

[... get histogram ...]

for (int i=0; i<256; i++)
{
    float hist_value = hist.at<float>(i);
    // do stuff
}

希望对你有帮助:)

【讨论】:

    【解决方案2】:

    C++版本可以使用如下:

    cv::MatND hist = getHistogram(image);
    double min=0,max=0;
    cv::minMaxLoc(hist, &min, &max, 0, 0);
    

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      您的答案是将cvGetMinMaxHistValue() 替换为See thisminMaxLoc

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-08
        • 2013-09-28
        • 1970-01-01
        • 1970-01-01
        • 2012-05-03
        • 1970-01-01
        • 2020-12-15
        • 1970-01-01
        相关资源
        最近更新 更多