[python] 파이썬을 활용한 이미지 처리 자동화

이미지 처리는 많은 작업에서 필수적인 요소입니다. 예를 들어, 이미지를 리사이징하거나 필요한 부분을 추출하는 등의 작업을 자동화할 수 있으면, 생산성을 향상시킬 수 있습니다. 이번 블로그에서는 파이썬을 사용하여 이미지 처리 작업을 자동화하는 방법에 대해 알아보겠습니다.

1. 이미지 처리 라이브러리 선택

우선, 이미지 처리 작업을 위해 Pillow 라이브러리를 사용할 것입니다. Pillow는 파이썬에서 이미지 처리 작업을 쉽게 할 수 있도록 해주는 라이브러리로, 이미지 리사이징, 필터 적용, 텍스트 추가 등의 다양한 작업을 지원합니다.

2. 이미지 리사이징

Pillow를 사용하여 이미지를 리사이징하는 방법은 매우 간단합니다. 아래 예제는 이미지를 300x300 픽셀 크기로 리사이징하는 방법을 보여줍니다.

from PIL import Image

# 이미지 열기
image = Image.open("example.jpg")

# 이미지 리사이징
resized_image = image.resize((300, 300))

# 리사이징된 이미지 저장
resized_image.save("resized_image.jpg")

3. 이미지 필터 적용

이미지에 필터를 적용하는 것도 간단합니다. 아래 예제는 이미지에 회색조 필터를 적용하는 방법을 보여줍니다.

from PIL import Image, ImageFilter

# 이미지 열기
image = Image.open("example.jpg")

# 필터 적용
blurred_image = image.filter(ImageFilter.GaussianBlur(5))

# 필터 적용된 이미지 저장
blurred_image.save("blurred_image.jpg")

4. 자동화 스크립트 작성

이제 위에서 작성한 이미지 처리 코드들을 한 스크립트로 묶어서 자동화할 수 있습니다. 이미지 폴더 안의 모든 이미지에 대해 일괄적으로 작업을 수행하고 싶다면, 아래와 같이 스크립트를 작성할 수 있습니다.

import os
from PIL import Image, ImageFilter

# 이미지 폴더 경로
image_folder = "path/to/image/folder"

# 이미지 처리 작업 함수
def process_image(image_path):
    image = Image.open(image_path)
    resized_image = image.resize((300, 300))
    blurred_image = resized_image.filter(ImageFilter.GaussianBlur(5))
    save_path = os.path.join("output", os.path.basename(image_path))
    blurred_image.save(save_path)

# 이미지 폴더 안의 모든 이미지에 작업 수행
for filename in os.listdir(image_folder):
    if filename.endswith(".jpg"):
        image_path = os.path.join(image_folder, filename)
        process_image(image_path)

결론

Pillow 라이브러리를 사용하면 파이썬을 활용하여 이미지 처리 작업을 효율적으로 자동화할 수 있습니다. 이미지 리사이징, 필터 적용 뿐만 아니라 다양한 작업을 자동화할 수 있으니, 여러분의 프로젝트에 적용해보세요!

참고 자료: Pillow 공식 문서