Wie entferne ich den Alphakanal aus alten BPG-Dateien, um sie mit dem neuen libbpg anzuzeigen?

340
Vi.

Ich habe ein paar alte BPG-kodierte Bilder. Da PNG als Eingabeformat verwendet wurde, erhielten sie einen (leeren) Alphakanal, so dass sie nicht durch neuere libbpg dekodiert werden können:

Version 0.9.4:

  • Geänderte Alpha-Ebenen-Kodierung für progressive Anzeige und Streaming-Kodierung. Diese Änderung ist nicht kompatibel, sodass Bilder, die Alpha aus früheren Versionen des Formats enthalten, nicht dekodiert werden können.

Ich brauche diesen Alphakanal nicht. Wie konvertiere ich sie verlustfrei in das neue BPG-Format?

0

1 Antwort auf die Frage

0
Vi.

Verwenden Sie mein Tool, um den Alphakanal von ihnen zu entfernen: https://gist.github.com/vi/9297cd5bf80f0b34e8a2

Es entfernt den Alphakanal aus alten BPG-Dateien und macht sie mit neueren BPG-Decodern dekodierbar.

$ 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 $