파이썬으로 이미지 처리하기: Pillow 사용법
Pillow 라이브러리란?
Pillow는 파이썬에서 이미지 처리를 위한 강력한 라이브러리로, 이미지의 크기 조정, 회전, 색상 보정 등 다양한 작업을 수행할 수 있습니다. Image 모듈을 사용하여 이미지를 열고 수정할 수 있으며, ImageDraw 모듈을 사용하여 이미지에 그림을 그릴 수도 있습니다.
Pillow 설치하기
Pillow를 사용하기 위해서는 먼저 Pillow를 설치해야 합니다. 아래의 커맨드를 사용하여 Pillow를 설치할 수 있습니다.
pip install Pillow
이미지 열기
Pillow를 사용하여 이미지를 열려면 open
함수를 사용합니다. 다음은 현재 디렉토리에 있는 example.jpg
파일을 열어보는 예제입니다.
```python from PIL import Image
이미지 열기
image = Image.open("example.jpg") ```
이미지 저장하기
Pillow를 사용하여 이미지를 저장하려면 save
메소드를 사용합니다. 아래의 예제는 이미지를 JPEG 형식으로 저장하는 방법을 보여줍니다.
```python
이미지 저장하기
image.save("output.jpg") ```
이미지 크기 조정
Pillow를 사용하여 이미지의 크기를 조정할 수 있습니다. resize
메소드를 사용하여 이미지의 크기를 변경할 수 있습니다. 아래의 예제는 이미지의 가로 크기를 800으로 조정하는 방법을 보여줍니다.
```python
이미지 크기 조정
resized_image = image.resize((800, image.height))
크기 조정된 이미지 저장하기
resized_image.save("resized.jpg") ```
이미지 회전하기
Pillow를 사용하여 이미지를 회전할 수 있습니다. rotate
메소드를 사용하여 이미지를 회전시킬 수 있습니다. 아래의 예제는 이미지를 90도 반시계 방향으로 회전하는 방법을 보여줍니다.
```python
이미지 회전하기
rotated_image = image.rotate(-90)
회전된 이미지 저장하기
rotated_image.save("rotated.jpg") ```
이미지 색상 보정하기
Pillow를 사용하여 이미지의 색상을 보정할 수 있습니다. enhance
메소드를 사용하여 이미지의 채도를 조절할 수 있습니다. 아래의 예제는 이미지의 채도를 1.5배로 보정하는 방법을 보여줍니다.
```python from PIL import ImageEnhance
이미지 채도 보정하기
enhancer = ImageEnhance.Color(image) enhanced_image = enhancer.enhance(1.5)
보정된 이미지 저장하기
enhanced_image.save("enhanced.jpg") ```
이미지에 그림 그리기
Pillow를 사용하여 이미지에 그림을 그릴 수도 있습니다. ImageDraw
모듈을 사용하여 그림을 그릴 수 있습니다. 다음은 이미지에 원을 그리는 예제입니다.
```python from PIL import ImageDraw
이미지에 그림 그리기
draw = ImageDraw.Draw(image) draw.ellipse((100, 100, 200, 200), fill="red")
그림 그려진 이미지 저장하기
image.save("drawn.jpg") ```
결론
이상으로 Pillow를 사용하여 파이썬에서 이미지 처리하는 방법을 소개했습니다. Pillow는 다양한 이미지 처리 작업을 지원하므로 이미지 처리가 필요한 경우에 유용하게 사용할 수 있습니다. Pillow의 더 자세한 기능 및 사용법에 대해서는 공식 문서를 참고하는 것을 추천합니다.
'■ 칼퇴를 위한 파이썬 : 사례' 카테고리의 다른 글
파이썬으로 데이터 시각화하기: Seaborn 기초 (0) | 2023.07.12 |
---|---|
파이썬으로 웹 애플리케이션 개발하기: Django 시작하기 (0) | 2023.07.12 |
파이썬으로 머신러닝 시작하기: Scikit-learn 소개 (0) | 2023.07.12 |
파이썬으로 데이터 분석하기: NumPy 기초 (0) | 2023.07.12 |
파이썬으로 자연어 처리하기: NLTK 사용법 (0) | 2023.07.12 |