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
とdraw
関数だけです。次のような結果が得られます。
この速度低下を回避するにはどうすればよいですか?