簡體   English   中英

將彩色圖應用於灰度圖像以高效生成 RGB 圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM