gpt4 book ai didi

image - 使用 OpenCV 在灰度图像中查找局部最大值

转载 作者:太空宇宙 更新时间:2023-11-03 20:38:21 26 4
gpt4 key购买 nike

有人知道如何使用 OpenCV 在灰度 IPL_DEPTH_8U 图像中找到局部最大值吗? HarrisCorner 提到了类似的东西,但我实际上对角落不感兴趣......谢谢!

最佳答案

如果像素等于“局部”邻域中的最大值,则该像素被视为局部最大值。下面的函数用两行代码捕获此属性。

要处理“高原”上的像素(值等于它们的邻域),可以使用局部最小值属性,因为高原像素等于它们的局部最小值。其余代码过滤掉这些像素。

void non_maxima_suppression(const cv::Mat& image, cv::Mat& mask, bool remove_plateaus) {
// find pixels that are equal to the local neighborhood not maximum (including 'plateaus')
cv::dilate(image, mask, cv::Mat());
cv::compare(image, 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(image, non_plateau_mask, cv::Mat());
cv::compare(image, non_plateau_mask, non_plateau_mask, cv::CMP_GT);
cv::bitwise_and(mask, non_plateau_mask, mask);
}
}

关于image - 使用 OpenCV 在灰度图像中查找局部最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5550290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com