python - 使用moviepy将具有透明背景的Gizeh gif添加到现有电影
问题描述
你好,我是 moviepy 和 gizeh 的新手。我想创建一个具有透明背景的 gif 并将这个 gif 添加到电影的左上角。为了创建 gif,我使用了 Gizeh。我的代码是这样剪断的:
import gizeh as gz
import numpy as np
from moviepy.editor import *
videoclip = VideoFileClip("movie.MOV")
W = H = 150
D = 2 #Duration
nballs = 60
radii = np.random.randint(.1*W, .2*W, nballs)
colors = np.random.rand(nballs,3)
centers = np.random.randint(0,W,(nballs,2))
def make_frame(t):
surface = gz.Surface(W,H)
for r,color, center in zip(radii, colors, centers):
angle = 2*np.pi*(t/D*np.sign(color[0]-.5)+color[1])
xy = center+gz.polar2cart(W/5,angle) # center of the ball
gradient = gz.ColorGradient(type="radial",
stops_colors = [(0,color),(1,color/10)],
xy1=[0.3,-0.3], xy2=[0,0], xy3 = [0,1.4])
ball = gz.circle(r=1, fill=gradient).scale(r).translate(xy)
ball.draw(surface)
return surface.get_npimage(transparent=True)
graphics_clip_mask = VideoClip(lambda t: make_frame[t][3] / 255.0, is_mask=True) =====>>>> Error
但是我尝试运行这个片段我得到一个这样的错误:
1 graphics_clip_mask = VideoClip(lambda t: make_frame[t][3] / 255.0, is_mask=True)
TypeError: __init__() got an unexpected keyword argument 'is_mask'
我试图用几种解决方案来解决这个问题,但我无法解决它。如何将此具有透明背景的 gif 添加到现有电影中。
解决方案
推荐阅读
- flowtype - 流程:为子类指定接口的正确方法是什么?
- tensorflow - Tensorflow 2.0:Optimizer.minimize('Adam' 对象没有属性'minimize')
- flutter - 更改文本小部件的值(不是 TextField)
- c - C中的foreach函数
- algorithm - 查找仅包含度数为 2 和 3 的节点的最大子图
- javascript - 后台连续调用函数
- javascript - 为什么 canvas.toDataURL() 和 context.drawRect(...) 类型错误:“不是函数”?
- java - 在netbeans中摆动输出很小
- php - 无法在索引/身份验证页面上检测到 $_SESSION['username']
- c# - EPPlus 饼图条件数据标签