파이썬 Pillow : 설치 및 기본 사용법

Pillow란?

Pillow는 광범위한 이미지 파일 형식을 열고 조작하여 저장하는 데 높은 평가를 받는 파이썬 라이브러리이다.

설치

우선 첫 번째 단계는 설치이다.

python
pip install pillow

더 다양한 설치 옵션은 Pillow 문서를 참조해보자.

기본 사용법

이제 Pillow가 설치되었으니 몇 가지 기본 사용법을 알아보자.

이미지 열기와 표시

python
from PIL import Image

# 이미지 파일 열기
img = Image.open('image.jpg')
# 이미지 표시
img.show()

기본적인 이미지 조작

이미지에 약간의 매력을 더해보자.

python
# 이미지 회전
img_rotated = img.rotate(45)
img_rotated.show()

# 그레이스케일로 변환
img_gray = img.convert('L')
img_gray.show()

이미지 저장

기본적인 내용을 마무리하며 수정된 이미지를 저장해보자.

python
img_rotated.save('rotated.jpg')
img_gray.save('gray.jpg')

더 깊이 들어가기

고급 기능에 대해 알아보겠다. 이미지 필터링, 색상 수정, 그리고 이미지 위에 텍스트 작업하는 방법을 알아 볼 것이다.

이미지 필터

Pillow는 이미지에 적용할 수 있는 다양한 필터를 제공한다. 예를 들어, 이미지에 BLUR 필터를 적용해보겠다.

python
from PIL import ImageFilter

# BLUR 필터 적용
img_blur = img.filter(ImageFilter.BLUR)
img_blur.show()

색상 수정

이미지의 색상을 조정할 수도 있다. 이미지의 밝기를 증가시켜보겠다.

python
from PIL import ImageEnhance
 # 밝기 증가
enhancer = ImageEnhance.Brightness(img)
img_bright = enhancer.enhance(2.0)  # 밝기를 2배로 증가
img_bright.show()

이미지에 텍스트 추가

이미지에 텍스트를 추가하는 것은 text 함수를 호출하는 것만으로 간단한다. 이미지에 텍스트를 추가해보겠다.

python
from PIL import ImageDraw, ImageFont

# 이미지에 텍스트 그리기
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', 15)  # Arial 글꼴, 크기 15 사용
draw.text((10, 10), "Hello, Pillow!", font=font)
img.show()

Pillow는 이미지 처리에 헌신된 강력하고 다재다능한 파이썬 라이브러리이다. 이전의 PIL(Python Imaging Library)이라는 오래된 라이브러리의 진화체로서 포맷 지원, 효율적인 내부 표현 및 강력한 이미지 처리 기능을 제공한다. 이미지의 읽기, 쓰기, 표시와 같은 간단한 작업부터 이미지 필터링, 자르기, 크기 조정, 회전, 색상 조작과 같은 복잡한 작업까지 다양한 작업에 대해 Pillow는 모두 해결할 수 있다. 이미지 데이터를 처리하고 변형 및 수정해야 하는 파이썬 개발자에게는 필수 도구이다.


python
from PIL import Image, ImageFilter, ImageEnhance, ImageDraw, ImageFont

# 이미지 파일 열기
img = Image.open('image.jpg')

# 이미지 회전
img_rotated = img.rotate(45)
img_rotated.save('rotated.jpg')

# 그레이스케일로 변환
img_gray = img.convert('L')
img_gray.save('gray.jpg')

# BLUR 필터 적용
img_blur = img.filter(ImageFilter.BLUR)
img_blur.show()

# 밝기 증가
enhancer = ImageEnhance.Brightness(img)
img_bright = enhancer.enhance(2.0)  # 밝기를 2배로 증가
img_bright.show()

# 이미지에 텍스트 그리기
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', 15)  # Arial 글꼴, 크기 15 사용
draw.text((10, 10), "Hello, Pillow!", font=font)
img.show()

FAQs

1. "No module named 'PIL'"라는 오류가 발생하면 어떻게 해야 하나요? Pillow가 올바르게 설치되었는지 확인해보자. pip install pillow 명령을 사용하여 다시 설치하면 문제가 해결될 수 있다.

2. .jpg 이외의 파일 형식으로도 Pillow를 사용할 수 있나요? 당연히 가능하다! Pillow는 다양한 이미지 파일 형식을 지원한다.

3. 이미지 크기를 조절하려면 어떻게 해야 하나요? resize() 함수를 사용하면 된다. 다음과 같이 사용 해보자: img_resized = img.resize((new_width, new_height)).

4. 이미지를 다른 각도로 회전하려면 어떻게 하나요? rotate() 함수의 각도 값을 변경하면 된다. 예를 들어, img.rotate(90)은 이미지를 90도로 회전시킨다.

5. convert 함수에서 'L'은 무엇을 의미하나요? 'L'은 '밝기(luminance)'를 의미하며, 그레이스케일 또는 흑백을 의미한다.

© Copyright 2023 CLONE CODING