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

如何将Numpy线性像素数组转换为Numpy多维图像数组

实现方法

你只需要通过numpy的数组变形操作即可完成转换,前提是你需要提前确认你要生成的图像三个参数:高度h、宽度w、通道数c,常规RGB图像的通道数为3。

步骤

  • 把原始线性像素列表转换为numpy一维数组
  • 调用reshape方法调整为(高度, 宽度, 通道数)的常规图像数组维度即可,像素存储默认按行优先顺序(符合绝大多数图像扫描顺序)

代码示例

import numpy as np

# 替换为你的原始线性像素列表
flat_pixels = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
               0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
               131,131,131,134,134,134,137,137,137,139,139,139,141,141,141]

# 转成numpy数组,像素值范围0-255用uint8类型节省空间
flat_arr = np.array(flat_pixels, dtype=np.uint8)

# 按你的实际图像尺寸修改,示例总元素数51 = 3行 * 17列 * 3通道
h = 3
w = 17
c = 3

# 维度变形
img_arr = flat_arr.reshape((h, w, c))

注意事项

  • 变形前请确认原始线性像素的总元素数严格等于h * w * c,否则会报错,你问题中贴出的列表末尾缺了1个141,补全后再操作即可
  • 如果你需要的是通道优先格式(通道数, 高度, 宽度),可以变形后调用transpose调整:img_arr = flat_arr.reshape((c, h, w)).transpose(1,2,0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:54:07