0

我的应用程序需要将非常小的 jpeg 文件(小于 2.5KB)存储为 QR 码中的数据(不能成为链接)。质量和尺寸都是一个问题。我可以保存的任何字节都可能意味着我可以使 QR 码更易于阅读。幸运的是,它们都具有标准分辨率(160x240)和色深(24 位)。

我有一个想法,即从 JPEG 文件本身中取出部分标头,然后让应用程序将标头重新添加到数据数组中,这样可以节省 600 字节(哇)。到目前为止,我进行压缩的方式是保留一个“黄金标准文件”并使用 Q = 80-10% 压缩该文件,直到它适合 2.5KB。

因为不同的压缩比意味着不同的标头,所以我的想法是让最终的压缩图像通过另一个已知的标准压缩通道。但是,如果“标准压缩”大于图像所采用的原始压缩,则尺寸实际上可能大于最终压缩图像。

有没有做这样的事情的标准方法?我觉得我可能正在做某事,但我似乎无法让它发挥作用。

4

1 回答 1

0

我最终做的是多级压缩,我存储了标题(D0-DB)和霍夫曼表(C4)。使用简单的替换算法,我可以通过这种方式节省大约 550 个字节。它不是 100% 理想的,但也不是一半差。我丢失了大约 50 个字节,但以提高质量和应用程序内存大小为代价的折衷是值得的。

为了更容易扫描,我在替换算法之前将最大大小减小到 1.9KB。

于 2012-07-11T12:48:17.957 回答