2016-06-09 6 views
1

각 픽셀이 수학적 기능의 결과를 나타내는 사용자 지정 비디오를 만들고 싶습니다. clip.get_frame(f)[y][x] = (r, g, b)을 시도했지만 작동하지 않으면 비디오가 수정되지 않은 상태로 유지됩니다.moviepy로 개별 픽셀의 색을 설정하는 방법

어떻게해야합니까? 또한, 이런 종류의 일을하기위한 더 나은 플러그인이 있습니까?

답변

1

당신은 make_frame 함수 (frame가 픽셀을 나타내는 w*h*3 RGB 배열되는 함수 t -> frame at time t)와 VideoClip 클래스를 사용한다. [Docs]

다음은 numpy을 사용하는 make_frame 함수의 예입니다. 각 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

관련 문제