1

我想创建一个自定义视频,其中每个像素代表一个数学函数的结果。我试过clip.get_frame(f)[y][x] = (r, g, b)了,但不起作用,视频保持不变。

我怎么能这样做呢?另外,有没有更好的插件来做这种事情?

4

1 回答 1

1

您应该使用VideoClip带有make_frame函数的类(一个 t -> frame at time t表示像素frame的RGB 数组的函数)。[文档]w*h*3

这是一个使用;的示例make_frame函数 numpy它为每个t.

from moviepy.editor import *
import numpy as np

def make_frame(t):
    w, h = 320, 180  # Width an height.
    return np.random.random_integers(0, 255, (h,w,3))

clip = VideoClip(make_frame, duration=2)
clip.write_gif('random.gif', fps=15)

结果,我们得到:

随机像素动画

于 2016-06-10T05:00:49.430 回答