在利用Anaconda3 + PyCharm 2018 实现神经网络的实践中,涉及到一个根据像素数组绘制图像的实践,如下所示(这里只需要关心image_array即可,对源数据的预处理可忽略):
# coding=utf-8 # author: BebDong # 10/23/18 import numpy import matplotlib.pyplot as plt # 打开并读取文件 data_file = open("mnist_dataset/mnist_train_100.csv") data_list = data_file.readlines() data_file.close() # image_array是一个28*28的像素数组 all_pixels = data_list[0].split(',') image_array = numpy.asfarray(all_pixels[1:]).reshape((28, 28)) plt.imshow(image_array, cmap='gray', interpolation='None')
当运行时,控制台无报错信息,正常执行结束退出(exit code 0),在SciView出处无绘制出的指定图像。
解决
在网上找了一些资料,大部分解决方案是“调用show()”,也没有给出原因,但其实也不行。
经过一番查找,发现需要引入另外一个叫做pylab的包即可。(我想原因得靠自己查阅官方文档了)
# coding=utf-8 # author: BebDong # 10/23/18 import numpy import matplotlib.pyplot as plt # 直接使用plt.imshow无法显示图片,需要导入pylab包 import pylab # 打开并读取文件 data_file = open("mnist_dataset/mnist_train_100.csv") data_list = data_file.readlines() data_file.close() # 拆分绘制28*28图形 all_pixels = data_list[0].split(',') image_array = numpy.asfarray(all_pixels[1:]).reshape((28, 28)) plt.imshow(image_array, cmap='gray', interpolation='None') pylab.show()
---------------------
作者:Beb1997
来源:CSDN
原文:https://blog.csdn.net/qq_28869927/article/details/83316023
版权声明:本文为博主原创文章,转载请附上博文链接!