【问题标题】:Simple matrix to RGB简单矩阵转 RGB
【发布时间】:2023-01-16 22:15:45
【问题描述】:

假设我想在一个非常简单的矩阵上使用颜色图“jet”来在 matplotlib 中显示图形:

import numpy as np
import matplotlib.pyplot as plt

arr = np.array( [ [4,5,12,3], [2,4,5,4], [1,3,5,7], [3,9,10,12], [17,1,9,22] ] )
plt.imshow(arr, cmap="jet")

现在我想取回一个具有完全相同形状 (5,4) 但 RGB 维度 (5,4,3) 的矩阵,其中 RGB 值是 matplotlib 图像上显示的值。请问有什么办法吗?

谢谢 !

【问题讨论】:

    标签: python matplotlib colors rgb


    【解决方案1】:

    你必须自己计算颜色:

    # normalization
    norm = (arr - np.min(arr)) / (np.max(arr) - np.min(arr))
    cmap = plt.cm.jet  # colormap
    
    # convert to image and remove alpha channel (the fourth dimension)
    image = np.round(255 * cmap(norm)).astype(int)[:, :, :3]
    
    # check the result
    plt.imshow(image)
    plt.show()
    

    输出:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多