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

Skimage:如何将两张灰度图像合并为2通道图像

问题原因

你遇到的问题核心是单通道灰度图在numpy中默认是二维数组(shape为(高度, 宽度)),没有显式的通道维度,拼接时的轴参数设置容易出错。


解决方法1:使用np.stack直接新增通道拼接

np.stack会沿着新的轴拼接数组,不需要手动扩充维度,是最简便的写法:

concatenateGray = np.stack([grayImage1, grayImage2], axis=-1)
print(concatenateGray.shape) # 输出 (540, 720, 2)

解决方法2:手动扩充维度后用concatenate拼接

如果你习惯用np.concatenate,需要先给每个灰度图添加最后一维的通道轴,再沿通道轴拼接:

# 给单通道灰度图增加维度,变为 (540, 720, 1)
gray1 = np.expand_dims(grayImage1, axis=-1)
gray2 = np.expand_dims(grayImage2, axis=-1)
concatenateGray = np.concatenate([gray1, gray2], axis=-1)
print(concatenateGray.shape) # 输出 (540, 720, 2)

补充说明

你之前调用np.concatenate时出现540x1440的输出,是因为错误指定了拼接轴为宽度轴(axis=1),沿宽度方向拼接了两张图。而np.dstack对于两个二维数组输入,本身应该输出(540,720,2)的结果,你可以重新打印输出数组的shape确认,大概率是之前的维度查看有误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:24:03