经过量化后的数据中,出现了大量的0、10、20、-10和-20,其他的数据很少,因此可以利用RLE对其进行编码,将获得一个比较好的压缩比。但是由于对数据进行了量化,因此,部分数据还原后,与原始数据出现了较大的差异,即量化得太严重,已经让图像产生了较大的偏差。因此,在具体量化的时候,应该根据实际还原的效果来决定选用的量化参数,本文的程序中采用的量化方法是将数据对5求模后的尾数进行舍去。
8、VB对RLE压缩编码的实现
本人中采用一种最简单的RLE编码规则,即前后没有重复的数据保持不变,如果有重复数据,则在重复数据前先写入符号“@”和重复次数。程序流程图如下:
图五
程序实现中的三个技术处理细节:
8.1、由于图像的尺寸不一定能够被8整除,因此当出现不能被8整除的图像尺寸时,需要采取一定的措施,使得DCT变换能够正常进行。一种方法就是对图像多余的部分进行裁剪,这样虽然会造成图像的右边和下边像素的丢失,但是对于大图像来说,几个像素的丢失并不会对整个图像造成很大的影响,因此可以对其进行忽略。另一种方法就是在图像的右边和下边进行添加空白像素,将图片的大小补齐成能够被8整除。这样便可以实现DCT运算,在图像还原的时候将补上去的像素不进行显示即可较好的解决此问题。
文章来源于领测软件测试网 https://www.ltesting.net/