我有一個以 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]
添加回答
舉報
0/150
提交
取消