Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib에서 이미지의 컬러맵(Colormap) 설정 방법

개요

Matplotlib에서 이미지를 표시할 때 컬러맵(colormap)을 설정하면 흑백 데이터를 다양한 색상으로 시각화하여 정보를 더욱 직관적으로 파악할 수 있습니다. 이 글에서는 이미지에 컬러맵을 적용하는 기본적인 절차를 단계별로 살펴보겠습니다.

컬러맵 설정 단계

  • 그림(figure) 크기를 설정하고 서브플롯 주변과 사이의 여백(padding)을 자동으로 조정합니다.
  • imread() 메서드를 사용해 파일로부터 이미지를 읽어 배열(array)로 변환합니다.
  • 이미지 배열에서 표시할 채널(예: R, G, B 중 하나)을 선택합니다.
  • imshow() 함수로 2D 래스터(raster) 형태의 이미지를 화면에 나타내며, 이때 cmap 인자에 원하는 컬러맵을 지정합니다.
  • 불필요한 좌표축(axis)은 제거하여 깔끔하게 표시합니다.
  • 마지막으로 show() 메서드를 호출해 최종 결과물을 출력합니다.

예제 코드

아래 예제에서는 'bird.jpg' 이미지를 불러온 뒤, 첫 번째 채널(R 채널)만 추출하고 'hot' 컬러맵을 적용하여 표시합니다.

from matplotlib import pyplot as plt, image as mimg

# 그림 크기 및 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 이미지 파일 읽기
img = mimg.imread('bird.jpg')
lum_img = img[:, :, 0]  # 첫 번째 채널 선택

# 'hot' 컬러맵으로 이미지 표시
plt.imshow(lum_img, cmap="hot")

# 축 제거
plt.axis('off')

plt.show()

실행 결과

위 코드를 실행하면 선택한 채널의 밝기 값이 검정→빨강→노랑→흰색 순서로 매핑되는 'hot' 컬러맵 이미지가 출력됩니다.

Matplotlib에서 이미지의 컬러맵(Colormap) 설정 방법

참고: 다양한 컬러맵 옵션

cmap 인자에는 'hot' 외에도 'viridis', 'plasma', 'inferno', 'magma', 'gray', 'jet' 등 다양한 내장 컬러맵을 사용할 수 있습니다. 데이터의 특성과 전달하고자 하는 메시지에 따라 적절한 컬러맵을 선택하면 시각화 효과를 극대화할 수 있습니다.