如何用python中的图像制作电影

新手上路,请多包涵

我目前正在尝试用图像制作电影,但我找不到任何有用的东西。

到目前为止,这是我的代码:

 import time

from PIL import  ImageGrab

x =0

while True:
    try:
        x+= 1
        ImageGrab().grab().save('img{}.png'.format(str(x))
    except:
        movie = #Idontknow
        for _ in range(x):
            movie.save("img{}.png".format(str(_)))

movie.save()

原文由 Victor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 233
1 个回答

您可以考虑使用 ffmpeg 之类的外部工具将图像合并到电影中(请参阅 此处 的答案),或者您可以尝试使用 OpenCv 将图像合并到电影中,就像 此处 的示例一样。

我在下面附上一段代码,我用来将名为“图像”的文件夹中的所有 png 文件合并到视频中。

 import cv2
import os

image_folder = 'images'
video_name = 'video.avi'

images = [img for img in os.listdir(image_folder) if img.endswith(".png")]
frame = cv2.imread(os.path.join(image_folder, images[0]))
height, width, layers = frame.shape

video = cv2.VideoWriter(video_name, 0, 1, (width,height))

for image in images:
    video.write(cv2.imread(os.path.join(image_folder, image)))

cv2.destroyAllWindows()
video.release()

似乎这个答案中评论最多的部分是 VideoWriter 的使用。您可以在此答案(静态)的链接中查找它的文档,或者您可以自己进行一些挖掘。第一个参数是文件名,后跟一个整数(文档中的 fourcc ,使用的编解码器)、FPS 计数和帧维度的元组。如果您真的喜欢深入了解这些蠕虫,这里是 fourcc 视频编解码器列表

原文由 BoboDarph 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题