【问题标题】:Understanding numpy shape了解 numpy 形状
【发布时间】:2019-12-19 14:05:39
【问题描述】:

我是 Python 和 Numpy 的新手。

我有这个代码:

one_array.shape

当我运行它时,我得到这个输出:

(20, 48, 240, 240)

one_array 是一个包含 20 个图像的 Numpy 数组。

形状输出中的其他三个数字(48、240、240)是什么意思?

【问题讨论】:

  • 你介意分享你的one_array吗?
  • 你确定one_array 是一维的吗?
  • one_array 是一个 4 维数组
  • 抱歉,one_array 里面有 20 张图片。
  • 我怀疑您有 20、3 波段(红、绿蓝)图像,尺寸为 240x240 像素(原始)

标签: python numpy


【解决方案1】:

您的数组由20 图像组成,每个图像的大小为48X240X240。这很奇怪,我希望它会像 240X240X3 但由于某种原因你有更多的通道(指 RGB)。 ]

所以shape 函数返回沿每个轴的维度大小(整个数组的当前形状),所以在你的情况下有(20, 48, 240, 240)

编辑:

正如用户所说,每张图像由1频道的48NITFY图像组成,解释了shape的输出

【讨论】:

  • 感谢您的回答。我认为是:数组中有20个元素。这些元素中的每一个都是漂亮的图像。这些 NITFY 图像中的每一个都是:48 张 240x240 的图像。
  • @VansFannel 感谢您的接受,我将您的评论添加到我的答案中,这样阅读答案的人会更清楚
  • 不客气。我使用 MRIcron 程序打开了一个 T1.nii.gz 并检查它是否有 48 张图像,每张 240x240。
【解决方案2】:

将您的 Numpy 数组想象为一个可以在一维中的向量,但在您的情况下,它看起来像是在第 4 维中。 (20, 4, 240, 240) 表示由 20 x 4 x 240 x 240 个元素组成的大矩阵。

【讨论】:

    【解决方案3】:

    one_array.shape == (20, 48, 240, 240) 表示one_array 是一个包含20*48*240*240 或55296000 个元素的4 维数组。

    【讨论】:

      【解决方案4】:

      你是对的,你可以将one_array 看作一个有 20 个元素的数组,其中是另一个形状为 (48, 240, 240) 的数组中的元素。但是,通常最好认为one_array 是一个 4 维数组,总共有 20x48x240x240 = 55296000 个元素。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-04
        • 2020-03-08
        • 2019-02-21
        • 2021-04-09
        • 2022-01-08
        • 2017-01-12
        • 2021-10-15
        • 1970-01-01
        相关资源
        最近更新 更多