簡體   English   中英

如何將 3D arrays 的 python 列表轉換為特定形狀的單個 3D 數組?

[英]How to convert a python list of 3D arrays to a single 3D array of specific shape?

我有一個列表項列表,其中包含 25 個itemlist 3D Arrays形狀(128x128x3)

我希望它將所有這些值轉換/合並到一個公共數組中,基本上從中創建一個圖像。 我期待新的形狀是(640, 640, 3)意思是5 rows and 5 columns (128, 128)

我嘗試了以下方法,但結果很奇怪,主要是重復一些 arrays:

out = np.concatenate(itemlist).ravel()
out.shape ##(1228800,)

img = np.reshape(out, (640,640,3))
img.shape ## (640, 640, 3) 

我得到的最終形狀是正確的,但在視覺上它看起來像是一組重復的圖像,邏輯有問題嗎?

與 25 (128,128,3) arrays

out = np.concatenate(itemlist)

應該產生一個 (25*128, 128,3) 數組

out = out.ravel()

應該產生 25 128 128*3

out.shape ##(1228800,)

(640,640,3)匹配元素總數,但不會產生有意義的圖像。

向后工作:

(5*128, 5*128,3)  => (5,128,5,128,3) => (5,5,128,128,3) => (25,128,128,3)

這需要幾次重塑和一次轉置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM