【发布时间】:2019-11-05 04:54:22
【问题描述】:
我有一个图像数据集。我已经成功地遍历了我的目录和子目录以将图像存储到 numpy 数组中。
我使用了以下语句:
Image_array = np.array(Image_array)
我的数组大小是:100x224x224
这可以正常工作,并且图像可以正确存储。但是,我现在正尝试将这个 numpy 数组保存到 CSV 文件中。我已经展平了 numpy 数组并将其保存在 array.csv 文件中,如下所示:
array = array.flatten('F')
np.savetxt('array.csv', array, delimiter=',', fmt='%d')
上面的代码只创建了 1 个 CSV 文件,其中一列包含像素值。
然后我尝试将 CSV 数据读回 numpy 数组,但加载时数据严重混乱,因为图像只是模糊了。该数组还显示为“。”在它之前没有做的每个数字之后。
filename = "array.csv"
data = np.loadtxt(filename, delimiter=',')
new= np.array((data).reshape(100,224,224),order='F')
我错过了什么吗?请帮忙?
【问题讨论】:
-
np.save/load将轻松保存和重新加载数组,但文件不是文本。要使用csv,您必须将数组设为 2d,并在加载后应用重塑。arr.reshape(100,224*224)是一个可能的重塑。或者,如果您想要的行数多于列数(100*224, 224).