본문 바로가기
카테고리 없음

[파이썬] 이미지 처리의 의미, Pillow 설치, 이미지 다루기 실전

by 개발자를 꿈꾸는 사람들과 함꼐 2025. 4. 3.

이미지 처리란 무엇이고, 왜 중요한가?

이미지 처리(Image Processing)는 사진, 그림, 영상과 같은 이미지 파일을 컴퓨터로 읽고, 수정하거나 분석하는 기술입니다.이미지 처리는 다음과 같은 분야에서 핵심 역할을 합니다.

      
  • 머신러닝/AI: 얼굴 인식, 물체 인식, OCR
  •   
  • 웹 개발: 이미지 리사이징, 썸네일 생성
  •   
  • 데이터 분석: 위성 이미지, 의료 영상 분석
  •   
  • 자동화 작업: 폴더 내 이미지 일괄 수정

파이썬에서는 이미지 처리에 활용할 수 있는 다양한 라이브러리가 있습니다. 그 중 가장 기본적이고 접근하기 쉬운 도구는 Pillow입니다.

Pillow 설치 및 기본 사용법

1. 설치하기

pip install Pillow

2. 이미지 열기, 저장하기

from PIL import Image

img = Image.open("sample.jpg")  # 이미지 불러오기
img.save("복사본.jpg")            # 새 이름으로 저장

이미지를 불러오면 다양한 조작을 할 수 있습니다. 저장 시 포맷(jpg, png, etc)도 변경할 수 있습니다.

3. 이미지 크기 확인과 리사이징

print(img.size)  # (가로, 세로)

# 크기 조절
resized_img = img.resize((200, 200))
resized_img.save("resized.jpg")

웹 개발에서 썸네일 이미지 생성 시 자주 사용되는 기능입니다.

4. 이미지 회전 및 흑백 변환

# 회전
rotated = img.rotate(90)
rotated.save("rotated.jpg")

# 흑백 변환
gray = img.convert("L")
gray.save("gray.jpg")

rotate()는 시계 방향으로 각도 회전하며, convert("L")은 흑백 이미지로 바꿔줍니다.

5. 이미지 일괄 처리

import os
from PIL import Image

folder = "images"
for filename in os.listdir(folder):
    if filename.endswith(".jpg"):
        img_path = os.path.join(folder, filename)
        img = Image.open(img_path)
        resized = img.resize((128, 128))
        resized.save(os.path.join("resized", filename))

이 스크립트는 특정 폴더의 JPG 이미지를 모두 불러와 128x128 크기로 조절한 후 새로운 폴더에 저장합니다. 이미지 수가 많을 때 자동화할 수 있어 매우 실용적입니다.

이미지 수정 및 다루기 실전 활용

1. 이미지 포맷 변환기

img = Image.open("photo.png")
img.convert("RGB").save("photo.jpg", "JPEG")

PNG → JPG 등 포맷을 변경할 수 있으며, 배경 투명도를 제거할 때도 사용됩니다.

2. 이미지에 텍스트 삽입

from PIL import ImageDraw, ImageFont

img = Image.open("sample.jpg")
draw = ImageDraw.Draw(img)
font = ImageFont.load_default()
draw.text((10, 10), "Hello, Python!", font=font, fill=(255, 255, 255))
img.save("text_added.jpg")

ImageDrawImageFont를 이용하면 이미지에 문구나 워터마크를 삽입할 수 있습니다.

3. 썸네일 자동 생성기

img.thumbnail((100, 100))
img.save("thumbnail.jpg")

썸네일은 비율을 유지한 채 이미지를 축소하는 방식이며, 블로그, 쇼핑몰, 포트폴리오 사이트 등에서 활용됩니다.

      
  • 블로그 운영자: 이미지 크기 통일, 자동 워터마크 삽입
  •   
  • 개발자: 프로필 이미지 리사이징, 업로드 전 처리
  •   
  • AI 학습자: 훈련용 이미지 전처리 자동화

Pillow는 이미지 전처리, 자동화, 간단한 편집 작업에 매우 강력한 도구이며, 초보자도 쉽게 시작할 수 있습니다. 더 복잡한 기능이 필요할 경우 OpenCV, scikit-image 등으로 확장도 가능합니다.