[파이썬] Pillow 이미지에서 색상 추출하기

이미지 처리는 컴퓨터 비전 분야에서 중요한 작업입니다. Pillow는 Python에서 사용할 수 있는 강력한 이미지 처리 라이브러리입니다. 이번 블로그 포스트에서는 Pillow를 사용하여 이미지에서 색상을 추출하는 방법을 알아보겠습니다.

Pillow 설치하기

Pillow를 사용하기 위해 먼저 Pillow를 설치해야 합니다. 다음 명령어를 사용하여 Pillow를 설치할 수 있습니다.

pip install pillow

이미지 파일 열기

첫 단계는 Pillow를 사용하여 이미지 파일을 열고 처리하는 것입니다. 필요한 이미지 파일을 선택하고 Image 모듈의 open 함수를 사용하여 이미지를 열 수 있습니다.

from PIL import Image

image_path = "path/to/image.jpg"
image = Image.open(image_path)

색상 추출하기

이제 이미지에서 색상을 추출해 보겠습니다. Pillow는 Image 객체의 getcolors() 함수를 사용하여 이미지에서 사용된 모든 색상의 목록을 반환합니다.

colors = image.getcolors()

for count, color in colors:
    print("Count:", count)
    print("Color:", color)
    print()

출력 결과는 다음과 같습니다:

Count: 235
Color: (255, 255, 255)

Count: 15
Color: (0, 0, 0)

Count: 72
Color: (255, 0, 0)

...

각 색상에 대해 픽셀 수와 RGB 값이 표시됩니다.

주요 색상 추출하기

대부분의 경우, 이미지에서 가장 많이 사용된 색상만 추출하고 알고 싶을 것입니다. 이를 위해서는 ImageColor 모듈을 사용하여 RGB 값으로부터 색상 이름을 가져올 수 있습니다.

from PIL import ImageColor

dominant_color = max(colors, key=lambda item: item[0])[1]
dominant_color_name = ImageColor.getcolor(dominant_color, "RGB")

print("Dominant Color:", dominant_color_name)

출력 결과는 다음과 같습니다:

Dominant Color: white

이제 이미지에서 가장 많이 사용된 색상의 이름을 추출할 수 있습니다.

결론

Pillow를 사용하여 이미지 파일에서 색상을 추출하는 방법을 살펴보았습니다. 이미지 처리와 컴퓨터 비전 작업에서 색상 추출은 중요한 단계일 수 있습니다. Pillow를 사용하면 쉽게 이미지에서 색상을 추출하고 필요에 따라 이를 활용할 수 있습니다.

더 많은 기능과 사용법에 대해서는 Pillow 공식 문서를 참조하시기 바랍니다.