Matplotlib関連
任意のカラーマップを作成する
from matplotlib.colors import LinearSegmentedColormap
import cv2
import numpy as np
### main ###
#各列はR,G,Bの順, alpha値を使用する場合は列を追加
#0~1の値で指定
color_table = [(1.0,0.0,0.0),
(0.0,1.0,0.0),
(0.0,0.0,1.0)]
color_list = []
n= len(color_table)
#0~1の値でcolor_tableの色を対応させる
#等間隔であればfor文が便利
for i in range(n):
color_list.append((i/(n - 1), color_table[i]))
colormap = LinearSegmentedColormap.from_list("any_name", color_list)
### for sample ###
row = 100
col = 300
img = np.full((row,col,3),0,dtype=np.uint8)
for i in range(col):
img[:,i,:] = np.array(colormap(i/(col-1))[:3])*255
img = cv2.cvtColor(img, cv2.COLOR_RGBA2BGR)
cv2.imwrite("sample.png",img)
実行結果
参考文献
スポンサーリンク