一种图片的压缩、解压缩处理方法技术

技术编号:29589469 阅读:21 留言:0更新日期:2021-08-06 19:49
本发明专利技术涉及图片处理技术领域,具体为一种图片的压缩处理方法,包括以下步骤:步骤S1,获取待压缩图片的分辨率,所述分辨率包含H,W两个参数;步骤S2,获取图片的颜色规格,即整个图片中颜色的数量;步骤S3,提取图片的像素及颜色表进行压缩。

【技术实现步骤摘要】
一种图片的压缩、解压缩处理方法
本专利技术涉及图片处理
,具体为一种图片的压缩、解压缩处理方法。
技术介绍
随着科技的进步,手机的性能也大幅的提高,同时手机内的图片也越来越多;其中,图片的来源可包括多个方面,例如用户拍照、网页图片、社交软件产生的图片等;随着图片的增多,会占用手机大量的存储空间,如何在保证图片质量的情况下,减少图片所占的存储空间,是亟待解决的技术问题。目前,主要通过对图片进行裁剪或压缩来减小图片所占的存储空间。但是,使用统一高度如1024像素对图片进行裁剪,会导致在高像素密度的手机上显示图片时,图片的清晰度会降低;如果图片高度小于统一的裁剪高度,则会对图片进行拉伸显示,图片清晰度差;采用统一大小如200kb对图片进行压缩,则会导致数据流失,图片的清晰度同样会降低;另外图片压缩后进行解压缩时,也会使致数据流失,图片的清晰度同样会降低。
技术实现思路
本专利技术的目的在于提供一种图片的压缩、解压缩处理方法,以解决上述
技术介绍
中提出的图片存储空间大、图片压缩后清晰度差、数据流失及用户体验差的技术问题。为实现上述目的,本专利技术广泛应用燃料电池技术方案,特别是提供如下技术方案:一种图片的压缩处理方法,包括以下步骤:步骤S1,获取待压缩图片的分辨率,所述分辨率包含H,W两个参数;步骤S2,获取图片的颜色规格,即整个图片中颜色的数量;步骤S3,提取图片的像素及颜色表进行压缩;其中,步骤S3中包括:步骤S301,先保存好颜色色表的uint16ColorTab[256];uint8colorindex,Lastcolor,像素的数据uint8pixdata[H*W];步骤S302,开始压缩之前,需要将步骤S301准备的像素清零,进入准备压缩的过程;步骤S303,从像素的左上角开始往右下角开始像素的检索及压缩。优选的,在所述步骤S303中还包括以下步骤:步骤S3031,读取像素颜色;步骤S3032,在colortab中查看是否存在像素的颜色,存在则返回颜色在色表中的偏移值colorindex;如果不存在则添加颜色到色表,并返回当前颜色的偏移值colorindex;这个过程完成了颜色色表的填充及像素压缩提供计数。优选的,所述步骤S3032中返回的结果中颜色同lastcolor相同,则对pixcount++表示出现连续的颜色;然后对pix的像素数量增加,但是不保存。优选的,所述步骤S3032中返回的颜色同lastcolor不同,则代表颜色发生变化需要将之前的计数的颜色进行保存;表述之前的像素完成一段压缩,将数据进行保存,并开始下一组像素的颜色保存。优选的,在所述步骤S2中,还要判断图片格式是否为8bp的png图片,如果是则直接执行下一步的压缩,如果不是则通过8bp近似转换法将图片压缩为8bp的png图片。优选的,所述步骤301中的H为待压缩图片的高度,W为待压缩图片的宽度,uint8pixcount同一连续像素的统计数量。基于上述中的一种图片解压缩的方法如下:步骤S100,从Flash中读取图片ID对应的色表保存到colTab中;步骤S200,从Flash中读取512字节的图像数据;步骤S300,开启DMA从Flash中读取后续512字节数据;步骤S400,按照颜色及对应的数量填充像素到显示屏;步骤S500,读出缓冲器的数据完成绘制,如果完成会制,则等待DMA数据读取完成,否则重复步骤S400;步骤S600,切换DMA数据读取完成,是则完成解压,否则继续DMA获取剩余数据,并返回步骤S400,重复相应步骤到图片解压完成。与现有技术相比,本专利技术的有益效果是:本专利技术通过以上的方法,可以使图片的大小为32*32,像素色表大小为256*2=512字节,像素内容为1024像素,总共大小是1024+512字节;压缩后的大小为:像素色表512字节,像素内容约为320字节,总共为832字节;像素内容压缩内容约为原始图的1/3;当图片尺寸比较大的情况下压缩率可以接近30%,因此压缩后的图片具有存储空间小,图片清晰、数据不会流失或压缩解压后存储空间减小,图片清晰、数据不流失的有益效果。附图说明图1为本专利技术的一个图片压缩方法流程图:图2、图3为本专利技术的提取图片像素及颜色表的流程图;图4为本专利技术的图片压缩解压方法流程图;图5为本专利技术的图片压缩效果图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1-图3,本专利技术提供的一种实施例:一种图片的压缩处理方法,包括以下步骤:步骤S1,获取待压缩图片的分辨率,所述分辨率包含H,W两个参数;步骤S2,获取图片的颜色规格,即整个图片中颜色的数量;其中一般低端嵌入式设备中使用是RGB565色的图片,如果图片个格式为png-8则整张图片位256种颜色;如果图片属于png-8则开始进入图片压缩流程,如果不是png-8,则先进入图片转换流程,将颜色进入近似压缩的流程,将整张图片颜色保持在256种颜色内;png-8图片一般通过色表+像素数据保存;不压缩的情况下png8240*240图片的存储空间大小为色表256*2字节+57600字节数据像素数据。总共大小为58112字节。步骤S3,提取图片的像素及颜色表进行压缩;其中,像素是指图片每个像素点,如一张图片分辨率是240*240则整个图片中包含的图片的像素是57600个像素点;颜色色表是图片颜色的索引表,将整张图片的颜色都保存到色表中;如图2、图3所示,为了提取图片像素及颜色表,步骤S3包括以下步骤:步骤S301,先保存好颜色色表的uint16ColorTab[256];uint8colorindex,Lastcolor,像素的数据uint8pixdata[H*W];步骤S302,开始压缩之前,需要将步骤S301准备的像素清零,进入准备压缩的过程;步骤S303,从像素的左上角开始往右下角开始像素的检索及压缩。在所述步骤S303中还包括以下步骤:步骤S3031,读取像素颜色;步骤S3032,在colortab中查看是否存在像素的颜色,存在则返回颜色在色表中的偏移值colorindex;如果不存在则添加颜色到色表,并返回当前颜色的偏移值colorindex;这个过程完成了颜色色表的填充及像素压缩提供计数。所述步骤S3032中返回的结果中颜色同lastcolor相同,则对pixcount++表示出现连续的颜色;然后对pix的像素数量增加本文档来自技高网...

【技术保护点】
1.一种图片的压缩处理方法,其特征在于:包括以下步骤:/n步骤S1,获取待压缩图片的分辨率,所述分辨率包含H,W两个参数;/n步骤S2,获取图片的颜色规格,即整个图片中颜色的数量;/n步骤S3,提取图片的像素及颜色表进行压缩;/n其中,步骤S3中包括:/n步骤S301,先保存好颜色色表的uint16 ColorTab[256];/nuint8 colorindex,Lastcolor,像素的数据uint8 pixdata[H*W];/n步骤S302,开始压缩之前,需要将步骤S301准备的像素清零,进入准备压缩的过程;/n步骤S303,从像素的左上角开始往右下角开始像素的检索及压缩。/n

【技术特征摘要】
1.一种图片的压缩处理方法,其特征在于:包括以下步骤:
步骤S1,获取待压缩图片的分辨率,所述分辨率包含H,W两个参数;
步骤S2,获取图片的颜色规格,即整个图片中颜色的数量;
步骤S3,提取图片的像素及颜色表进行压缩;
其中,步骤S3中包括:
步骤S301,先保存好颜色色表的uint16ColorTab[256];
uint8colorindex,Lastcolor,像素的数据uint8pixdata[H*W];
步骤S302,开始压缩之前,需要将步骤S301准备的像素清零,进入准备压缩的过程;
步骤S303,从像素的左上角开始往右下角开始像素的检索及压缩。


2.根据权利要求1所述的一种图片的压缩处理方法,其特征在于:在所述步骤S303中还包括以下步骤:
步骤S3031,读取像素颜色;
步骤S3032,在colortab中查看是否存在像素的颜色,存在则返回颜色在色表中的偏移值colorindex,如果不存在则添加颜色到色表,并返回当前颜色的偏移值colorindex;这个过程完成了颜色色表的填充及像素压缩提供计数。


3.根据权利要求2所述的一种图片的压缩处理方法,其特征在于:所述步骤S3032中返回的结果中颜色同lastcolor相同,则对pixcount++表示出现连续的颜色;然后对pix的像素数量增加,但是不保存。


4.根据权利要求2...

【专利技术属性】
技术研发人员:钟广沛宋军
申请(专利权)人:深圳市中科世为科技有限公司
类型:发明
国别省市:广东;44

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

1