【问题标题】:Scipy/Numpy: Apply cmap to actual dataScipy/Numpy:将 cmap 应用于实际数据
【发布时间】:2020-05-05 18:40:06
【问题描述】:

我正在尝试分割一些 DICOM 图像,并尝试查看是否可以在实际的 numpy 数组上应用 cmap 过滤器

左图是我的目标,右图是我目前拥有的

我可以通过应用imshow(image, cmap='nipy_spectral') 获得左图 但这不会改变右边的实际 numpy 数组。

我将如何实际应用 cmap=nipy_spectral 以便它实际转换右侧的图像

谢谢

【问题讨论】:

  • @tom10 在 imshow 中调用任何东西实际上会改变在 imshow 中呈现的元素吗?我无法使用 imshow 调用实际更改元素
  • 我删除了我的评论,因为它混淆了这个问题。对于那个很抱歉。总的来说,我不明白你的问题。基本上,每当您使用“实际(ly)”一词时,我都不知道您指的是什么。有一个 2D numpy 浮点数组,并且有一个 2D 图像,其中每个点的 R、G 和 B 值是由 matplotlib 制作的,这个映射是用你的 cmap 完成的。你是说你想要一个 RGB 值对应于使用 cmap 生成的图像的 numpy 数组?
  • @tom10 抱歉,我很难解释我要做什么,但你明白了。 Cmap 似乎只是应用过滤器而不更改实际数据,我希望有形的 numpy 数组相当于 imshow(image, cmap='nipy_spectral') 所做的

标签: python numpy matplotlib scipy


【解决方案1】:

颜色图函数将接受灰度并返回 rgb,我相信这就是您所追求的。

from matplotlib import pyplot as plt
from skimage.data import coins

coins().shape
>>> (303, 384)

rgb = plt.cm.nipy_spectral(coins())
rgb.shape
>>> (303, 384, 4) # now an RGBA array

【讨论】:

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