我有几张旧的 BPG 编码图片。由于使用 PNG 作为输入格式,它们有一个 (空) alpha 通道,因此无法通过较新的 libbpg 解码:
版本0.9.4:
- 修改了 alpha 平面编码以允许渐进式显示和流式编码。此更改不兼容,因此无法解码包含以前版本格式的 alpha 的图像。
我不需要这个 alpha 通道。如何将它们无损转换为新的 BPG 格式?
答案1
使用我的工具从中删除 alpha 通道:https://gist.github.com/vi/9297cd5bf80f0b34e8a2
它从旧的 BPG 文件中删除 alpha 通道,使得它们可以被较新的 BPG 解码器解码。
$ bpgdec -i test.bpg
size=1606x1263 color_space=YCbCr alpha=1 premul=0 format=4:2:0 limited_range=0 bit_depth=8 animation=0
$ bpgdec test.bpg
Could not decode image
$ bpg93_remove_alpha.pl < test.bpg > test.noa.bpg
magic: 425047FB
PixelFormat: 1 alpha: 1 bitdepth: 8
ColorSpace: 0 ExtPresent: 0 Alpha2: 0 LimitedRange: 0 ReservedZero: 0
Width: 1606 Height: 1263
Picture data length: 81969
Alpha data length: 239
$ bpgdec -i test.noa.bpg
size=1606x1263 color_space=YCbCr format=4:2:0 limited_range=0 bit_depth=8 animation=0
$ bpgdec test.noa.bpg
$