简体   繁体   English

将 3D 轮廓点转换为 3D 二进制体积

[英]Converting 3D contour points to 3D binary volume

I have a set of 3D contour points that represent a closed surface, such as the following:我有一组表示闭合曲面的 3D 轮廓点,如下所示:

3D 轮廓点

The contour slices are closed curves, and are always located at integer z values.轮廓切片是闭合曲线,并且始终位于整数 z 值处。 Although, there are some z values in the middle that don't have contours.虽然,中间有一些 z 值没有轮廓。

In MATLAB, I want to convert this point representation to a binary volume representation, where pixels that lie inside of the contour shape are considered as 1, and pixels outside as 0.在 MATLAB 中,我想将此点表示转换为二进制体积表示,其中位于轮廓形状内部的像素被视为 1,外部像素被视为 0。

I tried 3D triangulation and then converting the triangulated polygon to a binary volume.我尝试了 3D 三角剖分,然后将三角剖分的多边形转换为二进制体积。 Although, the triangulation doesn't respect the boundary limits that are imposed by the closed curves on each slice.虽然,三角剖分不考虑由每个切片上的闭合曲线强加的边界限制。 That is, the intra-slice points are connected indiscriminately and some round features are lost.也就是说,切片内的点被随意连接,丢失了一些圆形特征。

How can I solve this problem?我怎么解决这个问题?

我会检查Marching CubesBall Pivoting以进行 3D 三角测量。

通过在Meshlab 中使用 Ball Pivoting过滤,我能够获得我想要的三角剖分

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM