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

如何将.mat文件中的图像像素值读取为Python列表?

将MATLAB .mat文件中的像素数组转为Python列表

没问题,这事儿其实挺简单的——numpy数组本身就自带了转Python列表的方法,直接用就能搞定你的需求。

先给你完整的代码示例,你可以直接套用:

from scipy.io import loadmat

# 加载目标.mat文件
annots = loadmat('C://Users//user//Downloads//OCR//dataset//Icdar.Train.Robust.all.mat')

# 取出你需要的numpy数组集合(就是你之前打印的annots['e'][0])
image_arrays = annots['e'][0]

# 遍历每个numpy数组,用tolist()转成Python列表,存入新列表
pixel_value_lists = [img_array.tolist() for img_array in image_arrays]

# 测试打印第一个结果看看结构
print(pixel_value_lists[0])

关键细节说明:

  • tolist()方法:这是numpy数组的内置方法,能完美保留原数组的维度结构——比如你的图像是二维像素数组,转完就是嵌套的Python列表(列表里套列表),完全符合常规的像素数据结构。
  • 特殊情况处理:如果annots['e'][0]本身就是单个二维像素数组(而不是多个数组的集合),那你不用循环,直接写pixel_list = annots['e'][0].tolist()就能得到对应的Python列表。
  • 类型自动转换:原数组里的数值类型(比如uint8)会自动转换成Python原生的int/float类型,不用额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 09:23:16