请看一下源代码:
for i in range(100):
img_file = "e:\\myPython\\TensorFlow\\data\\test\\" + str(i)+'.png' # 图片文件名
img_w = test_images[8000 + i] # 从test_images 图片列表中依次取出 8000 号图片开始的图片
plt.imsave(img_file, img_w, cmap='gray') # 将 img_w 图片以gray 色彩格式写入png文件
img_r = plt.imread(img_file) # 接着从 png 文件将图片读入 img_r 图片中
# 打印 img_w 和 img_r 的形状
print("img_w.shape:", img_w.shape, '\t', end='')
print("img_r.shape:", img_r.shape)
以上代码运行,输出如下:
img_w.shape: (28, 28) img_r.shape: (28, 28, 4)
img_w.shape: (28, 28) img_r.shape: (28, 28, 4)
img_w.shape: (28, 28) img_r.shape: (28, 28, 4)
img_w.shape: (28, 28) img_r.shape: (28, 28, 4)
也就是,图片写入文件前,是 28x28 的二维矩阵,但是从文件读出来,却变成 28x28x4 的三维矩阵了。
为什么?如何确保读出来的图片,也是 28x28 的矩阵?
求指教!
for i in range(100):
img_file = "e:\\myPython\\TensorFlow\\data\\test\\" + str(i)+'.png' # 图片文件名
img_w = test_images[8000 + i] # 从test_images 图片列表中依次取出 8000 号图片开始的图片
plt.imsave(img_file, img_w, cmap='gray') # 将 img_w 图片以gray 色彩格式写入png文件
img_r = plt.imread(img_file) # 接着从 png 文件将图片读入 img_r 图片中
# 打印 img_w 和 img_r 的形状
print("img_w.shape:", img_w.shape, '\t', end='')
print("img_r.shape:", img_r.shape)
以上代码运行,输出如下:
img_w.shape: (28, 28) img_r.shape: (28, 28, 4)
img_w.shape: (28, 28) img_r.shape: (28, 28, 4)
img_w.shape: (28, 28) img_r.shape: (28, 28, 4)
img_w.shape: (28, 28) img_r.shape: (28, 28, 4)
也就是,图片写入文件前,是 28x28 的二维矩阵,但是从文件读出来,却变成 28x28x4 的三维矩阵了。
为什么?如何确保读出来的图片,也是 28x28 的矩阵?
求指教!