![]() |
|
|
图片压缩
|
||||
问题描述: 现在的图片是越来越精美了,一幅美丽动人的图片,可能显示出上百万种颜色,栩栩如生J。然而,高分辨率的图片往往需要很大的存储空间L。为此,小明正在研究一种简单的图片压缩技术: ● 对象:用来压缩16色的图片(每个象素的颜色用0到15表示); ● 方式: 压缩后的编码用一个一个8位的字节来表示的:前4位为颜色,后4位为该颜色此后连续出现多 少次。 例如,一张图片压缩后的编码为:00100011 00010100。第一个字节表示:代号为 (0010)2=2的颜色连续出现(0011)2=3次;随后,代号为(0001)2=1的颜色连续出现了(0100)2 = 4次。 这样,就知道还原压缩后,图片有7个颜色象素依次为:2 2 2 1 1 1 1。 ● 效果: 如果不改变原图片的颜色,则1 1 2 1压缩后需要用3个字节来存储:00010010 00100001 00010001,压缩效果不好。而若将其中的2改变成1,则只需要用1个字节来存储:00010100。当然 ,代价是图片有所失真。 设原先图片颜色描述为数列A,压缩后还原的图片颜色描述为数列B,则 失真指数 = ∑│Ai-Bi│ 压缩指数 = 压缩后存储需要的字节数 × 2 总体效果值 = 失真指数 + 压缩指数 例如:1 1 2 1用 00010010 00100001 00010001来压缩,其失真指数为0,压缩指数为6,总 体效果值为6;如果用00010100来压缩,其失真指数为1,压缩指数为2,总体效果值为3。 总体效果值越低,表示压缩的越好。 为了验证自己压缩算法的优良性,小明希望你能编写一个程序,帮助他以最低的总体效果值来压缩一幅图片。 输入文件:piczip.in 输出文件:piczip.out 样例输入:piczip.in 样例输出:piczip.out |
||||
| 网站导航
| 关于曙光 | 联系我们
| 请提意见 Copyright © FuJian Sunshine Educational Info. Co.,Ltd. 福建曙光教育资讯有限公司 版权所有 |