在图像中检测高斯

时间:2018-11-20 03:13:56

标签: matlab image-processing object-detection gaussian

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

如何分别检测每个群集?我了解如何以数学方式计算FWHM,但是我不确定如何基于其(大致)高斯特征检测每个群集。 (例如,在下面的示例中,我想检测6个聚类。一个可以看到中间的小聚类,但是其幅度是如此之小,以至于我可以忽略它)。

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

1 个答案:

答案 0 :(得分:1)

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

它将找到达到分组最大值的方式。之后的问题是,您将不知道自己是否处于本地最大值(在您的情况下很可能)。当前搜索达到最高点并计算出该区域的FWHM之后,可以将A *遍历的所有节点都设置为0,(或将每个节点标记为已访问,以便不再访问) ),然后再次启动A *算法,直到看到所有节点并找到所有分组为止。