새 libbpg에서 볼 수 있도록 이전 BPG 파일에서 알파 채널을 어떻게 제거합니까?

새 libbpg에서 볼 수 있도록 이전 BPG 파일에서 알파 채널을 어떻게 제거합니까?

오래된 BPG로 인코딩된 사진이 몇 장 있습니다. PNG가 입력 형식으로 사용되었으므로 (빈) 알파 채널이 있으므로 최신 libbpg로 디코딩할 수 없습니다.

버전 0.9.4:

  • 프로그레시브 디스플레이 및 스트리밍 인코딩을 허용하도록 알파 평면 인코딩을 수정했습니다. 이 변경 사항은 호환되지 않으므로 이전 버전 형식의 알파가 포함된 이미지는 디코딩할 수 없습니다.

이 알파 채널은 필요하지 않습니다. 어떻게 하면 손실 없이 새로운 BPG 형식으로 변환할 수 있나요?

답변1

내 도구를 사용하여 알파 채널을 제거합니다.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
$

관련 정보