반응형
Pillow는 Python에서 이미지를 처리하고 조작하기 위한 강력한 라이브러리입니다.
원래 PIL(Python Imaging Library)의 후속 프로젝트로 시작되었으며, 현대 Python 환경에 맞춰 유지 관리 및 기능 개선이 이루어진 버전입니다.
Pillow는 이미지 파일 열기, 저장, 편집 등 다양한 작업을 지원하며, 웹 개발, 데이터 분석, 머신 러닝, 그래픽 디자인 등 여러 분야에서 널리 사용됩니다.
주요 기능
- 이미지 열기 및 저장
- 다양한 포맷의 이미지를 열고 저장할 수 있습니다.
- 지원 포맷: JPEG, PNG, BMP, GIF, TIFF 등
- 이미지 크기 조정 및 변환
- 이미지 크기를 변경하거나 자르기, 회전, 필터 적용 등의 변환 작업 가능.
- 이미지 합성 및 그리기
- 여러 이미지를 합성하거나 텍스트, 도형 등을 그릴 수 있습니다.
- 픽셀 데이터 접근
- 이미지를 배열 형태로 변환하여 픽셀 단위로 세부 작업 가능.
- 이미지 필터 및 효과
- 블러, 엠보싱, 샤프닝 등 다양한 필터를 제공.
설치 방법
Pillow는 pip를 사용해 간단히 설치할 수 있습니다.
pip install Pillow
설치 확인:
from PIL import Image
print("Pillow 설치 성공!")
사용 예제
1. 이미지 열기와 저장
from PIL import Image
# 이미지 열기
img = Image.open("example.jpg")
# 이미지 정보 출력
print(img.format, img.size, img.mode)
# 이미지 저장
img.save("output.png")
2. 이미지 크기 변경
from PIL import Image
# 이미지 열기
img = Image.open("example.jpg")
# 크기 조정 (100x100)
resized_img = img.resize((100, 100))
# 결과 저장
resized_img.save("resized_example.jpg")
3. 이미지 회전 및 자르기
from PIL import Image
# 이미지 열기
img = Image.open("example.jpg")
# 90도 회전
rotated_img = img.rotate(90)
# 이미지 자르기 (좌표: (x1, y1, x2, y2))
cropped_img = img.crop((50, 50, 200, 200))
# 저장
rotated_img.save("rotated_example.jpg")
cropped_img.save("cropped_example.jpg")
4. 텍스트 추가하기
from PIL import Image, ImageDraw, ImageFont
# 이미지 열기
img = Image.open("example.jpg")
draw = ImageDraw.Draw(img)
# 텍스트 추가
draw.text((10, 10), "Hello, Pillow!", fill="white")
# 저장
img.save("text_added.jpg")
주요 메서드 및 속성
메서드/속성설명
Image.open() | 이미지를 열어 작업 가능한 객체로 변환. |
Image.save() | 작업한 이미지를 파일로 저장. |
Image.resize() | 이미지 크기를 조정. |
Image.crop() | 지정한 영역만큼 이미지를 자름. |
Image.rotate() | 이미지를 지정 각도만큼 회전. |
ImageDraw | 텍스트, 도형 등 그리기 작업을 위한 객체. |
ImageFilter | 필터를 적용 (블러, 샤프닝 등). |
Pillow의 장점
- 다양한 이미지 포맷 지원
- 대부분의 이미지 파일 포맷을 열고 저장할 수 있어 호환성이 높습니다.
- 간단한 사용법
- 직관적인 API와 문법으로 쉽게 배울 수 있습니다.
- 확장 가능성
- 다른 Python 라이브러리와 함께 사용하여 워크플로우를 확장할 수 있습니다.
- 활발한 커뮤니티와 지원
- 풍부한 문서와 예제, 빠른 버그 수정으로 안정적입니다.
Pillow와 관련된 활용 사례
- 웹 개발: 프로필 이미지 크기 조정, 썸네일 생성.
- 데이터 분석: 머신 러닝 모델에 입력하기 위한 이미지 전처리.
- 디자인 및 편집: 간단한 이미지 합성 및 편집 작업.
- 스크린샷 처리: 자동화 도구에서 캡처된 이미지 다루기.
결론
Pillow는 Python 환경에서 이미지 처리를 위한 가장 널리 쓰이는 라이브러리로, 초보자부터 전문가까지 모두 쉽게 사용할 수 있습니다.
이미지를 열고 변환하거나, 크기를 조정하고 편집해야 한다면, Pillow는 강력한 도구가 되어 줄 것입니다.
지금 바로 설치하고, 이미지를 자유롭게 다뤄보세요! 😊
반응형