Wie entferne ich den Alphakanal aus alten BPG-Dateien, damit er von der neuen Libbpg-GUI angezeigt werden kann?

Wie entferne ich den Alphakanal aus alten BPG-Dateien, damit er von der neuen Libbpg-GUI angezeigt werden kann?

Ich habe ein paar alte BPG-kodierte Bilder. Da PNG als Eingabeformat verwendet wurde, haben sie einen (leeren) Alphakanal und können daher von der neueren libbpg nicht dekodiert werden:

Version 0.9.4:

  • Modifizierte Alpha-Plane-Kodierung, um progressive Anzeige und Streaming-Kodierung zu ermöglichen. Diese Änderung ist inkompatibel, 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?

Antwort1

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

Es entfernt den Alphakanal aus alten BPG-Dateien und macht sie für neuere BPG-Decoder 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
$

verwandte Informationen