我正在编写一个脚本来计算任何随机形状的 3D 对象的体积。我不在乎物体是否是空心的,我需要计算它的总体积。我拥有的数据模型是一个带有 1 和 0 的 3D 表(像素直方图)。显然是物体所在的地方,而零是我们一无所有的地方。要计算填充良好的对象的体积,只需将所有包含 1 的像素相加并乘以像素体积即可。另一方面,主要的困难仍然是我们有一个空心物体,所以我们有一个被一个包围的零。因此,应用我在此描述的直接方法不再有效。我们需要做的是用 1 填充所有对象区域。这是一个 2D 示例,因此您可以理解我的意思
二维表:
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 0 0 0
0 0 1 1 0 0 0 1 1 1 0 0
0 0 0 1 0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 1 0 0 0 0
0 0 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
我需要把它变成这个
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 0 0 0
0 0 1 1 1 1 1 1 1 1 0 0
0 0 0 1 1 1 1 0 0 0 0 0
0 0 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0