Как удалить альфа-канал из старых файлов BPG для просмотра новым libbpg?

271
Vi.

У меня есть пара старых картинок в кодировке BPG. Так как PNG использовался в качестве входного формата, они получили (пустой) альфа-канал, поэтому не могут быть декодированы более новым libbpg:

версия 0.9.4:

  • Модифицированная кодировка альфа-плоскости, обеспечивающая прогрессивное отображение и потоковое кодирование. Это изменение несовместимо, поэтому изображения, содержащие альфа из предыдущих версий формата, не могут быть декодированы.

Мне не нужен этот альфа-канал. Как я могу без потерь конвертировать их в новый формат BPG?

0

1 ответ на вопрос

0
Vi.

Используйте мой инструмент для удаления из них альфа-канала: https://gist.github.com/vi/9297cd5bf80f0b34e8a2

Он удаляет альфа-канал из старых файлов BPG, делая их декодируемыми более новыми декодерами 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 $ 

Похожие вопросы