【问题标题】:Making a multidimensional tensor制作多维张量
【发布时间】:2019-10-14 21:33:25
【问题描述】:

我有一个以 50x50x50 大小的数组表示的 3d 图像列表。这个 3D 数组的每个元素都是一个像素。我已经区分了 x、y、z 方向上的每个像素。如何在数组中表示这个?

区分后,我得到一个大小为 3 的列表,每个索引内是一个 50,50,50。因此,这是一个列表,具有 x、y 和 z 方向的差异图像,这非常接近我想要的。但我想要一个 50,50,50,3 而不是 3,50,50,50 的数组。 This is what I would want represented. Every pixel has a value for x,y and z

我的代码:

array_image=full_image[0:50,0:50,0:50] 
Gradient=np.gradient(array_image)




【问题讨论】:

    标签: python arrays list numpy tensorflow


    【解决方案1】:

    如果您仔细查看np.gradient 文档,它实际上会返回您想要的内容,但形状不同。

    gradient : ndarray 或 ndarray 列表。 一组 ndarray(如果只有一个维度,则为单个 ndarray) 对应于 f 对每个维度的导数。 每个导数的形状都与 f 相同。

    所以您的Gradientarray_image 的渐变列表,对应于每个维度。

    res = np.zeros([50,50,50,3])
    for i in range(3):
        res[:,:,:,i] = Gradient[i]
    

    【讨论】:

    • 谢谢,帮了大忙!!
    猜你喜欢
    • 2019-02-10
    • 2020-10-26
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多