[python] Pillow으로 이미지의 특정 색상을 대체하는 방법

이미지 처리 및 조작은 많은 애플리케이션에서 필요한 기능 중 하나입니다. Pillow는 파이썬에서 이미지 처리를 위한 강력한 라이브러리로, 이미지를 읽고 쓰는 기능뿐만 아니라 다양한 조작 기능을 제공합니다.

이번에는 Pillow를 사용하여 이미지에서 특정 색상을 다른 색상으로 대체하는 방법에 대해 알아보겠습니다.

필요한 라이브러리 설치

먼저, Pillow 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 Pillow를 설치합니다.

pip install pillow

이미지에서 특정 색상 대체하기

다음으로, 이미지에서 특정 색상을 대체하는 방법입니다. Pillow에서는 Image 클래스를 사용하여 이미지를 로드하고 조작할 수 있습니다. 아래의 예제 코드를 참고하여 특정 색상을 다른 색상으로 대체하는 방법을 이해해보세요.

from PIL import Image

# 이미지 로드
image = Image.open('image.jpg')

# 특정 색상 대체
replace_color = (255, 0, 0)  # 대체할 색상 (예: (255, 0, 0)은 빨간색)
new_color = (0, 255, 0)  # 새로운 색상 (예: (0, 255, 0)은 초록색)

pixels = image.load()

width, height = image.size
for y in range(height):
    for x in range(width):
        pixel = pixels[x, y]
        if pixel[:3] == replace_color:
            pixels[x, y] = new_color

# 결과 이미지 저장
image.save('image_with_replaced_color.jpg')

위의 코드에서는 Pillow의 Image 클래스를 사용하여 이미지를 로드합니다. replace_color 변수에는 대체할 색상을 RGB 값으로 지정하고, new_color 변수에는 새로운 색상을 RGB 값으로 지정합니다.

이중 for 루프를 사용하여 이미지의 모든 픽셀을 확인합니다. 각 픽셀의 색상이 replace_color와 일치하는 경우, 해당 픽셀의 색상을 new_color로 대체합니다.

마지막으로, 이미지를 저장하여 변경된 결과를 확인할 수 있습니다.

결론

Pillow를 사용하면 파이썬에서 이미지 처리 작업을 손쉽게 수행할 수 있습니다. 이미지의 특정 색상을 대체하는 방법은 위에서 살펴본 예제를 참고하여 쉽게 구현할 수 있습니다. Pillow의 다양한 기능을 활용하여 원하는 이미지 처리 작업을 수행해보세요.

참고 자료