【发布时间】:2013-12-05 09:48:45
【问题描述】:
我是 python 的新手,之前是 MATLAB 用户。如果我的问题很明显,我很抱歉。 我有一个包含 3D 数组 (351:467:300) 的巨大 47MB 文件。那是来自相机的 300 张图像。我想将它们重新绘制为一种动画。基本上,只需切片并绘制所有 300 张图像。这是我的代码
import numpy as np
import time
import matplotlib.pyplot as plt
import scipy.io as c
datafile = c.loadmat('data.mat') # loading data
img = datafile['img'] # extracting the (351:467:300) array
imgShape = np.shape(img)
for i in range(0,imgShape(2)):
plt.imshow(img[:,:,i])
time.sleep(0.3)
plt.draw()
print('Done!')
问题是:当涉及到 imshow 时,图形窗口是黑色的,直到它完成循环才响应,所以我什么都看不到。如何解决这个问题?如何强制它“在线”更新?
与 matlab 相比,绘图速度非常慢(不是因为 time.sleep :) 我试过没有:))循环运行非常慢。我正在使用 Spyder,这是一个原因吗?
提前非常感谢!
【问题讨论】:
-
:尝试先用plt.draw()再用time.sleep(0.3)。行吗?
-
nope %) 它也一样