我有一個(gè)以 50x50x50 大小的數(shù)組表示的 3d 圖像列表。這個(gè) 3D 數(shù)組的每個(gè)元素都是一個(gè)像素。我已經(jīng)區(qū)分了 x、y、z 方向上的每個(gè)像素。我怎樣才能在數(shù)組中表示這個(gè)?區(qū)分后,我得到一個(gè)大小為 3 的列表,每個(gè)索引內(nèi)有一個(gè) 50、50、50。因此,這是一個(gè)列表,具有 x、y 和 z 方向的差異圖像,這非常接近我想要的。但我想要一個(gè) 50,50,50,3 而不是 3,50,50,50 的數(shù)組。 這就是我想要代表的。每個(gè)像素都有一個(gè) x、y 和 z 值我的代碼:array_image=full_image[0:50,0:50,0:50] Gradient=np.gradient(array_image)
1 回答

茅侃侃
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊
如果您仔細(xì)查看np.gradient文檔,它實(shí)際上會(huì)返回您想要的內(nèi)容,但形狀不同。
漸變:ndarray 或 ndarray 列表。一組ndarrays(如果只有一個(gè)維度,則為單個(gè)ndarray)對應(yīng)于f關(guān)于每個(gè)維度的導(dǎo)數(shù)。每個(gè)導(dǎo)數(shù)具有與 f 相同的形狀。
所以你Gradient是一個(gè)漸變列表array_image,對應(yīng)于每個(gè)維度。
res = np.zeros([50,50,50,3])
for i in range(3):
res[:,:,:,i] = Gradient[i]
添加回答
舉報(bào)
0/150
提交
取消