<分区>
我正在使用 MATLAB。
我有一个充满逻辑的三维数组。该数组表示一个圆柱体的数据,其中有 N 个形状相同但方向任意的订书钉。体积以体素(3 维像素)离散化,逻辑“1”表示“在圆柱体中的这一点是主食的一部分”,而“0”表示“在圆柱体中的这一点是空气”。 下图包含整个体积的一个二维切片。想象一下由这样的切片组成的完整体积。 白色表示“1”,黑色表示“0”。
现在我的问题是:我必须尽可能分开每根订书钉。 输出产品应该是 N 个三维数组,只有属于某个主食的体素为“1”,其他所有内容为“0”。这样我就有了只包含一根订书钉数据的数组。
最大的问题是,不同主食的'1'可以彼此相邻(相互接触并纠缠在一起),因此很难确定它们属于哪个主食。 简化的事实是,主食的边界体素可能会被切掉,我可以使用任何保留原始主食大致形状的输出阵列。
也许你们中的某些人可以提供解决此类问题的想法,或者甚至说出我可以查看的算法。 提前致谢。