【发布时间】:2017-02-23 16:13:02
【问题描述】:
我有一个目录,里面有一些我需要阅读和显示的图片。
我写了这个,但它的作用很奇怪,在循环结束之前它不会显示任何图像!好像它缓冲所有内容然后刷新它!但是行号可以正常工作!这意味着它们在循环进行时被打印出来,当循环结束时,您会看到许多图像显示在单元格上!
这是代码:
import os
%matplotlib inline
img_dir = 'G:/deep-visualization-toolbox/input_images3/'
i = 0
for file in os.listdir(img_dir):
img = caffe.io.load_image(img_dir+file)
print '{0})'.format(i)
plt.figure()
plt.imshow(img)
i+=1
和输出:
0)
1)
2)
3)
4)
5)
6)
7)
...
C:\Users\Master\Anaconda2\lib\site-packages\matplotlib\pyplot.py:524: 运行时警告:已打开 20 多个图形。创建的数字 通过pyplot接口(@987654323@)被保留 直到显式关闭并且可能会消耗太多内存。 (控制 此警告,请参阅 rcParam
figure.max_open_warning)。 max_open_warning, RuntimeWarning)
21)
22)
...
168)
First image
second image
third image
....
我怎样才能摆脱这个问题并在获取图像时显示它们?
【问题讨论】:
-
%matplotlib inline在for-loop内部不生效。您需要在for-loop内的plt.imshow(img)之后调用plt.show()。否则,%matplotlib inline将仅在您退出for-loop后应用。 -
@Abdou: 非常感谢,请回复:)
标签: python ipython-notebook jupyter-notebook