gpt4 book ai didi

python - 使用python以任何顺序从图像制作GIF

转载 作者:太空宇宙 更新时间:2023-11-03 10:59:51 25 4
gpt4 key购买 nike

我正在尝试在 ubuntu 12.04 中使用 python 语言从一系列 png 格式的图片中制作一个 gif。我有一个文件,里面有我的照片。它们被命名为 lip_shapes1.png 到 lip_shapes11.png。我还有一个包含图像名称的列表,我想按此顺序制作该 gif。该列表如下所示:

list = [lip_shapes1.png, lip_shapes4.png , lip_shapes11.png, lip_shapes3.png]

但我的问题是我找到了这段代码:

import os
os.system('convert -loop 0 lip_shapes*.gnp anime.gif')

但它只按 gnp 名称的顺序制作 gif,但我希望它按我想要的顺序排列。可能吗?

如果有人能帮助我,我真的很感激。

提前致谢

PS:我也想把它拍成电影。我试过这段代码(shapes 是我的图像名称列表):

    s = Popen(['ffmpeg', '-f', 'image2', '-r', '24', '-i'] + shapes + ['-vcodec', 'mpeg4', '-y', 'movie.mp4'])
s.communicate()

但它在终端中给了我这个并且不起作用:

The ffmpeg program is only provided for script compatibility and will be removed in a future release. It has been deprecated in the Libav project to allow for incompatible command line syntax improvements in its replacement called avconv (see Changelog for details). Please use avconv instead.

Input #0, image2, from 'shz8.jpeg': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0.0: Video: mjpeg, yuvj420p, 266x212 [PAR 1:1 DAR 133:106], 24 tbr, 24 tbn, 24 tbc

shz8.jpeg 是列表中的第一个名字。

谢谢

最佳答案

如果您使用 subprocess.call,您可以将文件名作为字符串列表传递。这将避免 shell quotation issues例如,如果文件名包含引号或空格,则可能会出现这种情况。

import subprocess
shapes = ['lip_shapes1.png', 'lip_shapes4.png' , 'lip_shapes11.png', 'lip_shapes3.png']
cmd = ['convert', '-loop0'] + shapes + ['anime.gif']
retcode = subprocess.call(cmd)
if not retval == 0:
raise ValueError('Error {} executing command: {}'.format(retcode, cmd))

关于python - 使用python以任何顺序从图像制作GIF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com