【问题标题】:Detecting Gaussians in an image检测图像中的高斯
【发布时间】:2018-11-20 03:13:55
【问题描述】:

我有一个灰度图像,由下面的直方图表示(x 和 y 轴是像素,z 轴是像素强度)。 每个条形簇代表一个对象,局部最大值相当接近对象的质心。我的目标是找到每个对象的全宽半最大值——所以我大致将每个对象近似为高斯分布。

如何单独检测每个集群?我了解如何在数学上计算 FWHM,但我不确定如何根据其(大致)高斯特征检测每个集群。 (例如,在下面的示例中,我想检测 6 个簇。可以在中间看到一个小簇,但它的幅度很小,我可以忽略它)。

我感谢任何建议 - 效率不是主要问题,因此我可以实施相对昂贵的解决方案。

【问题讨论】:

    标签: matlab image-processing object-detection gaussian


    【解决方案1】:

    要找到每个分组的中心,您可以使用 A* search algorithm 类型或类似的线性优化算法。

    它将找到达到分组最大值的方法。之后的问题是你不知道你是否处于局部最大值(在你的场景中很可能)。在您当前的搜索在最高点触底后,并且您已经计算了该区域的 FWHM,您可以将 A* 遍历的所有节点设置为 0,(或将每个节点标记为已访问,以免再次访问),然后再次启动 A* 算法,直到看到所有节点并找到所有分组。

    【讨论】:

    • 我喜欢这个答案,如果我有时间我会尝试一下。不幸的是,我没有足够的背景来足够快地实施这个策略!不过好主意
    • A* 可能有点矫枉过正,除非您的数据非常大/复杂,否则更天真的东西可能会收敛得足够快。祝你好运。
    • 如果您喜欢这个答案,您可以点击绿色复选标记将其选为选定答案。
    猜你喜欢
    • 2016-04-14
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    相关资源
    最近更新 更多