0

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() 関数は抑制された値を返します。ただし、非最大抑制はバイナリ値を返します。どうすれば対処できますか?

4

1 に答える 1