본문 바로가기
Python Library/Matplotlib

[Matplotlib] 이미지맵 (imshow)

by goatlab 2021. 12. 22.
728x90
반응형
SMALL

이미지맵 (imshow)

 

원하는 사이즈의 pixel을 원하는 색으로 채워서 만든 그림이다. 원하는 크기의 행렬을 만들어서 각 칸을 원하는 색으로 채우는 것이다. 각 칸을 채우는 방법은 colormap, RGB, RGBA가 있다.

 

colormap

 

img = cv2.imread('8.jpg', cv2.IMREAD_GRAYSCALE)
print("8")
plt.imshow(img)
plt.show()

 

보라색과 노란색이 나온 이유는 colormap의 디폴트 값이 viridis로 설정되어 있기 때문 보라색과 노란색이 나온다. viridis라는 colormap은 최솟값이 보라, 최댓값이 노랑이다. 입력한 숫자를 0~1 사이로 nomalize하여 색으로 나타낸다. 

 

colormap을 변경하고자 할때, cmap 옵션을 이용하여 변경할 colormap을 입력하면 된다. cm모듈을 import하고, cm모듈 안에 있는 colormap을 옵션 값으로 입력하면 된다.

 

import matplotlib.cm as cm

img = cv2.imread('8.jpg', cv2.IMREAD_GRAYSCALE)
print("8")
plt.imshow(img, cmap = cm.gray)
plt.show()

 

RGB

 

RGB는 행렬의 각 원소로 [R,G,B] 값을 입력하면 된다. 값은 0-1 사이 실수 혹은 0-255 사이 정수로 입력한다.

 

import numpy as np
import matplotlib.cm as cm
from matplotlib import pyplot as plt

img = np.array([
     [[255,0,0],[255,0,0],[255,0,0]],
     [[0,255,0],[0,255,0],[0,255,0]],
     [[0,0,255],[0,0,255],[0,0,255]]
])

plt.imshow(img)
plt.show()

 

RGBA 

 

RGBA에서 A는 투명도이다. RGBA는 행렬의 각 원소로 [R,G,B,A] 값을 입력하면 된다. 값은 0-1 사이 실수 혹은 0-255 사이 정수로 입력한다. 투명도는 0-1사이 정수이다.

 

import numpy as np
import matplotlib.cm as cm
from matplotlib import pyplot as plt

img = np.array([
     [[255,0,0,0.2],[255,0,0,0.2],[255,0,0,0.2]],
     [[0,255,0,0.5],[0,255,0,0.5],[0,255,0,0.5]],
     [[0,0,255,1],[0,0,255,1],[0,0,255,1]]
])

plt.imshow(img)
plt.show()

728x90
반응형
LIST

'Python Library > Matplotlib' 카테고리의 다른 글

[Matplotlib] 시각화 패키지 (4)  (0) 2022.02.22
[Matplotlib] 시각화 패키지 (3)  (0) 2022.02.22
[Matplotlib] 시각화 패키지 (2)  (0) 2022.02.22
[Matplotlib] 시각화 패키지 (1)  (0) 2022.02.22
Matplotlib  (0) 2021.12.22