【问题标题】:How To Implement imhmin() in C++如何在 C++ 中实现 imhmin()
【发布时间】:2016-01-13 20:47:07
【问题描述】:

我想用c++实现matlab的imhmin()函数。首先,我检查了算法。它抑制最小像素强度值。非最大抑制代码为:

void non_maxima_suppression(const cv::Mat& src, cv::Mat& mask, const bool remove_plateaus)
{
    // find pixels that are equal to the local neighborhood not maximum (including 'plateaus')
    cv::dilate(src, mask, cv::Mat());
    cv::compare(src, mask, mask, cv::CMP_GE);

    // optionally filter out pixels that are equal to the local minimum ('plateaus')
    if (remove_plateaus) {
        cv::Mat non_plateau_mask;
        cv::erode(src, non_plateau_mask, cv::Mat());
        cv::compare(src, non_plateau_mask, non_plateau_mask, cv::CMP_GT);
        cv::bitwise_and(mask, non_plateau_mask, mask);
    }
} 

imhmin() 函数返回抑制值。但是,非最大抑制返回二进制值。我该如何处理?

【问题讨论】:

  • 首先,你应该给imhmin一个详细的解释。其次,你应该解释非最大抑制和imhmin之间的关系。第三,如果我猜对了,只需找到最小值min,然后将任何值更改为小于h+min的h+min。

标签: c++ opencv non-maximum-suppression


【解决方案1】:

使用你得到的结果作为源图像的掩码。

【讨论】:

    猜你喜欢
    • 2021-08-18
    • 2010-09-28
    • 2016-04-13
    • 2014-10-29
    • 2018-02-14
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多