You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将10个128*128图像ndarray数组合并为640*256数组

10个128x128 Numpy数组按指定布局合并实现方案

你需要的最终尺寸640x256完全匹配布局要求:垂直方向是5个128像素高度拼接(5128=640),水平方向是2个128像素宽度拼接(2128=256),用Numpy自带的拼接函数即可快速实现。

首先导入依赖:

import numpy as np

你的示例数组定义如下:

a1 = np.random.rand(128,128)
a2 = np.random.rand(128,128)
b1 = np.random.rand(128,128)
b2 = np.random.rand(128,128)
c1 = np.random.rand(128,128)
c2 = np.random.rand(128,128)
d1 = np.random.rand(128,128)
d2 = np.random.rand(128,128)
e1 = np.random.rand(128,128)
e2 = np.random.rand(128,128)

实现方式1:分步拼接(逻辑清晰,适合新手理解)

# 第一步:把每行的2个数组做水平拼接,得到5个形状为128x256的行数组
row1 = np.hstack([a1, a2])
row2 = np.hstack([b1, b2])
row3 = np.hstack([c1, c2])
row4 = np.hstack([d1, d2])
row5 = np.hstack([e1, e2])

# 第二步:把所有行数组做垂直拼接,得到最终结果
result = np.vstack([row1, row2, row3, row4, row5])

# 验证输出尺寸
print(result.shape) # 输出 (640, 256)

实现方式2:一次性拼接(代码更简洁,灵活度更高)

直接用np.block定义布局规则,一次性完成拼接:

result = np.block([
    [a1, a2],
    [b1, b2],
    [c1, c2],
    [d1, d2],
    [e1, e2]
])

print(result.shape) # 同样输出 (640, 256)

后续如果需要调整布局,只需要修改np.block的嵌套列表结构即可,比如要每行放3个就把每个子列表改成3个元素。


内容的提问来源于stack exchange,提问作者usama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:30:02