【发布时间】:2012-05-24 04:18:19
【问题描述】:
关于我的问题的一些细节:
我正在尝试在 openCV 中实现角点检测器(另一种内置算法:Canny、Harris 等)。
我有一个填充了响应值的矩阵。最大响应值为 - 检测到角点的最大概率为。
我有一个问题,即在一个点附近检测到的角很少(但只有一个)。我需要减少错误检测角的数量。
确切的问题:
我需要用内核遍历矩阵,计算每个内核的最大值,留下最大值,但内核中的其他值为零。
是否有内置的 openCV 函数可以做到这一点?
【问题讨论】:
-
你不是在寻找局部最大值吗?喜欢这里:stackoverflow.com/questions/5550290/…
-
我不仅需要每个内核中的局部最大值,但我需要这样一个过滤器,当每一步只保留局部最大值时,其他值为零
-
不确定我理解你的意思,但无论如何,使用 MinMaxLoc 将其限制为内核(或 ROI,并在图像中移动此 ROI)应该有效吗?就像他们的评论一样。
-
嗯..但是是的,你是对的。我可以用内核循环图像,并计算 MinMaxLoc。它不仅返回值,还返回最大值的位置。比我让内核中的所有元素都为零,除了最大值......我第一次有这个想法,但我认为可能是 openCV 有更容易做到这一点的内置能力。
标签: c++ opencv image-processing filter max