从 jpg 转换为质量值为 100 的 webp 时,图像大小会增加

Image size is increased when converted from jpg to webp with quality value 100

我想用 .webp 替换 android 项目中的 .png 和 .jpg 文件以减少 应用大小。

我正在验证 jpg 到 webp 转换的这 3 个案例(对于 .png 和 .jpg):

  1. 有损,质量为 80%
  2. 100% 质量的有损
  3. 无损

对于案例 1,大小按预期减少了约 30%

但对于情况 1 和情况 2,大小显着增加(170KB 的 .jpg 到 470KB 的 .webp)而不是减少。

使用的命令:

cwebp -q 100 input.jpg -o output.webp

对于转换为 .webp 格式时尺寸减小的所有三种情况,这对 .png 图像工作正常。

但是 .jpg 图像不一样吗? 缩小尺寸是否取决于 .jpg 图像? 从 .jpg/.png 转换为 .webp 时,尺寸是否保证减小? 为什么尺寸变大了?

libwebp 版本:libwebp-0.4.3 OS - Windows 64 位

您面临的问题是,对于 JPEG,您可以操纵大量变量以获得不同的压缩率。这就是您从有损压缩中获得的好处。无损压缩往往很少(如果有的话)。在无损压缩中,权衡是时间与压缩。在有损中,它是质量与压缩。

你是运行经过第二次有损压缩过程的有损压缩图像,并得到相当不可预测的结果。

真正的比较是获取您的 PNG 图像并使用 webp 和 JPEG 压缩它们并使用各种设置来查看与压缩相比您获得的质量。

包括对 WebP 格式附带的 Google 文档的引用,该文档涉及在转换为 WebP 格式时文件大小可能会增加。

Yes, usually when converting from a lossy format to WebP lossless or vice versa. This is mainly due to the colorspace difference (YUV420 vs ARGB) and the conversion between these.

https://developers.google.com/speed/webp/faq#can_a_webp_image_grow_larger_than_its_source_image