版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_36558054/article/details/73440877
1.利用程序huff_enc和huff_dec进行以下操作(在每种情况下,利用由被压缩图像生成的码本)。
对sena、sensin和omaha图像进行编码如下:
压缩前 |
压缩后 |
压缩比
|
||
文件名称 |
文件大小 |
文件名称 |
文件大小 |
|
sena.img |
64KB |
sena.img |
54KB |
84.38% |
sinan.img |
64KB |
sinan.img |
57 KB |
89.06% |
omaha.img |
64KB |
omaha.img |
56 KB |
87.50% |
(b)编写一段程序,得到相邻像素之差,然后利用huffman对差值图像进行编码。
可以从下表的数据中看出:sena的压缩比最高,sensin次之,Omaha的最小,所以图片先计算差分图再使用Huffman编码可以不同程度的减少文件大小。
文件名(压缩前) |
大小 |
文件名(压缩后) |
大小 |
压缩比 |
Sena.img |
64kb |
asena.img |
31kb |
2.07:1 |
Sensin.img |
64kb |
asinan.img |
37kb |
1.76:1 |
Omaha.img |
64kb |
aomaha.img |
50kb |
1.28:1 |
3、利用程序huff_enc和huff_dec,并使用由Sensin图像生成的码本,对Bookshelf1和Sena图像进行编码。将这一结果与使用被压缩图像生成码本的情况进行对比。
文件名(压缩前) |
文件大小 |
压缩大小 |
文件名(压缩后) |
Sensin码本压缩大小 |
Sena.img |
64kb |
55kb |
Ssena.img |
51kb |
bookshelf1.img |
64kb |
58kb |
Sbookshelf.img |
53kb |