CN110572664A - 一种新的bmp图像压缩方法及系统 - Google Patents
一种新的bmp图像压缩方法及系统 Download PDFInfo
- Publication number
- CN110572664A CN110572664A CN201910747201.0A CN201910747201A CN110572664A CN 110572664 A CN110572664 A CN 110572664A CN 201910747201 A CN201910747201 A CN 201910747201A CN 110572664 A CN110572664 A CN 110572664A
- Authority
- CN
- China
- Prior art keywords
- data
- bit
- compression
- compressed
- rgb
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Color Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明属于图像处理领域,尤其涉及一种新的BMP图像压缩系统及方法。具体步骤如下:导入彩色图像;对彩色图像进行压缩,得到16位数据;为压缩后的数据添加标志位,得到新24位数据;轮询比对所有像素点的新24位数据是否相等;若是则进行连续相等压缩并换行补零,标志位自增1,最高位置0;否则进行连续不相等压缩并换行补零,最高位置1;判断所有像素点是否压缩完毕?若是则显示压缩前后数据,保存至bin文件,解压数据,并显示解压后图像;否则继续判断相邻像素点进行数据压缩;本发明的有益效果是:该压缩算法在压缩后数据长度不超过原数据的同时,确保色彩还原的准确性,且算法简单,相比传统压缩算法,其压缩效率和可靠性都得到了提升。
Description
技术领域
本发明属于图像处理领域,尤其涉及一种新的BMP图像压缩系统及方法。
背景技术
随着信息技术的快速发展,日常需要处理或传输的数据越来越多,特别是图像压缩一直是信息处理技术研究中最活跃的领域,而寻找压缩速度快、压缩比大的高效图像压缩方法已经越来越受到重视。不经过压缩的BMP图像占据空间较大,尤其是在一些嵌入式系统中,对于存储空间比较敏感。目前常用的压缩算法有哈夫曼编码、算术编码、LZW编码和RLE编码算法等。对于哈夫曼编码需要精确统计每个像素的概率,在编码时需要进行二次扫描图像数据,对于尺寸较大的图像编码速度下降,不利于实时显示;对于算术编码虽然能获得比哈夫曼编码更好的压缩比,但是算法的复杂高,解码过程的灵活性不高。对于LZW编码不需要遍历数据进行概率统计,可用于实时压缩,但随着字符流的不断增多,编码效率和时间都会都到限制。而对于RLE编码是最简单,编码速度快,但对于连续重复值较少的图像,可能会出现压缩后图像大小比原图要大。
为此,有人提出采用将BMP图像RGB数据连续重复特性实现图像压缩。如2009年9月30日公开的中国发明专利申请CN200810066377.1“一种BMP图片文件的压缩、解压缩方法及系统”,公开了一种BMP图片文件的压缩、解压缩方法及系统,该方法是读取BMP图片文件的位图文件头,位图信息头及颜色表;将所述位图文件头,位图信息头及颜色表写入压缩文件;顺序地读取BMP图像文件的位图数据,将图像象素的颜色值及其对应的Num值写入压缩文件,并且在写入连续多个相同的颜色值时,只写入其中一个颜色值及对应的Num值,其中,Num为连续相同的颜色值的个数。该压缩方法不仅能达到压缩BMP图片的目的,并且该压缩方法的算法较为简单,运算量较小。
为此,也有人提出利用RLE编码算法进行BMP图像压缩。如2013年5月29日公开的中国发明专利申请CN201210566067.2“基于RLE的图像压缩方法及装置”,公开了一种基于RLE的图像压缩方法及装置,方法包括:依次比较判断待压缩图像中相邻像素的像素值是否相同,相同时设置像素格式中的标志位为表示采用RLE编码的值并进行RLE编码,否则设置标志位为表示未采用RLE编码的值且不进行RLE编码;解码时,根据待解码像素的像素格式中的标志位来判断是否采用了RLE编码,如果根据标志位判断待解码像素采用了RLE编码,则采用RLE解码;其中,标志位为RGB像素格式中G对颜色显示影响最小的一位。该发明能够解决传统RLE算法在某些情况下编码后数据量反而增大的问题,仅会损失很少的像素精度,达到的压缩比也大于RLE算法;并且整个编码及解码过程仅用到移位和位操作,简单方便。
但是,由于上述发明设计的技术方案中,前面对于BMP图像RGB数据连续重复特性进行压缩,对于连续重复像素较少的图像,而且对于图像压缩时,可能会产生多余的存放相同像素个数字节,造成压缩后图像大小比原图要大;第二种基于RLE的图像压缩方法及装置,连续多个不相同像素值不采用RLE编码压缩,一定程度上降低了压缩效率,不适用于较多连续不相同像素值的图像压缩,例如对于一些连续重复值较少的灰度图和色彩丰富的彩色图像,无法取得很好的压缩效果。
发明内容
本发明的目的是设计一种新的BMP图像压缩系统及方法。
一种新的BMP图像压缩方法,具体步骤包括:
S101:导入本地BMP彩色图像;
S102:对导入的彩色图像的每一个像素依次取R通道的高5位数据、G通道的高6位数据和B通道的高5位数据,并删除R通道低3位、G通道低2位和B通道低3位数据,组成新的16位RGB数据;其中,所述彩色图像有红绿蓝RGB三个颜色通道,每个通道8位数据,共24位数据;
S103:为每个像素点预留标志位Len,并初始化为0x01,其大小为1个字节,共8位;所述标志位,用于存放拥有相同16位RGB数据的像素点个数;其最高位预留用以表示像素数据的压缩方法,0为连续相等压缩,1为连续不相等压缩,取值范围从0000000至01111111,即0x00至0x7f;
S104:选取第一个像素点为第一节点,其压缩后的16位RGB数据作为原数据,轮询比对其后面所有像素点的压缩后的16位RGB数据,判断是否相等?若是,则标志位Len自增1,进行连续相等压缩并换行补零,并将标志位Len最高位置0,到步骤S105;否则,直接到步骤S105;
S105:将不相等的像素点作为次像素点;选择次像素点的为第二节点继续进行轮询,判断次像素点与其后面所有像素点的压缩后的16为RGB数据是否相等?若仍然相等,则标志位Len再次自增1,进行连续相等压缩并换行补零,到步骤S106;否则,进行连续不相等压缩并换行补零,将标志位Len最高位置1;
S106:判断所有像素点是否已经轮询完毕?若是,则进入步骤S107;否则跳转至步骤S105;
S107:读取所述压缩数组的数据及,将BMP图像的压缩前和压缩后数据进行显示;
S108:将压缩后的BMP图像数据保存为Bin文件;
S109:解压缩Bin文件,并显示解压后的图片。
进一步地,所述连续相等压缩,指对具有相同16位RGB数据的像素点进行压缩;其压缩后的数据格式为Len1+RGB_data1,其中标志位Len1表示拥有相同16位RGB数据的像素点的总个数,RGB_data1为16位RGB数据的值。
进一步地,所述连续不相等压缩,指对具有不同16位RGB数据的像素点进行压缩;压缩后的数据格式为Len2+RGB_data2,其中标志位Len2表示拥有不同16位RGB数据的像素点的总个数,RGB_data2为Len2个16位RGB数据组合后的值。
进一步的,所述换行补零,具体为通过将整副图像的压缩数据的个数与得图像的宽度值进行取余即可寻址到换行处,换行符通过在后面整副图像的压缩数据应换行处补零,并记录补零个数。
进一步地,所述Bin文件,其组成形式由经连续相等压缩后的数据+连续不相等压缩后的数据+取址换行补零的数据混合组成;所述解压缩Bin文件,根据待解压数据的最高位来判断是连续相等压缩的数据还是连续不相等压缩数据,同时根据换行补零来判断是否进行换行。
一种新的BMP图像压缩系统,包括以下模块:
图像导入模块,用于导入本地BMP彩色图像;
数据压缩模块,用于对导入的彩色图像,其有红绿蓝RGB三个颜色通道,每个通道8位,共24位数据;对每一个像素依次取R通道的高5位数据、G通道的高6位数据和B通道的高5位数据,并删除R通道低3位、G通道低2位和B通道低3位数据,组成新的16位RGB数据;
标志位设置模块,用于为每个像素点预留标志位Len,并初始化为0x01,其大小为1个字节,共8位;所述标志位,用于存放拥有相同16位RGB数据的像素点个数;其最高位预留用以表示像素数据的压缩方法,0为连续相等压缩,1为连续不相等压缩,取值范围从0000000至01111111,即0x00至0x7f;
第一对比模块,用于相邻像素点间的数据对比;具体步骤如下:选取第一个像素点为第一节点,其压缩后的16位RGB数据作为原数据,轮询比对其后面所有像素点的压缩后的16位RGB数据,判断是否相等?若是,则标志位Len自增1,进行连续相等压缩并换行补零,并将标志位Len最高位置0,到第二对比模块;否则,直接到第二对比模块;
第二对比模块,用于相邻像素点间的数据比对;具体步骤如下:将不相等的像素点作为次像素点;选择次像素点的为第二节点继续进行轮询,判断次像素点与其后面所有像素点的压缩后的16为RGB数据是否相等?若仍然相等,则标志位Len再次自增1,进行连续相等压缩并换行补零,进入判断模块;否则,进行连续不相等压缩并换行补零,将标志位Len最高位置1;判断模块,用于判断所有像素点是否已经轮询完毕?若是,则进入参数显示模块;否则跳转至第二对比模块;
判断模块,用于判断所有像素点是否已经轮询完毕?若是,则参数显示模块;否则跳转至第二对比模块;
参数显示模块,用于将BMP图像的压缩前和压缩后数据进行显示;
文件保存模块,用于将压缩后的BMP图像数据保存为Bin文件;
解压模块,用于解压缩Bin文件,并显示解压后的图片。
进一步地,在第一对比模块中,所述连续相等压缩,指对具有相同16位RGB数据的像素点进行压缩;其压缩后的数据格式为Len1+RGB_data1,其中标志位Len1表示拥有相同16位RGB数据的像素点的总个数,RGB_data1为16位RGB数据的值。
进一步地,在第二对比模块中,所述连续不相等压缩,指对具有不同16位RGB数据的像素点进行压缩;压缩后的数据格式为Len2+RGB_data2,其中标志位Len2表示拥有不同16位RGB数据的像素点的总个数,RGB_data2为Len2个16位RGB数据组合后的值。
进一步地,在第一对比模块中,所述换行补零,具体为通过将整副图像的压缩数据的个数与得图像的宽度值进行取余即可寻址到换行处,换行符通过在后面整副图像的压缩数据应换行处补零,并记录补零个数。
在文件保存模块中,所述Bin文件,其组成形式由经连续相等压缩后的数据+连续不相等压缩后的数据+取址换行补零的数据混合组成;所述解压缩Bin文件,根据待解压数据的最高位来判断是连续相等压缩的数据还是连续不相等压缩数据,同时根据换行补零来判断是否进行换行。
本发明的有益效果是:该压缩算法在压缩后数据长度不超过原数据的同时,确保色彩还原的准确性,且算法简单,相比传统压缩算法,其压缩效率和可靠性都得到了提升。
附图说明
下面将结合附图及实例对本发明作进一步说明,附图中:
图1是本发明实施例中一种新的BMP图像压缩方法的流程图;
图2是本发明实施例中一种新的BMP图像压缩系统模块结构图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
本发明的实施例提供了一种新的BMP图像压缩方法及系统。
请参考图1,图1是本发明实施例中一种新的BMP图像压缩方法的流程图:
一种新的BMP图像压缩方法,具体步骤包括:
S101:导入本地BMP彩色图像;
S102:对导入的彩色图像的每一个像素依次取R通道的高5位数据、G通道的高6位数据和B通道的高5位数据,并删除R通道低3位、G通道低2位和B通道低3位数据,组成新的16位RGB数据;其中,所述彩色图像有红绿蓝RGB三个颜色通道,每个通道8位数据,共24位数据;举例说明如下:原彩色图像中一个像素点的R、G、B三个通道的取值范围均在0-255,假设该像素点对应的R通道取值为0x46、G通道取值为0x8a、B通道取值为0xca,转换成二进制后,分别为01000010、10001010、11001010,则本发明中,取R通道的高5位数据、G通道的高6位数据和B通道的高5位数据,即01000、100010、11001,将其重新组合成为0100010001011001,转换成16进制后为0x4459,以此得到新的16位RGB数据。
S103:为每个像素点预留标志位Len,并初始化为0x01,其大小为1个字节,共8位;所述标志位,用于存放拥有相同16位RGB数据的像素点个数;其最高位预留用以表示像素数据的压缩方法,0为连续相等压缩,1为连续不相等压缩,取值范围从0000000至01111111,即0x00至0x7f;
S104:选取第一个像素点为第一节点,其压缩后的16位RGB数据作为原数据,轮询比对其后面所有像素点的压缩后的16位RGB数据,判断是否相等?若是,则标志位Len自增1,进行连续相等压缩并换行补零,并将标志位Len最高位置0,到步骤S105;否则,直接到步骤S105;
对于连续相等压缩地过程,举例说明如下:若一个中心像素点新的24位RGB数据为0x01ca31,其相邻像素点的新的24位RGB数据也为0x01ca31,则将两个数据连续压缩后,得到的数据为0x02ca31,其中02位标志位的值,其二进制为00000010,它的最高位为0,表示是连续压缩,其余位表示相同16为RGB数据的个数,这里换算成10进制为2个;后面的ca31表示取R通道高5、G通道高6、B通道高5位组合后形成的16位RGB数据的值。
S105:将不相等的像素点作为次像素点;选择次像素点的为第二节点继续进行轮询,判断次像素点与其后面所有像素点的压缩后的16为RGB数据是否相等?若仍然相等,则标志位Len再次自增1,进行连续相等压缩并换行补零,到步骤S106;否则,进行连续不相等压缩并换行补零,将标志位Len最高位置1;
对于连续不相等压缩地过程,举例说明如下:若一个中心像素点新的24位RGB数据为0x01ca32,其相邻的像素点新的24位RGB数据为0x014532,第二个相邻的像素点新的24位RGB数据为0x01c532,连续出现3个标志位均为01,即表示3个数据都不相等,则进行连续不相等压缩,处理后得到数据0x83ca324532c532,该数据中83表示标志位的16进制值,换算成2进制为10000011,其最高位为1,表示连续不相等压缩过程,其余位表示不相等的RGB值得数据个数,为3个;后面的ca324532c532为不相等RGB数据值的组合。
对于换行补零的过程,举例说明如下:若在进行换行补零前,经压缩后的数据为0x01cab2 84ca324532c532ca36 03113a 02cf32 013567 03113b 02cf20(经压缩后的数据都存放在一个连续数组里,即压缩后的数据是连续的,其长度取决于各个图像本身,为24位的整数倍)。对该数据解释如下:01cab2表示有1个像素点,其压缩后的16位RGB值为cab2;84ca324532c532ca36,表示有4个像素点,其压缩后的16位RGB值分别为ca32、4532、ca32和ca36;03113a,表示有3个像素点,其压缩后的16位RGB值都为113a;02cf32,表示有2个像素点,其压缩后的16位RGB值都为cf32;013567,表示有1个像素点,其压缩后的16位RGB值为3567;03113b,表示有3个像素点,其压缩后的16位RGB值都为113b;02cf20,表示有2个像素点,其压缩后的16位RGB值都为cf20。通过以上得知,经压缩后,共有16个像素点,假设图像的总宽度为11,即每行有11个像素点,则压缩后的总像素点16与11进行取余运算,得16%11=5,即换行补零算法将在01cab2 04ca324532c532ca36 03113a 02cf32 013567后进行补零,补零位占一个字,进行补零后,数据变为经压缩后的总数据变为01cab204ca324532c532ca36 03113a 02cf32 013567 00 03113b 02cf20,相比换行补零之前,多了换行标志位00。后续进行解压缩时,即可通过这里添加的换行标志位00来对数据进行换行,以便正确对图像进行解压。
S106:判断所有像素点是否已经轮询完毕?若是,则进入步骤S107;否则跳转至步骤S105;
S107:将BMP图像的压缩前和压缩后数据进行显示;
S108:将压缩后的BMP图像数据保存为Bin文件;
S109:解压缩Bin文件,并通过所述压缩后图像参数显示模块显示解压后的图片。
所述连续相等压缩,指对具有相同16位RGB数据的像素点进行压缩;其压缩后的数据格式为Len1+RGB_data1,其中标志位Len1表示拥有相同16位RGB数据的像素点的总个数,RGB_data1为16位RGB数据的值。
所述连续不相等压缩,指对具有不同16位RGB数据的像素点进行压缩;压缩后的数据格式为Len2+RGB_data2,其中标志位Len2表示拥有不同16位RGB数据的像素点的总个数,RGB_data2为Len2个16位RGB数据组合后的值。
所述换行补零,具体为通过将整副图像的压缩数据的个数与得图像的宽度值进行取余即可寻址到换行处,换行符通过在后面整副图像的压缩数据应换行处补零,并记录补零个数。
所述Bin文件,其组成形式由经连续相等压缩后的数据+连续不相等压缩后的数据+取址换行补零的数据混合组成;所述解压缩Bin文件,根据待解压数据的最高位来判断是连续相等压缩的数据还是连续不相等压缩数据,同时根据换行补零来判断是否进行换行。
请参考图2,图2是本发明实施例中一种新的BMP图像压缩系统模块结构图。一种新的BMP图像压缩系统,包括以下模块:
图像导入模块11,用于导入本地BMP彩色图像;
数据压缩模块12,用于对导入的彩色图像,其有红绿蓝RGB三个颜色通道,每个通道8位,共24位数据;对每一个像素依次取R通道的高5位数据、G通道的高6位数据和B通道的高5位数据,并删除R通道低3位、G通道低2位和B通道低3位数据,组成新的16位RGB数据;
标志位设置模块13,用于为每个像素点预留标志位Len;标志位Len初始化为0x01,其大小为1个字节,共8位;所述标志位,用于存放拥有相同16位RGB数据的像素点个数;
第一对比模块14,用于相邻像素点间的数据对比;具体步骤如下:选取第一个像素点为第一节点,其压缩后的16位RGB数据作为原数据,轮询比对其后面所有像素点的压缩后的16位RGB数据,判断是否相等?若是,则标志位Len自增1,进行连续相等压缩并换行补零,并将标志位Len最高位置0,到第二对比模块;否则,直接到第二对比模块;
第二对比模块15,用于相邻像素点间的数据比对;具体步骤如下:将不相等的像素点作为次像素点;选择次像素点的为第二节点继续进行轮询,判断次像素点与其后面所有像素点的压缩后的16为RGB数据是否相等?若仍然相等,则标志位Len再次自增1,进行连续相等压缩并换行补零,进入判断模块;否则,进行连续不相等压缩并换行补零,将标志位Len最高位置1;判断模块,用于判断所有像素点是否已经轮询完毕?若是,则进入参数显示模块;否则跳转至第二对比模块;
判断模块16,用于判断所有像素点是否已经轮询完毕?若是,则进入参数显示模块17;否则跳转至第二对比模块;
参数显示模块17,用于将BMP图像的压缩前和压缩后数据进行显示;
文件保存模块18,用于将压缩后的BMP图像数据保存为Bin文件;
解压模块19,用于解压缩Bin文件,并通过所述参数显示模块显示解压后的图片。
在标志位设置模块13中,所述连续相等压缩,指对具有相同16位RGB数据的像素点进行压缩;其压缩后的数据格式为Len1+RGB_data1,其中标志位Len1表示拥有相同16位RGB数据的像素点的总个数,RGB_data1为16位RGB数据的值。
在标志位设置模块13中,所述连续不相等压缩,指对具有不同16位RGB数据的像素点进行压缩;压缩后的数据格式为Len2+RGB_data2,其中标志位Len2表示拥有不同16位RGB数据的像素点的总个数,RGB_data2为Len2个16位RGB数据组合后的值。
在第一对比模块14中,所述换行补零,具体为通过将整副图像的压缩数据的个数与得图像的宽度值进行取余即可寻址到换行处,换行符通过在后面整副图像的压缩数据应换行处补零,并记录补零个数。
在文件保存模块18中,所述Bin文件,其组成形式由经连续相等压缩后的数据+连续不相等压缩后的数据+取址换行补零的数据混合组成;所述解压缩Bin文件,根据待解压数据的最高位来判断是连续相等压缩的数据还是连续不相等压缩数据,同时根据换行补零来判断是否进行换行。
本发明的有益效果是:该压缩算法在压缩后数据长度不超过原数据的同时,确保色彩还原的准确性,且算法简单,相比传统压缩算法,其压缩效率和可靠性都得到了提升。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种新的BMP图像压缩方法,其特征在于:具体包括以下步骤:
S101:导入本地BMP彩色图像;
S102:对导入的彩色图像的每一个像素依次取R通道的高5位数据、G通道的高6位数据和B通道的高5位数据,并删除R通道低3位、G通道低2位和B通道低3位数据,组成新的16位RGB数据;其中,所述彩色图像有红绿蓝RGB三个颜色通道,每个通道8位数据,共24位数据;
S103:为每个像素点预留标志位Len,并初始化为0x01,其大小为1个字节,共8位;所述标志位,用于存放拥有相同16位RGB数据的像素点个数;其最高位预留用以表示像素数据的压缩方法,0为连续相等压缩,1为连续不相等压缩,取值范围从0000000至01111111,即0x00至0x7f;
S104:选取第一个像素点为第一节点,其压缩后的16位RGB数据作为原数据,轮询比对其后面所有像素点的压缩后的16位RGB数据,判断是否相等?若是,则标志位Len自增1,进行连续相等压缩并换行补零,并将标志位Len最高位置0,到步骤S105;否则,直接到步骤S105;
S105:将不相等的像素点作为次像素点;选择次像素点的为第二节点继续进行轮询,判断次像素点与其后面所有像素点的压缩后的16为RGB数据是否相等?若仍然相等,则标志位Len再次自增1,进行连续相等压缩并换行补零,到步骤S106;否则,进行连续不相等压缩并换行补零,将标志位Len最高位置1;
S106:判断所有像素点是否已经轮询完毕?若是,则进入步骤S107;否则跳转至步骤S105;
S107:读取所述压缩数组的数据及,将BMP图像的压缩前和压缩后数据进行显示;
S108:将压缩后的BMP图像数据保存为Bin文件;
S109:解压缩Bin文件,并显示解压后的图片。
2.如权利要求1所述的一种新的BMP图像压缩方法,其特征在于:在步骤S103中,所述连续相等压缩,指对具有相同16位RGB数据的像素点进行压缩;其压缩后的数据格式为Len1+RGB_data1,其中标志位Len1表示拥有相同16位RGB数据的像素点的总个数,RGB_data1为16位RGB数据的值。
3.如权利要求1所述的一种新的BMP图像压缩方法,其特征在于:在步骤S103中,所述连续不相等压缩,指对具有不同16位RGB数据的像素点进行压缩;压缩后的数据格式为Len2+RGB_data2,其中标志位Len2表示拥有不同16位RGB数据的像素点的总个数,RGB_data2为Len2个16位RGB数据组合后的值。
4.如权利要求1所述的一种新的BMP图像压缩方法,其特征在于,在步骤S104中,所述换行补零,具体为通过将整副图像的压缩数据的个数与得图像的宽度值进行取余即可寻址到换行处,换行符通过在后面整副图像的压缩数据应换行处补零,并记录补零个数。
5.如权利要求1所述的一种新的BMP图像压缩方法,其特征在于:在步骤S108中,所述Bin文件,其组成形式由经连续相等压缩后的数据+连续不相等压缩后的数据+换行补零的数据混合组成;所述解压缩Bin文件,根据待解压数据的最高位来判断是连续相等压缩的数据还是连续不相等压缩数据,同时根据换行补零来判断是否进行换行,以便对数据正确解压。
6.一种新的BMP图像压缩系统,其特征在于:包括以下模块:
图像导入模块,用于导入本地BMP彩色图像;
数据压缩模块,用于对导入的彩色图像,其有红绿蓝RGB三个颜色通道,每个通道8位,共24位数据;对每一个像素依次取R通道的高5位数据、G通道的高6位数据和B通道的高5位数据,并删除R通道低3位、G通道低2位和B通道低3位数据,组成新的16位RGB数据;
标志位设置模块,用于为每个像素点预留标志位Len,并初始化为0x01,其大小为1个字节,共8位;所述标志位,用于存放拥有相同16位RGB数据的像素点个数;其最高位预留用以表示像素数据的压缩方法,0为连续相等压缩,1为连续不相等压缩,取值范围从0000000至01111111,即0x00至0x7f;
第一对比模块,用于相邻像素点间的数据对比;具体步骤如下:选取第一个像素点为第一节点,其压缩后的16位RGB数据作为原数据,轮询比对其后面所有像素点的压缩后的16位RGB数据,判断是否相等?若是,则标志位Len自增1,进行连续相等压缩并换行补零,并将标志位Len最高位置0,到第二对比模块;否则,直接到第二对比模块;
第二对比模块,用于相邻像素点间的数据比对;具体步骤如下:将不相等的像素点作为次像素点;选择次像素点的为第二节点继续进行轮询,判断次像素点与其后面所有像素点的压缩后的16为RGB数据是否相等?若仍然相等,则标志位Len再次自增1,进行连续相等压缩并换行补零,进入判断模块;否则,进行连续不相等压缩并换行补零,将标志位Len最高位置1;判断模块,用于判断所有像素点是否已经轮询完毕?若是,则进入参数显示模块;否则跳转至第二对比模块;
参数显示模块,用于将BMP图像的压缩前和压缩后数据进行显示;
文件保存模块,用于将压缩后的BMP图像数据保存为Bin文件;
解压模块,用于解压缩Bin文件,并显示解压后的图片。
7.如权利要求6所述的一种新的BMP图像压缩系统,其特征在于:在标志位设置模块中,所述连续相等压缩,指对具有相同16位RGB数据的像素点进行压缩;其压缩后的数据格式为Len1+RGB_data1,其中标志位Len1表示拥有相同16位RGB数据的像素点的总个数,RGB_data1为16位RGB数据的值。
8.如权利要求6所述的一种新的BMP图像压缩系统,其特征在于:在标志位设置模块中,所述连续不相等压缩,指对具有不同16位RGB数据的像素点进行压缩;压缩后的数据格式为Len2+RGB_data2,其中标志位Len2表示拥有不同16位RGB数据的像素点的总个数,RGB_data2为Len2个16位RGB数据组合后的值。
9.如权利要求6所述的一种新的BMP图像压缩系统,其特征在于,在第一对比模块中,所述换行补零,具体为通过将整副图像的压缩数据的个数与得图像的宽度值进行取余即可寻址到换行处,换行符通过在后面整副图像的压缩数据应换行处补零,并记录补零个数。
10.如权利要求6所述的一种新的BMP图像压缩系统,其特征在于:在文件保存模块中,所述Bin文件,其组成形式由经连续相等压缩后的数据+连续不相等压缩后的数据+换行补零的数据混合组成;所述解压缩Bin文件,根据待解压数据的最高位来判断是连续相等压缩的数据还是连续不相等压缩数据,同时根据换行补零来判断是否进行换行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910747201.0A CN110572664A (zh) | 2019-08-14 | 2019-08-14 | 一种新的bmp图像压缩方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910747201.0A CN110572664A (zh) | 2019-08-14 | 2019-08-14 | 一种新的bmp图像压缩方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110572664A true CN110572664A (zh) | 2019-12-13 |
Family
ID=68775384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910747201.0A Pending CN110572664A (zh) | 2019-08-14 | 2019-08-14 | 一种新的bmp图像压缩方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110572664A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112165588A (zh) * | 2020-09-28 | 2021-01-01 | 成都微光集电科技有限公司 | 屏幕叠加显示系统和方法、图片压缩方法 |
CN116309893A (zh) * | 2023-05-18 | 2023-06-23 | 深圳市微克科技有限公司 | 一种图片压缩方法、装置、存储介质和电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030179925A1 (en) * | 2002-03-25 | 2003-09-25 | Chiun-Wen Hsu | Method for compressing an image by classifying colors |
CN1531209A (zh) * | 2003-03-11 | 2004-09-22 | 佳能株式会社 | 编码方法和编码装置、计算机程序以及存储介质 |
US20040252894A1 (en) * | 2003-06-11 | 2004-12-16 | Olympus Corporation | Image compression apparatus and image processing system |
CN101546434A (zh) * | 2008-03-28 | 2009-09-30 | 深圳市同洲电子股份有限公司 | 一种bmp图片文件的压缩、解压缩方法及系统 |
CN101833774A (zh) * | 2010-04-27 | 2010-09-15 | 无锡朗能科技有限公司 | 一种简单色彩图像的压缩方法 |
CN102088604A (zh) * | 2011-02-10 | 2011-06-08 | 深圳创维数字技术股份有限公司 | 一种影片缩略图的压缩方法及压缩装置 |
CN103124350A (zh) * | 2012-12-24 | 2013-05-29 | 东软集团股份有限公司 | 基于rle的图像压缩方法及装置 |
US20130329098A1 (en) * | 2012-05-31 | 2013-12-12 | Apple Inc. | Systems and Methods for Defective Pixel Correction with Neighboring Pixels |
CN104301726A (zh) * | 2014-09-15 | 2015-01-21 | 成都智明达数字设备有限公司 | 一种图像无损压缩与解压缩的方法 |
CN108900843A (zh) * | 2018-07-31 | 2018-11-27 | 京东方科技集团股份有限公司 | 单色图像压缩方法、装置、介质及电子设备 |
-
2019
- 2019-08-14 CN CN201910747201.0A patent/CN110572664A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030179925A1 (en) * | 2002-03-25 | 2003-09-25 | Chiun-Wen Hsu | Method for compressing an image by classifying colors |
CN1531209A (zh) * | 2003-03-11 | 2004-09-22 | 佳能株式会社 | 编码方法和编码装置、计算机程序以及存储介质 |
US20040252894A1 (en) * | 2003-06-11 | 2004-12-16 | Olympus Corporation | Image compression apparatus and image processing system |
CN101546434A (zh) * | 2008-03-28 | 2009-09-30 | 深圳市同洲电子股份有限公司 | 一种bmp图片文件的压缩、解压缩方法及系统 |
CN101833774A (zh) * | 2010-04-27 | 2010-09-15 | 无锡朗能科技有限公司 | 一种简单色彩图像的压缩方法 |
CN102088604A (zh) * | 2011-02-10 | 2011-06-08 | 深圳创维数字技术股份有限公司 | 一种影片缩略图的压缩方法及压缩装置 |
US20130329098A1 (en) * | 2012-05-31 | 2013-12-12 | Apple Inc. | Systems and Methods for Defective Pixel Correction with Neighboring Pixels |
CN103124350A (zh) * | 2012-12-24 | 2013-05-29 | 东软集团股份有限公司 | 基于rle的图像压缩方法及装置 |
CN104301726A (zh) * | 2014-09-15 | 2015-01-21 | 成都智明达数字设备有限公司 | 一种图像无损压缩与解压缩的方法 |
CN108900843A (zh) * | 2018-07-31 | 2018-11-27 | 京东方科技集团股份有限公司 | 单色图像压缩方法、装置、介质及电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112165588A (zh) * | 2020-09-28 | 2021-01-01 | 成都微光集电科技有限公司 | 屏幕叠加显示系统和方法、图片压缩方法 |
CN116309893A (zh) * | 2023-05-18 | 2023-06-23 | 深圳市微克科技有限公司 | 一种图片压缩方法、装置、存储介质和电子设备 |
CN116309893B (zh) * | 2023-05-18 | 2023-08-11 | 深圳市微克科技有限公司 | 一种图片压缩方法、装置、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5069349B2 (ja) | 格納およびバスバンド幅の要求を最小限に抑える効率的な画像圧縮方式 | |
US7751630B2 (en) | Multi-mode image processing | |
US6639945B2 (en) | Method and apparatus for implementing motion detection in video compression | |
EP2406953B1 (en) | A method of compression of graphics images and videos | |
US8908982B2 (en) | Image encoding device and image encoding method | |
CN111971967A (zh) | 一种用于编码/解码表示3d对象的点云的方法和装置 | |
CN102104764A (zh) | 一种图像序列的压缩存储处理方法 | |
US20120114045A1 (en) | Video processing architecture | |
CN110572664A (zh) | 一种新的bmp图像压缩方法及系统 | |
CN103124350A (zh) | 基于rle的图像压缩方法及装置 | |
KR100834439B1 (ko) | 그래픽 데이터 압축 및 복원 장치와 그 방법 | |
CN104575427A (zh) | 一种适合嵌入式系统解码的高压缩比无损图像压缩方法 | |
US7286264B2 (en) | None-of-the-above digital halftone compression and decompression | |
CN114363625A (zh) | 对数据阵列进行解码 | |
CN110971904A (zh) | 一种图像压缩的控制方法 | |
CN107343203B (zh) | 基于open-exr图像的jpeg无损压缩方法 | |
US8582906B2 (en) | Image data compression and decompression | |
Banerjee et al. | An efficient image compression algorithm for almost dual-color image based on k-means clustering, bit-map generation and RLE | |
CN108711191A (zh) | 一种视频处理方法和vr设备 | |
US8238674B2 (en) | Method for encoding and decoding images | |
GB2603895A (en) | Data transfers in neural processing | |
US6301300B1 (en) | Method and apparatus for efficiently coding and decoding sparse images | |
US7164803B2 (en) | Method for encoding digitized images | |
CN105578191B (zh) | 基于直方图滑动窗口的索引图基色选择方法 | |
CN113256747B (zh) | 一种位图索引压缩方法、解压缩方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191213 |
|
WD01 | Invention patent application deemed withdrawn after publication |