[파이썬] Pillow 이미지의 영역 확장 및 축소하기

이미지 처리는 컴퓨터 비전 분야에서 중요한 역할을 합니다. 특히, 이미지의 크기를 조정하거나 특정 영역을 확장 또는 축소하는 작업은 매우 유용합니다. 이번 포스트에서는 Python의 Pillow 라이브러리를 사용하여 이미지의 영역을 확장하고 축소하는 방법을 알아보겠습니다.

Pillow 라이브러리 설치하기

먼저, Pillow 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 Pillow를 설치할 수 있습니다.

pip install Pillow

이미지 로드하기

다음으로, Pillow를 사용하여 이미지를 로드해야 합니다. 아래의 코드는 ‘image.jpg’라는 이미지 파일을 로드하는 예시입니다.

from PIL import Image

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

이미지 영역 확장하기

이미지의 영역을 확장하기 위해서는 ImageOps.expand() 메소드를 사용합니다. 이 메소드는 이미지의 특정 영역을 지정한 크기만큼 확장합니다.

from PIL import Image, ImageOps

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

# 이미지 영역 확장
expanded_image = ImageOps.expand(image, border=20, fill='white')

# 확장된 이미지 저장
expanded_image.save('expanded_image.jpg')

border 매개변수는 영역 확장의 크기를 조절할 수 있는 매개변수입니다. fill 매개변수는 확장된 부분을 어떤 색으로 채울지를 결정합니다. 이 예시에서는 ‘white’로 설정되어 있으므로, 확장된 영역은 흰색으로 채워집니다.

이미지 영역 축소하기

이미지의 영역을 축소하기 위해서는 ImageOps.crop() 메소드를 사용합니다. 이 메소드는 이미지의 특정 영역을 지정하여 해당 영역만을 남기고 나머지 부분을 제거합니다.

from PIL import Image, ImageOps

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

# 이미지 영역 축소
cropped_image = ImageOps.crop(image, border=20)

# 축소된 이미지 저장
cropped_image.save('cropped_image.jpg')

border 매개변수는 영역 축소의 크기를 조절할 수 있는 매개변수입니다. 이 예시에서는 해당 영역의 좌우로 20 픽셀씩을 제거하여 이미지 영역을 축소합니다.

마치며

이번 포스트에서는 Python의 Pillow 라이브러리를 사용하여 이미지의 영역을 확장하고 축소하는 방법에 대해 알아보았습니다. 이미지 처리는 다양한 분야에서 활용되므로, 이러한 작업을 효율적으로 수행하는 방법을 익혀두는 것이 유용할 것입니다.