如何在MoviePy中向fl_image添加参数?

Sea*_*ean 5 python moviepy

据我了解, fl_image 接受一个管道函数,该函数应该只接受单个图像,即processedClip = input_file.fl_image(imagePipeline)

在哪里

def imagePipeline(img):

....

返回最终图像

但是如果我们的 imagePipeline 函数接受更多参数怎么办

IE

def imagePipeline(img, arg1, arg2, arg3):

...

返回最终图像

我们如何向 fl_image 中的 imagePipeline 添加参数?

ane*_*shi 0

虽然这可能不是最好的解决方案,但您可以将任何参数设置为全局变量。

例如:

param1 = 34
param2 = 43

def process_image(img):
    global param1
    global param2
    if param1 > param2:
        #do whatever
        param1 = param2 * 2
    return image

clip1 = VideoFileClip("input.mp4")
final_clip = clip1.fl_image(process_image)
final_clip.write_videofile('output.mp4', audio=False)
Run Code Online (Sandbox Code Playgroud)