Pillow는 Python 프로그래밍 언어에서 이미지 처리와 편집을 간편하게 수행할 수 있도록 돕는 강력한 라이브러리입니다. 이 글에서는 Pillow 라이브러리를 사용하여 이미지 편집과 필터 적용 방법에 대해 설명합니다. 초보자를 대상으로 하기 때문에 기초적인 개념부터 차근차근 설명하도록 하겠습니다.
Pillow는 Python Imaging Library(PIL)의 포크로, 이미지 파일을 열고, 생성하고, 수정할 수 있는 수많은 기능을 제공합니다. 이 라이브러리를 사용하면 다양한 이미지 파일 형식을 손쉽게 다룰 수 있으며, 이미지 필터 및 변환 작업도 간편하게 수행할 수 있습니다.
Pillow 라이브러리를 사용하기 위해서는 먼저 설치가 필요합니다. 다음 명령어를 사용하여 Pillow를 쉽게 설치할 수 있습니다.
pip install Pillow
Pillow를 이용하여 이미지를 열려면 다음과 같은 코드를 사용할 수 있습니다.
from PIL import Image
image = Image.open('image.jpg')
image.show()
위의 코드는 'image.jpg'라는 파일을 열고, 그 이미지를 화면에 표시합니다.
이미지를 열었으면, 다음과 같은 코드로 이미지의 기본 정보를 확인할 수 있습니다.
print(image.format)
print(image.size)
print(image.mode)
Pillow를 사용하면 이미지의 크기를 조절할 수 있습니다. 다음의 코드를 참고하세요.
new_image = image.resize((200, 200))
new_image.show()
위 코드는 기존 이미지를 200x200 픽셀로 조절하여 새 이미지를 생성합니다.
이미지를 자르려면 다음과 같은 코드를 사용할 수 있습니다.
cropped_image = image.crop((left, upper, right, lower))
cropped_image.show()
여기서 left, upper, right, lower는 자르고자 하는 영역의 좌표입니다.
이미지를 회전하는 것은 매우 간단합니다. 다음 코드를 참고하세요.
rotated_image = image.rotate(90)
rotated_image.show()
위 코드는 이미지를 90도 회전시킵니다.
이미지를 그레이스케일로 변환하는 방법은 다음과 같습니다.
gray_image = image.convert('L')
gray_image.show()
세피아 필터를 적용하려면 다음과 같은 방법을 사용할 수 있습니다. 필터를 적용하기 위해 NumPy를 사용해야 합니다.
import numpy as np
def apply_sepia(image):
sepia_filter = np.array([[0.272, 0.534, 0.131],
[0.349, 0.686, 0.168],
[0.393, 0.769, 0.189]])
sepia_image = image.convert("RGB")
sepiaimage = np.array(sepiaimage)
sepiaimage = sepiaimage.dot(sepia_filter.T)
sepiaimage = np.clip(sepiaimage, 0, 255)
return Image.fromarray(sepia_image.astype('uint8'))
sepiaimage = applysepia(image)
sepia_image.show()
블러 필터를 적용하려면 Pillow의 ImageFilter 모듈을 사용할 수 있습니다. 다음 코드를 참고하세요.
from PIL import ImageFilter
blurred_image = image.filter(ImageFilter.BLUR)
blurred_image.show()
이미지의 경계를 강조하는 컨투어 필터 또한 Pillow에서 지원합니다.
contour_image = image.filter(ImageFilter.CONTOUR)
contour_image.show()
편집한 이미지는 다음과 같은 방법으로 저장할 수 있습니다.
newimage.save('newimage.jpg')
위 코드는 이미지를 'new_image.jpg'라는 파일명으로 저장합니다.
Pillow 라이브러리를 활용하여 여러 가지 이미지를 편집할 수 있습니다. 아래는 몇 가지 활용 예제입니다.
Pillow 라이브러리를 통해 이미지 편집과 필터 적용을 전반적으로 살펴보았습니다. 이 라이브러리는 간단한 이미지 수정부터 시작하여 다양한 경우에 활용할 수 있는 많은 기능을 제공합니다. 초보자도 쉽게 따라할 수 있는 방법으로 명확한 이미지 처리를 구현할 수 있습니다. 앞으로 더 심화된 기능을 학습하여 자기만의 멋진 이미지를 만들어보시길 바랍니다.
</>