为了账号安全,请及时绑定邮箱和手机立即绑定

制作多维张量

制作多维张量

皈依舞 2022-06-22 18:14:47
我有一个以 50x50x50 大小的数组表示的 3d 图像列表。这个 3D 数组的每个元素都是一个像素。我已经区分了 x、y、z 方向上的每个像素。我怎样才能在数组中表示这个?区分后,我得到一个大小为 3 的列表,每个索引内有一个 50、50、50。因此,这是一个列表,具有 x、y 和 z 方向的差异图像,这非常接近我想要的。但我想要一个 50,50,50,3 而不是 3,50,50,50 的数组。 这就是我想要代表的。每个像素都有一个 x、y 和 z 值我的代码:array_image=full_image[0:50,0:50,0:50] Gradient=np.gradient(array_image)
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超22个赞

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


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


所以你Gradient是一个渐变列表array_image,对应于每个维度。


res = np.zeros([50,50,50,3])

for i in range(3):

    res[:,:,:,i] = Gradient[i]


查看完整回答
反对 回复 2022-06-22
  • 1 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号