1.利用程序huff_enc和huff_dec进行以下操作(在每种情况下,利用由被压缩图像生成的码本)
(a)对Sena、Sensin和Omaha图像进行编码。
以sena.img为例,首先输入参数,sena.img为输入,senao.img为输出,codef为码表。
对sena、sensin和omaha图像进行编码如下:
压缩前 | 压缩后 | 压缩比
| ||
文件名称 | 文件大小 | 文件名称 | 文件大小 | |
sena.img | 64KB | sena.img | 55KB | 85.93% |
sinan.img | 64KB | sinan.img | 59 KB | 92.19% |
omaha.img | 64KB | omaha.img | 56 KB | 87.50% |
(b)编写一段程序,得到相邻像素之差,然后利用huffman对差值图像进行编码。
文件名(压缩前) | 大小 | 文件名(压缩后) | 大小 | 压缩比 |
Sena.img | 64kb(65536字节) | asena.img | 31kb(31685字节) | 2.07:1 |
Sensin.img | 64kb(65536字节) | asinan.img | 37kb(37262字节) | 1.76:1 |
Omaha.img | 64kb(65536字节) | aomaha.img | 51kb(51564字节) | 1.27:1 |
3、
文件名(压缩前) | 文件大小 | 压缩大小 | 文件名(压缩后) | Sensin码本压缩大小 |
Sena.img | 64kb(65536字节) | 55kb(56623字节) | Ssena.img | 55kb(56623字节) |
bookshelf1.img | 64kb(65536字节) | 58kb (59667字节) | Sbookshelf.img | 56kb(57094字节) |