[파이썬] Pillow 이미지에 마스크 적용하기

Pillow은 Python의 이미지 처리 라이브러리로, 이미지를 로드하고 수정하는 다양한 기능을 제공합니다. 이번 포스트에서는 Pillow를 사용하여 이미지에 마스크를 적용하는 방법을 알아보겠습니다.

마스크란?

마스크는 이미지의 일부 영역을 선택하거나 제외하는 데 사용되는 이진 이미지입니다. 이진 이미지는 픽셀 값이 0 또는 255인 2차원 배열로 표현됩니다. 픽셀 값이 0이면 해당 영역을 제외하고, 255이면 해당 영역을 선택합니다.

Pillow로 마스크 적용하기

첫 번째로, Pillow를 설치해야 합니다. 아래의 명령어를 사용하여 Pillow를 설치하세요.

pip install pillow

다음은 Pillow를 사용하여 이미지에 마스크를 적용하는 예제입니다. 이미지에서 특정 영역을 선택하기 위해 마스크 이미지를 사용합니다.

from PIL import Image, ImageOps

# 이미지 로드
image = Image.open('image.jpg')

# 마스크 이미지 로드
mask = Image.open('mask.png').convert('L') # 흑백으로 변환

# 마스크 적용
masked_image = ImageOps.fit(image, mask.size)
masked_image.putalpha(mask)

# 결과 이미지 저장
masked_image.save('result.png')

위의 예제에서는 ‘image.jpg’와 ‘mask.png’를 로드합니다. 마스크 이미지는 흑백으로 변환하기 위해 convert() 메서드를 사용합니다. 마스크를 적용하기 위해 ImageOps.fit() 메서드를 사용하고, putalpha() 메서드를 사용하여 마스크를 이미지에 적용합니다.

마지막으로, save() 메서드를 사용하여 결과 이미지를 저장합니다.

마무리

이번 포스트에서는 Pillow를 사용하여 이미지에 마스크를 적용하는 방법을 알아보았습니다. 이를 통해 이미지의 특정 영역을 선택하거나 제외하여 원하는 결과를 얻을 수 있습니다. Pillow의 다양한 기능을 활용하면 더 다양한 이미지 처리 작업을 수행할 수 있습니다.