Я пытаюсь создать анимацию в matplotlib и вижу артефакты сжатия. статическое изображение демонстрирует плавный переход цветов, а анимация показывает артефакты сжатия. Как я могу сохранить анимацию без этих артефактов сжатия? Я взял некоторые параметры writer
из этого ответа, но они не решили проблему.
Вы можете запустить код в этой записной книжке Google Colab или просмотреть ее. здесь:
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
images = np.array([
np.tile(np.linspace(0, 1, 500), (50, 1)),
np.tile(np.linspace(1, 0, 500), (50, 1)),
])
fps = 1
fig = plt.figure(frameon=False)
ax = plt.Axes(fig, [0., 0., 1., 1.])
fig.add_axes(ax)
artists = [[ax.imshow(image, animated=True, cmap='jet')] for image in images]
anim = animation.ArtistAnimation(fig, artists, interval=1000/fps, repeat_delay=1000)
writer = animation.PillowWriter(fps=fps, bitrate=500, codec="libx264", extra_args=['-pix_fmt', 'yuv420p'])
anim.save('./test_animation.gif', writer=writer)
ax.imshow(images[0], animated=True, cmap='jet');
Спасибо за любой совет!
KeyError
, когда пытаюсь сохранить его как mpeg. Похоже, что использованиеFFMpegWriter
вместоPillowWriter
решает проблему (даже при сохранении в формате gif), но я не могу использоватьFFMpegWriter
в Google Colab. - person Mike   schedule 08.03.2021