繁体   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