压缩图像格式

时间:2014-12-04 19:58:27

标签: image graphics

假设我有一个2 x 2像素的16位灰度图像,完全随机。 信息内容为2 x 2 x 2字节= 8字节。

接下来,我将双线性插值在我现在形成边界的2 x 2个初始像素之间插入8 x 8时间像素。对于每个像素,我从彩虹色图中查找3字节RGB值。 如果我要将此图像存储为未压缩,则现在需要10 x 10 x 3字节= 300字节。

然而,信息内容并未增加太多。 超级智能压缩算法应该能够查看我的100个像素,并推断出我所做的并存储了初始的2 x 2灰度像素+彩色地图。

我应该使用哪种压缩的现有图像格式来存储这样的图像?

1 个答案:

答案 0 :(得分:1)

取决于您是否需要图像有损或无损。我会假设你想要无损。这取决于您对图像的处理方式以及如何生成图像。简短的回答是16位PNG没有透明度是最好的通用格式。如果你使用有损,JPEG往往更好,但它取决于图像连续色调的程度,如照片。 Google WebP是一种令人惊叹的格式,通常会打破另一种格式,但目前还没有很好的支持。

例如,如果您将图像用作游戏的纹理游戏工具包,则需要pvr纹理。在iOS中使用PNG文件但使用不同的字节顺序,因此默认情况下PNG文件会被重新编码,因此如果您要生成自己的PNG文件,则可以在确保以正确的字节顺序写入时关闭重新压缩。 / p>

并非所有PNG编码器都是等效的。有些人比其他人更聪明。所以这取决于你对保存尺寸的关注程度。 Photoshop很方便,但在创建小型PNG文件方面只能做得不错。有许多开源工具可以做得更好。我根据情况选择。通常取决于GUI和批处理选项的好坏。当我在代码中压缩时,它取决于我正在使用的环境。如果我在.NET中,我会看一下专业图像工具包的成本和StackOverflow上关于如何篡改内置图像类的信息。