将CSV转NumPy数组后存为BMP文件遇AttributeError错误求助
解决Scipy中
scipy.misc.imsave不存在的AttributeError问题 嘿,这个问题我之前也碰到过!你遇到的AttributeError是因为Scipy在新版本里已经把scipy.misc.imsave这个函数移除啦——它早在Scipy 1.0.0版本就被标记为弃用,后来直接从misc模块中删掉了。
下面给你两种靠谱的替代方案:
方案一:用Pillow(推荐)
Pillow是Python最常用的图像处理库,功能稳定且支持绝大多数图像格式,包括BMP。代码调整如下:
from numpy import genfromtxt from PIL import Image # 读取CSV文件为NumPy数组 image_array = genfromtxt('myfile.csv', delimiter=',') # 关键步骤:把数组转换为图像支持的数据类型 # 如果你的数据是0-255范围的浮点值,转成uint8类型(BMP常用格式) image_array = image_array.astype('uint8') # 保存为BMP文件 Image.fromarray(image_array).save('outfile.bmp')
方案二:用imageio库
imageio是专门用于读写图像/视频的库,也是Scipy官方推荐的替代工具之一:
from numpy import genfromtxt import imageio # 读取CSV数组 image_array = genfromtxt('myfile.csv', delimiter=',') # 同样需要转换为合适的图像数据类型 image_array = image_array.astype('uint8') # 保存BMP imageio.imwrite('outfile.bmp', image_array)
额外提醒
- 一定要确认你的数组数值范围符合图像要求:比如BMP通常只接受0-255的整数类型数据,如果你的CSV里是浮点值或者超出这个范围,记得先做归一化(比如把0-1的浮点乘255再转uint8),不然保存的图像会失真或者报错。
- 如果还没安装依赖库,执行以下命令:
- 安装Pillow:
pip install pillow - 安装imageio:
pip install imageio
- 安装Pillow:
内容的提问来源于stack exchange,提问作者Philip Miller
相关产品推荐
相关产品推荐

