据我了解, fl_image 接受一个管道函数,该函数应该只接受单个图像,即processedClip = input_file.fl_image(imagePipeline)
在哪里
def imagePipeline(img):
....
返回最终图像
但是如果我们的 imagePipeline 函数接受更多参数怎么办
IE
def imagePipeline(img, arg1, arg2, arg3):
...
返回最终图像
我们如何向 fl_image 中的 imagePipeline 添加参数?
虽然这可能不是最好的解决方案,但您可以将任何参数设置为全局变量。
例如:
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)