2016-06-09 14 views
1

Я хочу создать собственное видео, в котором каждый пиксель представляет результат математической функции. Я пробовал clip.get_frame(f)[y][x] = (r, g, b), но это не работает, видео остается неизменным.Как установить цвет отдельных пикселей с помощью кипения

Как я мог это сделать? Кроме того, есть ли лучшие плагины для такого рода вещей?

ответ

1

Вы должны использовать VideoClip класс с make_frame функции (функция t -> frame at time t где frame является w*h*3 RGB массив, представляющий пиксели). [Docs]

Вот пример 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) 

В результате мы получаем:

Random Pixels Animation