[python] ReportLab 이미지 필터링

ReportLab은 파이썬에서 PDF 문서를 생성하기 위한 강력한 도구입니다. 이번에는 ReportLab을 사용하여 이미지에 필터를 적용하는 방법에 대해 알아보겠습니다.

필요한 패키지 설치

먼저 필요한 패키지를 설치해야 합니다. 아래의 명령을 사용하여 필요한 패키지를 설치하세요.

pip install reportlab Pillow

reportlab은 PDF 생성을 위한 패키지이며, Pillow는 이미지 처리를 위한 패키지입니다.

이미지 필터링 예제

이제 실제로 이미지에 필터를 적용하는 예제를 살펴보겠습니다. 다음은 원본 이미지에 흑백 필터를 적용하는 코드입니다.

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from PIL import Image, ImageFilter

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

# 필터 적용
filtered_image = image.convert('L')

# PDF 생성
pdf = canvas.Canvas('filtered_image.pdf', pagesize=letter)
pdf.drawImage(filtered_image, 50, 50, width=400, height=400)
pdf.showPage()
pdf.save()

위의 코드에서 image.jpg는 필터를 적용할 원본 이미지 파일입니다. convert('L') 메서드를 사용하여 이미지를 흑백으로 변환하고, drawImage 메서드를 사용하여 필터가 적용된 이미지를 PDF에 추가합니다. 마지막으로, showPagesave 메서드를 사용하여 PDF 파일을 생성합니다.

위의 코드를 실행하면 filtered_image.pdf라는 이름의 PDF 파일이 생성되며, 필터가 적용된 이미지를 확인할 수 있습니다.

다른 필터 적용하기

ReportLab에서는 다양한 이미지 필터를 제공합니다. 아래는 일부 예제입니다.

흐림 필터

filtered_image = image.filter(ImageFilter.BLUR)

경계선 감지 필터

filtered_image = image.filter(ImageFilter.FIND_EDGES)

색상 반전 필터

filtered_image = ImageOps.invert(image)

위의 예제 코드에서 ImageFilter 모듈과 ImageOps 모듈을 사용하여 각각 흐림 필터, 경계선 감지 필터, 색상 반전 필터를 적용할 수 있습니다.

결론

이번 글에서는 ReportLab을 사용하여 이미지에 필터를 적용하는 방법을 소개했습니다. 필터링을 통해 이미지를 다양하게 변형하고, 보다 흥미로운 PDF 문서를 생성할 수 있습니다. 자세한 내용은 ReportLab 문서를 참조하세요.