헤르메스 LIFE

[Python] Pillow 를 이용한 이미지 변환 본문

Python

[Python] Pillow 를 이용한 이미지 변환

헤르메스의날개 2021. 2. 8. 01:04
728x90

파이썬에서 이미지 핸들링을 위해서는 여러가지 패키지를 사용한다고 합니다.

그중 가장 많이 사용하는 것이 PIL이라고 합니다. 그런데, PIL 은 공식적으로 지원이 중단되었다고 합니다.

현재는 Pillow 라는 이름으로 변경되어 사용된다고 합니다. 


1. Pillow 설치

(venv) C:\JetBrains\pythonProject\venv\Scripts>pip list
Package Version
---------- -------
pip 21.0
setuptools 52.0.0
WARNING: You are using pip version 21.0; however, version 21.0.1 is available.
You should consider upgrading via the 'c:\jetbrains\pythonproject\venv\scripts\python.exe -m pip install --upgrade pip' command.

(venv) C:\JetBrains\pythonProject\venv\Scripts>pip install Pillow
Collecting Pillow
Downloading Pillow-8.1.0-cp39-cp39-win_amd64.whl (2.2 MB)
|████████████████████████████████| 2.2 MB 177 kB/s
Installing collected packages: Pillow
Successfully installed Pillow-8.1.0
WARNING: You are using pip version 21.0; however, version 21.0.1 is available.
You should consider upgrading via the 'c:\jetbrains\pythonproject\venv\scripts\python.exe -m pip install --upgrade pip' command.

2. 샘플

from PIL import Image

# 이미지 열기
im = Image.open('1200px-Python.svg.png')

# OSError: cannot write mode RGBA as JPEG 오류 발생
# jpg 파일은 투명도를 표현할 수 없는 파일 포멧인데,
# 여기에 alpha 값을 저장하려고 할 경우 발생되어 집니다.
# 아래의 구문을 넣으면 해결됩니다.
im = im.convert("RGB")

# 이미지 크기 출력
print(im.size)

# 이미지 JPG로 저장
im.save('python.jpg')

결과

OSError: cannot write mode RGBA as JPEG 오류 발생

# jpg 파일은 투명도를 표현할 수 없는 파일 포멧인데,
# 여기에 alpha 값을 저장하려고 할 경우 발생되어 집니다.
# 아래의 구문을 넣으면 해결됩니다.
im = im.convert("RGB")

1200px-Python.svg.png
0.10MB

728x90