토막코딩/Python

Python에서 `PIL`/`Pillow`를 활용한 간단한 이미지 처리

컴곰 2023. 9. 26. 21:54

Python에서 PIL/Pillow를 활용한 간단한 이미지 처리


이미지 처리는 다양한 분야에서 중요한 역할을 합니다. Python에서는 PIL (Python Imaging Library)이라는 라이브러리가 널리 사용되었으나, 현재는 그 활발한 포크인 Pillow가 더 널리 사용됩니다. 이 글에서는 Pillow를 활용한 몇 가지 기본적인 이미지 처리 방법을 소개합니다.

설치:

먼저, Pillow를 설치해야 합니다:

pip install Pillow

기본적인 이미지 불러오기 및 저장:

from PIL import Image

# 이미지 열기
image = Image.open('path_to_image.jpg')

# 이미지 저장
image.save('path_to_save.jpg')

이미지 크기 조절:

new_size = (300, 300)
resized_image = image.resize(new_size)

이미지 회전:

rotated_image = image.rotate(90)  # 90도 회전

이미지 필터링:

Pillow는 다양한 필터링 기능을 제공합니다. 예를 들어, 가우시안 블러:

from PIL import ImageFilter

blurred_image = image.filter(ImageFilter.GaussianBlur(radius=5))

이미지의 메타데이터 다루기:

EXIF 데이터는 디지털 카메라로 찍은 사진에 포함되는 메타데이터입니다.

exif_data = image._getexif()
if exif_data:
    for tag, value in exif_data.items():
        tag_name = TAGS.get(tag, tag)
        print(f"{tag_name} : {value}")

주의사항:

  • 이미지 처리 시, 원본 이미지를 덮어쓰지 않도록 주의해야 합니다.
  • 큰 이미지를 처리할 때는 메모리 사용량에 주의해야 합니다.

결론:

Pillow 라이브러리는 Python에서 이미지 처리 작업을 간편하게 수행할 수 있도록 다양한 기능을 제공합니다. 위의 예제는 그 중 일부만을 소개한 것이니, 공식 문서나 다양한 튜토리얼을 참고하여 더 많은 기능을 활용해보시길 바랍니다.