[发明专利]一种3D打印文件的压缩方法有效
申请号: | 202111251590.1 | 申请日: | 2021-10-27 |
公开(公告)号: | CN113704208B | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 章国挺;林鹏 | 申请(专利权)人: | 浙江闪铸三维科技有限公司 |
主分类号: | G06F16/174 | 分类号: | G06F16/174 |
代理公司: | 杭州六方于义专利代理事务所(普通合伙) 33392 | 代理人: | 方洲易 |
地址: | 321016 浙江省金华*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 打印 文件 压缩 方法 | ||
1.一种3D打印文件的压缩方法,其特征在于,包括如下步骤:
步骤(1)过滤数据:遍历所有层的图像数据,将像素值小于设定值的数据设置为0,保存新的图像数据;
步骤(2)获取差异图并标记每一层:遍历所有层的图像数据,获取当前层与上一层的像素值的差异图,判断并标记每一层为差异层、非差异层或者基准层;若当前层与上一层像素值没有区别,则标记当前层非差异层,连续相同的非差异层中,第一个出现的非差异层标记为基准层,若当前层与上一层像素值有区别,则标记当前层为差异层;
步骤(3)数据分类:根据像素值将所有数据分为三类:有效数据、灰度数据和无效数据;
步骤(4)根据当前层类型和数据类型编码:当前层若是基准层,则将该层的所有数据根据有效数据、灰度数据和无效数据进行分类编码;当前若是差异层,则将该层的差异图根据有效数据、灰度数据和无效数据进行分类编码;当前层若是非差异层,则记录其层数;具体编码步骤如下:
步骤a.遍历该层每一行内的每一个数据;
步骤b.找到当前行下一连续段第一个非无效数据位置;
步骤c.把当前累计的连续的无效数据进行编码写入无效数据队列;
步骤d.把当前非无效数据放入非无效数据队列;
步骤e.遍历索引值加一后,重复步骤d,直到找到第一个无效数据位置;
步骤f.将非无效数据队列中的有效数据和灰度数据分别进行编码;
步骤g.无效数据长度累加1;
步骤h.重复步骤b-g,直至当前行最后一个像素值;
步骤i.遍历下一行,重复步骤a-h,直至遍历该层所有行;
步骤(5)重复步骤(4)直至所有层已编码或者已记录层数。
2.根据权利要求1所述一种3D打印文件的压缩方法,其特征在于:步骤(1)中,设定值的范围为10-100。
3.根据权利要求1所述一种3D打印文件的压缩方法,其特征在于:步骤(2)中,生成像素值差异图时,设△diffPix=当前层像素值-上一层像素值,若△diffPix≥0,则直接保存△diffPix;若△diffPix0,则保存255-△diffPix。
4.根据权利要求1所述一种3D打印文件的压缩方法,其特征在于:步骤(3)中,有效数据为像素值=255,灰度数据为0像素值255,无效数据为像素值=0。
5.根据权利要求1所述一种3D打印文件的压缩方法,其特征在于:步骤(4)中的步骤f中,具体步骤如下:对非无效数据队列统计连续相同值长度得到连续相同值长度数组I,遍历连续相同值长度数组I,提取连续相同值大于2的值,对连续相同值大于2的值前后的连续相同值小于等于2的值分别做加法,得到连续相同值长度数组II,连续相同值长度数组II描述了非无效数据队列中连续相同值长度大于2的分布情况;遍历连续相同值长度数组II,对其中长度大于1的有效数据进行有效数据编码,对其余部分进行灰度数据编码。
6.根据权利要求1所述一种3D打印文件的压缩方法,其特征在于:编码过程中,若超过数据编码最大长度,则对数据进行分段同方式编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江闪铸三维科技有限公司,未经浙江闪铸三维科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111251590.1/1.html,转载请声明来源钻瓜专利网。