[英]Apply color map to grayscale image to generate RGB images efficiently
有沒有一種有效的方法可以使用 numpy 函數將顏色映射字典應用於灰度圖像以轉換為 RGB 圖像?
例如。 我有一個灰度圖像作為 numpy 數組。
grayscale_image = array([[0., 0., 3.],
[0., 2., 0.]])
和像這樣的彩色地圖
color_map = {3: (1,2,3), 2: (4,5,6)}
我怎樣才能生成像
rgb_image =
array([[[0., 0., 0.],
[0., 0., 0.],
[1., 2., 3.]],
[[0., 0., 0.],
[4., 5., 6.],
[0., 0., 0.]]])
如果將顏色映射設為數組而不是字典,則可以利用 numpy 非常方便的索引。 如果你有 256 級灰色,你將有一個形狀為[256, 3]
的顏色圖。 然后就可以直接索引了:
import numpy as np
gray = np.array([
[0, 0, 3],
[0, 2, 0]
])
color_map = np.array([
[0,0,0],
[0,0,0],
[4,5,6],
[1,2,3],
# ... remaining color map values
])
rgb = color_map[gray]
結果:
array([[[0, 0, 0],
[0, 0, 0],
[1, 2, 3]],
[[0, 0, 0],
[4, 5, 6],
[0, 0, 0]]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.