1.利用程序huff_enc和huff_dec进行以下操作(在每种情况下,利用由被压缩图像生成的码本)
(a)对Sena、Sensin和Omaha图像进行编码。
(b)编写一段程序,得到相邻像素之差,然后利用huffman对差值图像进行编码。
给出以上每一次试验得出的文件大小,并解释其差别。
(a)以sensin.img为例,首先输入参数,sensin.img为输入,sensini.img为输出,storecode为码表。
对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)
图像 | 直接对像素编码 | 对差分图像编码 |
sena | 55KB | 32KB |
sinan | 59KB | 35KB |
omaha | 56KB | 52KB |
三幅图像中sena压缩比最大,sinan压缩比最小。压缩比越大图像被压缩的程度也就越大,说明图像的冗余信息越多。
文件名(压缩前) | 文件大小 | 压缩大小 | 文件名(压缩后) | Sensin码本压缩大小 |
Sena.img | 64kb(65536字节) | 55kb(56623字节) | S_sena.img | 55kb(56623字节) |
bookshelf1.img | 64kb(65536字节) | 58kb (59667字节) | S_bookshelf.img | 56kb(57094字节) |