Python Matplotlib动画质量损失

Python Matplotlib动画质量损失,python,animation,matplotlib,ffmpeg,imshow,Python,Animation,Matplotlib,Ffmpeg,Imshow,我目前正在尝试使用matplotlib使用imshow设置网格动画。然而,我发现在动画中有相当大的质量损失 下面是一个简单的动画,很好地说明了我的问题。如果您查看imagelist的任何特定帧,您将看到颜色之间没有锯齿或渐变。但如果我再看一帧我的动画,情况就不再是这样了。现在在我的颜色块之间有一个4-5像素的渐变。有人知道我怎样才能摆脱这种压力吗?动画的文件大小并不重要,只要我能得到一个好质量的动画 #Create list of images image=np.array([[[0,0,0],

我目前正在尝试使用matplotlib使用imshow设置网格动画。然而,我发现在动画中有相当大的质量损失

下面是一个简单的动画,很好地说明了我的问题。如果您查看imagelist的任何特定帧,您将看到颜色之间没有锯齿或渐变。但如果我再看一帧我的动画,情况就不再是这样了。现在在我的颜色块之间有一个4-5像素的渐变。有人知道我怎样才能摆脱这种压力吗?动画的文件大小并不重要,只要我能得到一个好质量的动画

#Create list of images
image=np.array([[[0,0,0],(0.7,0,0),(0,0,0),(0,0,0.8)]])
imagelist=[]
for i in range(0,100):
    image[0][1][0]=i/100
    imagelist.append(np.copy(image))

#Create figure    
fig = plt.figure()
plt.axis('off')
im = plt.imshow(imagelist[0], vmin=0, vmax=255,interpolation='none');

#Animation
def updatefig(j):
    im.set_array(imagelist[j])
    return [im]
ani = animation.FuncAnimation(fig, updatefig, frames=range(len(imagelist)), interval=20, blit=False)

#Save animation
FFMpegWriter = animation.writers['ffmpeg']
mywriter = FFMpegWriter(fps=30, bitrate=5000)
ani.save("test.mp4", writer=mywriter,codec="libx264")
看起来和你的问题一样。在那个问题上,我无法重现这个问题,这里也一样。而且似乎是相关的。一个问题是,您应该为writer实例提供参数,而不是在save函数中,但不清楚这是否是问题所在。