gpt4 book ai didi

python - 使用 imshow 将连续图像/数组显示为 python 中的重复动画

转载 作者:行者123 更新时间:2023-11-28 20:07:12 25 4
gpt4 key购买 nike

我计算了一些结果,它们是 64x64 数组的形式。每个数组都是在另一个数组之后创建的。我想一个接一个地展示这些数组,就像动画一样。我尝试了很多方法,但没有一个起作用。我很沮丧,SO 上关于动画的问题无法帮助我完成这项工作。这不是我第一次尝试这个,虽然每次我的结果都是一样的:我从来没有让它工作过。

我尝试过的方法:

dynamic image

dynamic image 2

simple animation

我目前的代码:

fig, ax = plt.subplots()
def animate(i):
return imagelist[i]
def init():
fig.set_data([],[])
return fig
ani = animation.FuncAnimation(fig, animate, np.arange(0, 19), init_func=init,
interval=20, blit=True)
plt.show()

这里的 imagelist 是我上面提到的数组的列表(长度为 20,0 到 19)。我的问题是如何让它发挥作用?

最佳答案

几乎完全复制您的第一个 link (并添加一些评论):

hmpf = ones([4,4])
hmpf[2][1] = 0
imagelist = [ hmpf*i*255./19. for i in range(20) ]

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig = plt.figure() # make figure

# make axesimage object
# the vmin and vmax here are very important to get the color map correct
im = plt.imshow(imagelist[0], cmap=plt.get_cmap('jet'), vmin=0, vmax=255)

# function to update figure
def updatefig(j):
    # set the data in the axesimage object
    im.set_array(imagelist[j])
    # return the artists set
    return [im]
# kick off the animation
ani = animation.FuncAnimation(fig, updatefig, frames=range(20),
interval=50, blit=True)
plt.show()

这动画如我所料

关于python - 使用 imshow 将连续图像/数组显示为 python 中的重复动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18743673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com