首页 > 解决方案 > python中图像矩阵的动画

问题描述

我有一个(二维)矩阵列表,我想将它们组合成一个动画。矩阵是具有指定下限和上限的整数值(在我的情况下从零到六)。我现在想构建一个动画,其中每个帧都包含矩阵的内容。

现在,如果每一帧都只是通过 matplotlib 的内置显示数值,我已经设法让它工作了matplotlib.pyplot.matshow。即,我定义了一个更新函数

def update_frames(frame):
   animation_image.set_array(matrices[frame])
   return animation_image,

其中matrices包含我想要动画的整数值矩阵的列表。然后,我可以通过

animation_image = ax.imshow(matrices[0])
ani1 = animation.FuncAnimation(fig, update_frames, frames=len(matrices), blit=True)

以获得所需的结果。

然而,我现在想更进一步,用特定的图像替换网格上的每个正方形,而所有图像都被调整为固定的正方形形状。例如,在每一帧我想绘制一个图像网格,其中每个网格单元的图像取决于矩阵中的整数。

这是我在使用上面的代码片段时得到的示例动画:

示例动画

我还没有想要在网格中显示的图片的最终版本,但我正在考虑类似于这些的纹理: 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

最理想的情况是,我最终会得到像这样的网格(除了与上面的动画相比,网格上对象的位置不同)。

在此处输入图像描述

任何帮助将不胜感激!

标签: pythonimagematplotlibanimation

解决方案


推荐阅读