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

Python3编写多颜色通道合并函数返回结果不符合预期求助

问题排查点
  • 变量引用错误:函数入参为channels,但循环逻辑中直接使用了未定义的image变量,运行时会直接触发NameError
  • 业务逻辑倒置:原有遍历逻辑是按像素索引拆分单通道数值,最终会把不同通道的同位置像素拆分为独立子元素,和「同位置像素拼接所有通道值」的需求完全相反
  • 维度取值错误:channels_num = len(channels[0][0])取的是单通道内单个像素的维度,实际需要的总通道数应为输入channels的长度,即len(channels)
修正后代码
def combine_channels(channels):
    # 取第一个通道的高、宽,默认输入的所有通道尺寸完全一致
    height = len(channels[0])
    width = len(channels[0][0])
    combined = []
    # 遍历每一行
    for row_idx in range(height):
        current_row = []
        # 遍历当前行的每一列像素位置
        for col_idx in range(width):
            # 收集所有通道在当前坐标的像素值,拼接为多通道像素
            pixel = [channel[row_idx][col_idx] for channel in channels]
            current_row.append(pixel)
        combined.append(current_row)
    return combined
效果验证

输入测试用例:

print(combine_channels([[[1]], [[2]]]))

输出结果:
[[[1, 2]]],完全匹配预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:15:03