我想通过调用imshow
for 循环来显示一个简单的动画。这是我的问题的演示:
import pylab,time
images = [pylab.uniform(0,255,(50,50)) for _ in xrange(40)]
pylab.ion()
timings = []
for img in images:
tic = time.time()
pylab.imshow(img)
pylab.draw()
toc = time.time()
timings.append(toc-tic)
pylab.clf()
pylab.plot(timings)
pylab.title('elapsed time per iteration')
pylab.ioff()
pylab.show()
请注意,我在运行循环之前生成图像,并且我唯一需要时间的部分是imshow
anddraw
函数。我得到的结果如下所示:
我怎样才能避免这种减速?