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字节) |