1

我正在使用进行图像处理和数学形态学,并且非常喜欢它。我们的工作涉及模拟电荷在各种电影中的移动,我们正在尝试使用图像分析工具来估计为什么不同的形态比其他形态更好。

我很快就能够使用 ndimage.label 和 distance_transform_edt 找到连接的组件并确定它们的大小。我还实施了广度优先搜索,以找到组件和代表电极的边缘之间的最小路径。

现在,我想确定“瓶颈”或“窄通道”区域。我什至不确定我是否在搜索正确的关键字,因为我的专业知识并不是真正的图像处理。我在下面给出了两个例子。我想找到像红色圆圈这样的特征并计算它们并确定它们的大小分布。(考虑到收费将更容易通过更广泛的瓶颈。)

问题是我不能标记这些,因为它们不是独立的组件。距离变换在边缘给了我很小的数字。我想要通过这些瓶颈的最小距离。

有什么建议在哪里看或一般策略?

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

3

可以使用中轴变换来计算 bacl 集中每个点的球拟合半径,以获得图像中的角点。在以下示例中,我们使用由距离函数本身加权的距离函数的分水岭来获得分隔最小值(图像中的白色分量)的轮廓。因此,这给出了一条由分隔 2 个白色分量的距离函数的最大值加权的路径。我已经在 matlab 中完成了这项工作,但我认为它很容易在 Scikit 图像工具箱中复制相同的内容。

图片1:

在此处输入图像描述

填充孔,因为它们不是路径:

在此处输入图像描述

距离函数:(热图)

在此处输入图像描述

距离函数(路径)的分水岭:

在此处输入图像描述

由距离函数加权的分水岭(最终路径):

在此处输入图像描述

图 2:

在此处输入图像描述

距离函数:

在此处输入图像描述

距离函数(路径)的分水岭:

在此处输入图像描述

由距离函数加权的分水岭(最终路径):

在此处输入图像描述

因此,正如所证明的那样,我们使用距离函数的分水岭(此处使用的城市街区)计算了影响区域(SKIZ)的技术骨架。还必须注意,边界上的洞没有被填充,因为 imfill 忽略了边界上的洞。如果要填充它,可以在周围添加一个框架,以便以后可以使用 imfill 填充它们。

于 2014-04-02T00:22:55.387 回答