현재 질문에 대한 답변을 제공하는 많은 질문이 여기에 있지만 출력이 예상과 다릅니다.알파 채널이있는 두 이미지의 PIL 병합 - 예상대로 작동하지 않습니다.
목표는 두 개의 RGBA 이미지를 병합하는 것입니다. 각 이미지의 알파 채널에 대한 정보가 동일하지 않습니다.
전류 (단순화 된) 코드 :
from PIL import Image
image = '1.png'
watermark = '2.png'
wmark = Image.open(watermark)
img = Image.open(image)
img.paste(wmark, (0, 0), wmark)
img.save("result.png", "PNG")
두 영상은 :
배경
전경
,당신은 차이를 볼 수없는 경우
출력
실제 결과는, 여기에 알파 채널은 최종 버전의 (더 나은 시각화를 위해 반전) 예상 .
예상 결과 - 알파 채널
실제 결과 - 알파 채널
말했다 너무
,이 일을 어떤 방법이 아니면 내가 뭔가 잘못하고있는 중이 야 ?
편집 - 설명 다음 @zenpoy 코멘트 : 전경 이미지가 불투명의 일정 금액이있는 경우
, 나는 두 이미지를 중첩 때 고려되어야한다,하지만 난의 알파 채널을하지 않으려합니다 첫 번째 이미지에 추가 할 두 번째 이미지. 종이 이미지 (배경) 앞에 유리 조각 (전경 이미지)을 넣는 것과 같습니다.
즉, 배경 이미지가 RGBA 대신 RGB 인 경우 최종 이미지에는 알파 정보가 없어야합니다.
달성하려는 목표에 대한 수학적 설명을 제공 할 수 있습니까? 각 채널에서 각 픽셀의 가치에서 기대하는 것은 무엇입니까? – zenpoy
필자는 PIL이 알파를 제대로 처리하지 못함에 대해 계속해서 실망합니다. –