[发明专利]一种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打印文件的压缩方法,其特征在于:编码过程中,若超过数据编码最大长度,则对数据进行分段同方式编码。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江闪铸三维科技有限公司,未经浙江闪铸三维科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111251590.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top