一种基于二维链码的三维模型压缩方法技术

技术编号:37616991 阅读:12 留言:0更新日期:2023-05-18 12:08
本发明专利技术公开了一种基于二维链码的三维模型压缩方法,包括如下步骤:S1:输入三维体素模型;S2:切分三维体素模型,得到分片的三维体素模型面片;S3:对三维体素模型面片进行内外多轮廓提取和链码遍历,得到三维体素模型面片的内外轮廓序列,内外轮廓偏移序列和锚点序列;S4:根据三维体素模型面片的锚点序列,得到相邻三维体素模型面片间的多个锚点连接信息和层锚点偏移序列;S5:对三维体素模型面片的内外轮廓序列、内外轮廓偏移序列、锚点连接信息和锚点偏移信息进行编码,得到基于二维链码压缩的三维体素模型编码序列。本方法能够在不损耗三维体素模型精度的前提下,减少三维体素模型数据的存储空间占用和解码调用时长。型数据的存储空间占用和解码调用时长。

【技术实现步骤摘要】
一种基于二维链码的三维模型压缩方法


[0001]本专利技术属于三维体素模型压缩
,具体涉及一种基于二维链码的三维模型压缩方法。

技术介绍

[0002]链码技术是通过一个起始坐标和前进方向,将曲线或边界进行编码描述的技术方法,其凭借着区域边界表达能力较好、存储空间占用较小等优势,在图形图像学领域研究中被广泛使用。在二维图形图像研究中,常用的链码方法有Freeman链码、顶点链码、角度差Freeman链码、Huffman编码顶点链码等。在三维图形图像研究中,已出现三角形面片链码、混合面片链码等。目前链码方法的应用,使重表达的模型存在着较多集中或分散的缝隙与孔洞,而以往方法中更多使用三角形面片作为基本研究对象,忽略了三维体素模型中结构化的信息连接,使得不能与当前三维建模技术很好地匹配适用。

技术实现思路

[0003]为了克服现有技术中存在的不足,本专利技术提供一种基于二维链码的三维模型压缩方法,能够在不损耗三维体素模型精度的前提下,减少三维体素模型数据的存储空间占用和解码调用时长。
[0004]本专利技术为解决其技术问题所采用的技术方案是:一种基于二维链码的三维模型压缩方法,包括如下步骤:
[0005]S1:输入三维体素模型;
[0006]S2:切分三维体素模型,得到分片的三维体素模型面片;
[0007]S3:对三维体素模型面片进行内外多轮廓提取和链码遍历,得到三维体素模型面片的内外轮廓序列,内外轮廓偏移序列和锚点序列;
[0008]S4:根据三维体素模型面片的锚点序列,得到相邻三维体素模型面片间的多个锚点连接信息和层锚点偏移序列;
[0009]S5:对三维体素模型面片的内外轮廓序列、内外轮廓偏移序列、锚点连接信息和锚点偏移信息进行编码,得到基于二维链码压缩的三维体素模型编码序列。
[0010]进一步的,步骤S2包括:
[0011]S21:选定主维度遍历方向,将三维体素模型按照单元立方体进行分层;
[0012]S22:在主维度遍历方向上,使用三维体素模型起始边的面片,为三维体素模型面片链的起始面片;并储存切分的三维体素模型面片信息;
[0013]S23:重复步骤S22,直到三维体素模型所有层遍历完成,得到每一层的切分三维体素模型面片信息。
[0014]进一步的,步骤S3包括:
[0015]S31:根据切分的三维体素模型面片信息判断,若三维体素模型面片中不包括任何体素信息则跳过该三维体素模型面片,进行下一三维体素模型面片的判定;
[0016]S32:若三维体素模型面片存在体素信息,对三维体素模型面片内的体素信息进行轮廓提取,得到二维面片中的轮廓序列;
[0017]S33:遍历二维面片中的轮廓序列,根据提取出的轮廓计算每一个轮廓的中心点,即每个轮廓的锚点,得到二维面片中的锚点序列;
[0018]S34:若轮廓内部还有可提取的轮廓信息,则依次遍历轮廓内部轮廓,得到二维面片中的内轮廓序列,计算每个内轮廓的内轮廓中心点,并与相应外轮廓中心点运算得到内轮廓中心点偏移,得到内轮廓偏移序列;
[0019]S35:将二维面片中的外轮廓序列和二维面片中的内轮廓序列中的每一个轮廓采用#连接,更新二维面片中的轮廓序列;
[0020]S36:重复步骤S33,S34,S35,直到所有二维面片中的轮廓序列遍历完成,将二维面片中的轮廓序列中的每一个轮廓采用$连接,得到每个二维面片中的内外轮廓序列,将二维面片中的轮廓序列中的每一个轮廓的内轮廓偏移序列拼接,得到每个二维面片中的内外轮廓偏移信息;
[0021]S37:重复步骤S31,S32,S36,直到所有层三维体素模型面片遍历完成,得到整体的内外轮廓序列,和整体的内外轮廓偏移序列,以及整体的锚点序列。
[0022]进一步的,步骤S4包括:
[0023]S41:根据三维体素模型面片的锚点序列,使用第一层三维体素模型面片的锚点信息,为锚点序列链的起始锚点;并储存第一层三维体素模型面片的锚点信息和第二层三维体素模型面片的锚点信息;
[0024]S42:若存在轮廓的消失,即第一层三维体素模型面片的锚点数量多于第二层三维体素模型面片的锚点数量,则剔除掉消失锚点的连接信息,并计算连接锚点之间的锚点偏移值,得到相邻层之间的锚点连接信息和层锚点偏移序列;
[0025]S43:若存在轮廓的增加,即第一层三维体素模型面片的锚点数量小于第二层三维体素模型面片的锚点数量,则通过比对新的锚点与上层所有锚点的对应关系,找到距离最小的连接锚点,添加新的锚点的连接信息,并计算连接锚点之间的锚点偏移值,得到相邻层之间的锚点连接信息和层锚点偏移序列;
[0026]S44:若轮廓同时存在消失和增加的情况,则重置所有的锚点连接信息,并计算连接锚点之间的锚点偏移值,得到相邻层之间的锚点连接信息和层锚点偏移序列;
[0027]S45:重复步骤S42,S43,S44,直到所有层三维体素模型面片遍历完成,得到层偏移序列和层连接序列。
[0028]进一步的,步骤S5包括:
[0029]S51:遍历内外轮廓序列,将每一层的内外轮廓用字符@连接,得到对应的内外轮廓字符并采用自适应算术编码的方式对内外轮廓字符进行压缩,得到内外轮廓压缩字符;
[0030]S52:连接内外轮廓偏移序列与层偏移序列并使用Golomb方法压缩数据,得到偏移压缩字符;
[0031]S53:遍历层连接序列,记录层连接信息,得到连接字符;
[0032]S54:将内外轮廓压缩字符、偏移压缩字符和连接字符拼接到一起得到基于二维链码的三维模型压缩字符。
[0033]进一步的,步骤S33中,通过轮廓序列得到二维的轮廓图,并将该轮廓图扩展为四
边形的面片,取四边形面片的中心点为二维轮廓的锚点。
[0034]进一步的,步骤S34中,将内轮廓偏移序列中的负数变为负数的绝对值的2倍,正数变为本身的2倍

1,得到不包括负数的内轮廓偏移序列。
[0035]本专利技术的有益效果包括:本专利技术方法能够在不损耗三维体素模型精度的前提下,减少三维体素模型数据的存储空间占用和解码调用时长。
附图说明
[0036]图1:三维体素模型图示;
[0037]图2:分层切分三维体素模型面片图示;
[0038]图3:计算轮廓锚点图示;
[0039]图4:内轮廓的锚点偏移图示;
[0040]图5:分层轮廓锚点连接图示;
[0041]图6:链代码技术压缩路线图示。
具体实施方式
[0042]下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0043]此外,下面所描述的本专利技术不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于二维链码的三维模型压缩方法,其特征在于,包括如下步骤:S1:输入三维体素模型;S2:切分三维体素模型,得到分片的三维体素模型面片;S3:对三维体素模型面片进行内外多轮廓提取和链码遍历,得到三维体素模型面片的内外轮廓序列,内外轮廓偏移序列和锚点序列;S4:根据三维体素模型面片的锚点序列,得到相邻三维体素模型面片间的多个锚点连接信息和层锚点偏移序列;S5:对三维体素模型面片的内外轮廓序列、内外轮廓偏移序列、锚点连接信息和锚点偏移信息进行编码,得到基于二维链码压缩的三维体素模型编码序列。2.根据权利要求1所述的一种基于二维链码的三维模型压缩方法,其特征在于,步骤S2包括:S21:选定主维度遍历方向,将三维体素模型按照单元立方体进行分层;S22:在主维度遍历方向上,使用三维体素模型起始边的面片,为三维体素模型面片链的起始面片;并储存切分的三维体素模型面片信息;S23:重复步骤S22,直到三维体素模型所有层遍历完成,得到每一层的切分三维体素模型面片信息。3.根据权利要求1所述的一种基于二维链码的三维模型压缩方法,其特征在于,步骤S3包括:S31:根据切分的三维体素模型面片信息判断,若三维体素模型面片中不包括任何体素信息则跳过该三维体素模型面片,进行下一三维体素模型面片的判定;S32:若三维体素模型面片存在体素信息,对三维体素模型面片内的体素信息进行轮廓提取,得到二维面片中的轮廓序列;S33:遍历二维面片中的轮廓序列,根据提取出的轮廓计算每一个轮廓的中心点,即每个轮廓的锚点,得到二维面片中的锚点序列;S34:若轮廓内部还有可提取的轮廓信息,则依次遍历轮廓内部轮廓,得到二维面片中的内轮廓序列,计算每个内轮廓的内轮廓中心点,并与相应外轮廓中心点运算得到内轮廓中心点偏移,得到内轮廓偏移序列;S35:将二维面片中的外轮廓序列和二维面片中的内轮廓序列中的每一个轮廓采用#连接,更新二维面片中的轮廓序列;S36:重复步骤S33,S34,S35,直到所有二维面片中的轮廓序列遍历完成,将二维面片中的轮廓序列中的每一个轮廓采用$连接,得到每个二维面片中的内外轮廓序列,将二维面片中的轮廓序列中的每一个轮廓的内轮廓偏移序列拼接,得到每个二维面片中的内外轮廓偏移信息;S37:重复步骤S31,S32,S36,直到所有层三维体素模型面片遍历完成,得到整...

【专利技术属性】
技术研发人员:魏巍张明浩
申请(专利权)人:大连民族大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1