2、设一幅灰度级为8(分别用S0、S1、S2、S3、S4、S5、 S6、S7表示)的图像中,各灰度所对应的概率分别为0.40、0.18、 0.10、 0.10、 0.07、 0.06、 0.05、0.04。现对其进行哈夫曼编码,请写出编码过程和编码结果。
时间: 2023-09-25 16:15:30 浏览: 193
编码过程:
1. 将各灰度级按概率从大到小排序,得到如下表格:
| 灰度级 | 概率 |
|--------|------|
| S0 | 0.40 |
| S1 | 0.18 |
| S2 | 0.10 |
| S3 | 0.10 |
| S4 | 0.07 |
| S5 | 0.06 |
| S6 | 0.05 |
| S7 | 0.04 |
2. 将概率最小的两个灰度级进行合并,得到新的概率为0.05+0.04=0.09,合并后得到如下表格:
| 灰度级 | 概率 |
|--------|------|
| S0 | 0.40 |
| S1 | 0.18 |
| S2 | 0.10 |
| S3 | 0.10 |
| S4 | 0.07 |
| S5 | 0.06 |
| S6 | 0.09 |
| S7 | |
3. 重复步骤2,直到只剩下一个灰度级为止。得到如下哈夫曼树:
```
+----+
| |
+-----+ S0 |
| | |
| +----+
|
| +----+
| | |
+-----+ +----+
| | | |
| | | S1 |
| | | |
| | +----+
| |
| | +----+
| | | |
| +-----+ +----+
| | | | |
| | | | S2 |
| | | | |
| | | +----+
| | |
| | | +----+
| | | | |
| | +-----+ +----+
| | | | | |
| | | | | S3 |
| | | | | |
| | | | +----+
| | | |
| | | | +----+
| | | | | |
| | | +-----+ +----+
| | | | | | |
| | | | | | S4 |
| | | | | | |
| | | | | +----+
| | | | |
| | | | | +----+
| | | | | | |
| | | | +-----+ +----+
| | | | | | | |
| | | | | | | S5 |
| | | | | | | |
| | | | | | +----+
| | | | | |
| | | | | | +----+
| | | | | | | |
+-----+ | | | +-----+ S6 |
| | | | | |
+-----+ +-----+ +----+
| |
+-----+-----+
|
|
+----+
| |
| S7 |
| |
+----+
```
4. 对每个灰度级进行编码,从根节点出发,向左走为0,向右走为1,得到如下编码表:
| 灰度级 | 概率 | 编码 |
|--------|------|------|
| S0 | 0.40 | 0 |
| S1 | 0.18 | 10 |
| S2 | 0.10 | 110 |
| S3 | 0.10 | 111 |
| S4 | 0.07 | 1001 |
| S5 | 0.06 | 1000 |
| S6 | 0.09 | 101 |
| S7 | 0.04 | 10001|
编码结果:
将原图像中的每个像素值按照上表中的编码进行替换,得到编码后的图像。例如,原图像中的像素值为S0,则将其替换为编码为0的二进制数。
阅读全文