【问题标题】:Compressing a given image n times using huffman coding technique使用霍夫曼编码技术将给定图像压缩 n 次
【发布时间】:2014-04-05 17:44:27
【问题描述】:

我正在用 java 编写一个程序,在该程序中从用户那里获取关于给定图像需要压缩多少次的输入,基于它应该压缩图像。

最初,我们将图像转换为像素矩阵,找到每个像素出现在该矩阵中的概率,然后应用霍夫曼代码获得 0's n 1's 形式的代码。

现在如果我们第二次尝试压缩它,我们将只有 2 个概率,即 0 n 1。因此我们现在无法应用霍夫曼代码。

那么在这种情况下可以做些什么呢?

【问题讨论】:

  • 压缩压缩数据通常只会增加开销,实际上会膨胀而不是减少开销。当熵接近极值时,您无能为力。

标签: java image compression huffman-code


【解决方案1】:

您可以对两个符号应用算术代码。例如,如果零多于一,那么算术代码将通过对每个少于一位的零和多于一位的零进行编码来减少总位数。 (这是通过将输出位视为二进制分数来完成的,并且每个新的输入位都会缩小二进制分数的范围。)

但是,在使用 Huffman 码进行压缩后,您会发现,您将拥有非常接近与零相同数量的 1。以这种方式将不可压缩。或者真的任何方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多