Java 用哈夫曼编码技术对给定图像进行n次压缩
我正在用java编写一个程序,在这个程序中,用户输入一个给定的图像需要压缩多少次,它应该根据多少次压缩图像 首先,我们将图像转换为像素矩阵,找出每个像素出现在该矩阵中的概率,然后应用哈夫曼码以0的n 1的形式获得代码 现在,如果我们尝试第二次压缩它,我们将只有2个概率,即0 n 1。因此,我们现在不能应用哈夫曼码Java 用哈夫曼编码技术对给定图像进行n次压缩,java,image,compression,huffman-code,Java,Image,Compression,Huffman Code,我正在用java编写一个程序,在这个程序中,用户输入一个给定的图像需要压缩多少次,它应该根据多少次压缩图像 首先,我们将图像转换为像素矩阵,找出每个像素出现在该矩阵中的概率,然后应用哈夫曼码以0的n 1的形式获得代码 现在,如果我们尝试第二次压缩它,我们将只有2个概率,即0 n 1。因此,我们现在不能应用哈夫曼码 那么在这种情况下可以做什么呢?您可以在两个符号上应用算术代码。例如,如果零比一多得多,那么算术代码将通过对零和多个位进行编码来减少总位数。(这是通过将输出位视为二进制分数来实现的,每个
那么在这种情况下可以做什么呢?您可以在两个符号上应用算术代码。例如,如果零比一多得多,那么算术代码将通过对零和多个位进行编码来减少总位数。(这是通过将输出位视为二进制分数来实现的,每个新的输入位都缩小了二进制分数的范围。)
然而,在使用哈夫曼码进行压缩后,您会发现,1的数量与0的数量非常接近。这样它就不可压缩了。或者任何方式。压缩压缩数据通常只会增加开销,实际上会使其膨胀,而不是减少开销。当营养不良接近极限时,你就无能为力了。