在Julia中如何将4D数组拆分为两个3D数组?
方案1:基础索引直接提取(适合少量批次)
你可以直接通过对第4维做下标索引提取单张图像,代码如下:
# 提取第1张图像,得到224×224×3的3D数组 img1 = imgs[:, :, :, 1] # 提取第2张图像,得到224×224×3的3D数组 img2 = imgs[:, :, :, 2]
执行后调用size(img1)验证,会返回结果(224, 224, 3),和你拼接前的单图数组结构完全一致。
方案2:批量拆分(适合批次数量多的场景)
如果后续批次数量增加,不想手动逐个写索引,可以用eachslice直接沿着第4维切分所有单图,得到和你拼接前完全一致的数组列表:
img_list = collect(eachslice(imgs, dims=4))
执行后img_list[1]对应第一张图,img_list[2]对应第二张图,和你执行cat操作前的imgs变量结构完全相同。
内容的提问来源于stack exchange,提问作者logankilpatrick
相关产品推荐
相关产品推荐

