一种基于三维形态学的模型膨胀方法、装置及应用与流程

文档序号:35713625发布日期:2023-10-12 16:46阅读:170来源:国知局
一种基于三维形态学的模型膨胀方法、装置及应用与流程

本申请涉及三维模型领域,特别是涉及一种基于三维形态学的模型膨胀方法、装置及应用,能有效避免模型在膨胀过程中产生的自相交情况。


背景技术:

1、膨胀是形态学中的一种基本操作,用于扩大图像中物体的边界或填充空洞,它通过对图像中的每个像素应用立体结构元素,根据立体结构元素的形状和大小将像素集合向外部蔓延,常规的二维膨胀操作通过扫描原图,找到像素值为0的点并将选择好的结构原点移动到该点,判断该立体结构元素所覆盖范围内的像素值是否至少存在一个像素值为1的点,如果存在,该点的像素值膨胀为1,如果立体结构元素所覆盖范围内像素值全为0,则该点不进行膨胀处理保持不变,遍历原图中其他的像素值为0的点,重复以上操作完成膨胀。

2、在二维场景中膨胀有着广泛的应用,是形态学图像处理中不可缺少的基本操作,可以通过膨胀处理来填充二维图像中的空洞部分,将空洞部分中的像素点与周围的像素点重新连接起来以完善图像的形状,膨胀操作可以使物体的边界向外蔓延,从而扩大物体的区域,这在图像分割、目标检测和形态学重建等任务中经常被用来扩大和增强物体的边界,还可以通过膨胀操作来去除图像中的小尺寸噪声,即通过立体结构元素对图像中的噪声进行膨胀,使其连接成较大的连通域然后再进行腐蚀操作以去除噪声。

3、但是,在膨胀过程中会存在模型的不同部分相互重叠或交叉的自相交情况,这可能导致模型的几何形状不准确造成模型的失真或无效的结果,自相交问题通常在模型形状复杂或存在尖端、凸起的情况下更加容易发生。


技术实现思路

1、本申请实施例提供了一种基于三维形态学的模型膨胀方法、装置及应用,可以通过先将模型体素化再膨胀的方式来避免模型膨胀过程中出现的自相交问题。

2、第一方面,本申请实施例提供了一种基于三维形态学的模型膨胀方法,所述方法包括:

3、获取待膨胀模型,构建包围盒将所述待膨胀模型包围,并以固定大小的体素对所述包围盒进行采样得到体素集合;

4、将体素集合中的每一体素根据三维坐标保存到原始三维数组中,识别所述待膨胀模型内的每一三角面片,并将所述原始三维数组中所有包含三角面片的体素值记为1,不包含三角面片的体素值记为0得到模型体素三维数组;

5、设置相较于原始三维数组膨胀的膨胀三维数组,将模型体素三维数组中所有体素根据三维坐标复制到膨胀三维数组中,定义由多个体素构建的立体结构元,使用所述立体结构元的中心体素依次遍历所述膨胀三维数组中的每一体素,遍历过程中若立体结构元所覆盖范围内的体素全部为0,则被遍历体素保持不变,若立体结构元所覆盖范围内至少存在一体素值为1的体素,则将被遍历体素的体素值设定为1进行膨胀,所述被遍历体素为与立体结构元中心体素重合的体素;

6、实时计算所述膨胀三维数组的膨胀系数,若所述膨胀三维数组的膨胀系数大于等于膨胀阈值则停止膨胀,并基于膨胀三维数组进行模型重建得到待膨胀模型的膨胀结果。

7、第二方面,本申请实施例提供了一种基于三维形态学的模型膨胀装置,包括:

8、获取模块:获取待膨胀模型,构建包围盒将所述待膨胀模型包围,并以固定大小的体素对所述包围盒进行采样得到体素集合;

9、定义模块:将体素集合中的每一体素根据三维坐标保存到原始三维数组中,识别所述待膨胀模型内的每一三角面片,并将所述原始三维数组中所有包含三角面片的体素值记为1,不包含三角面片的体素值记为0得到模型体素三维数组;

10、膨胀模块:设置相较于原始三维数组膨胀的膨胀三维数组,将模型体素三维数组中所有体素根据三维坐标复制到膨胀三维数组中,定义由多个体素构建的立体结构元,使用所述立体结构元的中心体素依次遍历所述膨胀三维数组中的每一体素,遍历过程中若立体结构元所覆盖范围内的体素全部为0,则被遍历体素保持不变,若立体结构元所覆盖范围内至少存在一体素值为1的体素,则将被遍历体素的体素值设定为1进行膨胀,所述被遍历体素为与立体结构元中心体素重合的体素;

11、重建模块:实时计算所述膨胀三维数组的膨胀系数,若所述膨胀三维数组的膨胀系数大于等于膨胀阈值则停止膨胀,并基于膨胀三维数组进行模型重建得到待膨胀模型的膨胀结果。

12、第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行一种基于三维形态学的模型膨胀方法。

13、第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括根据一种基于三维形态学的模型膨胀方法。

14、本发明的主要贡献和创新点如下:

15、本申请实施例通过构建包围盒来将待膨胀模型包围,并定义固定大小的体素来进行采样从而使得待膨胀模型体素化,将待膨胀模型体素化后可以准确地表示模型的形状,并且不存在曲面或边缘相交的情况;

16、本方案通过对体素进行膨胀操作,并通过增加邻近体素来改变模型的形状从而解决自相交问题,膨胀操作可以增加体素之间的间隙,使得模型的曲面或边缘在离散空间中保持分离,并且不再相交;

17、本方案采用轴包围盒进行体素化,轴包围盒体素化可以利用轴对齐的包围盒来表示整个场景或模型的范围。这样,只需要存储包围盒的最小和最大坐标,不需要存储每个具体的体素状态,因此内存占用较小;轴包围盒体素化仅需要对整个包围盒进行均匀划分,而不需要进行复杂的递归判断和分割,因此构建时间较短;由于轴包围盒体素化是根据整个包围盒进行简单均匀划分的,查询特定体素所处的位置只需要根据体素的空间坐标进行简单计算,因此查询时间较短。

18、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。



技术特征:

1.一种基于三维形态学的模型膨胀方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于三维形态学的模型膨胀方法,其特征在于,在“构建包围盒将所述待膨胀模型包围”步骤中,定义一个三维坐标系,使用所述待膨胀模型在三维坐标系中每一维度坐标的最大值和最小值来构建包围盒。

3.根据权利要求1所述的一种基于三维形态学的模型膨胀方法,其特征在于,在“识别所述待膨胀模型内的每一三角面片”步骤中,获取所述待膨胀模型中每一三角面片在原始三维数组中的位置,获取每一三角面片的至少一邻近体素,计算每一三角面片与对应的每一邻近体素中心点的邻近距离,若最短的邻近距离小于设定距离,则认为最短的邻近距离对应的邻近体素包含三角面片。

4.根据权利要求3所述的一种基于三维形态学的模型膨胀方法,其特征在于,在“计算每一三角面片与对应的每一邻近体素中心点的邻近距离”步骤中,获取三角面片的三个顶点坐标,使用三角面片的三个顶点坐标计算三角面片的法向量,获取邻近体素的中心点坐标,计算三角面片的法向量与对应邻近体素中心点坐标的内积得到中心点坐标到三角面片的有向距离,使用中心点坐标减去有向距离与三角面片法向量的乘积得到垂足点坐标,若所述垂足点在三角面片内则邻近体素与三角面片的邻近距离为邻近体素中心点到垂足点的距离,若所述垂足点不在三角面片内,则获取垂足点与三角面片的最短直线,使用最短直线与有向距离构成一个直角三角形,直角三角形的斜边为邻近体素与三角面片的邻近距离。

5.根据权利要求1所述的一种基于三维形态学的模型膨胀方法,其特征在于,在“设置相较于原始三维数组膨胀的膨胀三维数组,将模型体素三维数组中所有体素根据三维坐标复制到膨胀三维数组中”步骤中,膨胀三维数组的边界相较于原始三维数组的边界向外膨胀,在将模型体素三维数组中的体素复制到膨胀三维数组后将膨胀三维数组中剩余体素位置的体素值设置为0。

6.根据权利要求1所述的一种基于三维形态学的模型膨胀方法,其特征在于,膨胀三维数组的边界相较于原始三维数组的边界向外膨胀的膨胀程度正相关于立体结构元的立体尺寸。

7.根据权利要求1所述的一种基于三维形态学的模型膨胀方法,其特征在于,在“实时计算所述膨胀三维数组的膨胀系数,若所述膨胀三维数组的膨胀系数大于等于膨胀阈值则停止膨胀”步骤中,将所述膨胀后膨胀三维数组与膨胀前膨胀三维数组的比值乘以最大膨胀倍数的倒数作为膨胀系数。

8.一种基于三维形态学的模型膨胀装置,其特征在于,包括:

9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1-7任一所述的一种基于三维形态学的模型膨胀方法。

10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括根据权利要求1-7任一所述的一种基于三维形态学的模型膨胀方法。


技术总结
本申请提出了一种基于三维形态学的模型膨胀方法、装置及应用,包括以下步骤:构建包围盒围绕待膨胀模型,对其进行采样得到固定大小的体素集合;将体素集合保存到原始三维数组,并计算每个体素与其三角面片邻近体素中心点的距离,若最短邻近距离小于设定距离,则认为邻近体素包含三角面片将其标记为1,否则为0;使用立体结构元遍历膨胀三维数组,计算膨胀系数,若大于膨胀阈值则停止膨胀;基于膨胀三维数组进行模型重建,得到待膨胀模型的膨胀结果。本方案可以将模型体素化后进行膨胀来改变模型的形状解决膨胀过程中的自相交问题。

技术研发人员:蔡林凯
受保护的技术使用者:杭州雅智医疗技术有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1