Imagemagick 通过变换将静止图像转换为视频

Imagemagick 通过变换将静止图像转换为视频,imagemagick,Imagemagick,我想从静止图像创建视频,最好使用ImageMagick和/或ffmpeg。我找到的最佳指南如下: 这种方法有效,但是这个命令 convert *.JPG -delay 10 -morph 10 %05d.morph.jpg 对我来说不起作用,因为延迟设置了静止图像和变形图像的时间 我为一组四幅图像(1.jpg…4.jpg)提出了这个解决方案,另外还有一幅黑色图像0.jpg: convert -size 800x600 xc:'rgba(0,0,0,1)' 0.jpg convert \ \(

我想从静止图像创建视频,最好使用ImageMagick和/或ffmpeg。我找到的最佳指南如下:

这种方法有效,但是这个命令

convert *.JPG -delay 10 -morph 10 %05d.morph.jpg
对我来说不起作用,因为延迟设置了静止图像和变形图像的时间

我为一组四幅图像(1.jpg…4.jpg)提出了这个解决方案,另外还有一幅黑色图像0.jpg:

convert -size 800x600 xc:'rgba(0,0,0,1)' 0.jpg
convert \
\( -set delay 1 0.jpg 1.jpg -morph 10 \) \
\( -set delay 60 1.jpg \) \
\( -set delay 1 1.jpg 2.jpg -morph 10 \) \
\( -set delay 60 2.jpg  \) \
\( -set delay 1 2.jpg 3.jpg -morph 10 \) \
\( -set delay 60 3.jpg         \) \
\( -set delay 1 3.jpg 4.jpg -morph 10 \) \
\( -set delay 60 4.jpg         \) \
\( -set delay 1 4.jpg 0.jpg -morph 10 \) \
 output.mpg
这正是我想要的,只是

  • 看起来很复杂
  • 很明显,我不能在其中加入“*.jpg”,这样它就可以在目录中的任何一组图像上工作
  • 现在,我可以用python或bash编写一个脚本来为我实现自动化,但我的直觉是,我看到了一些明显的东西,可以将上面的脚本变成一行漂亮的脚本?或者至少是一些不那么丑陋的东西


    提前感谢。

    我没有找到允许在其中抛出“*.jpg”的解决方案。但是使用-replicate可以稍微清理一下。我使用的常数与您不同,但这里是:

    convert \
    \( 0.png 1.png -morph 23 -duplicate 25,-1 \) \
    \( 1.png 2.png -morph 23 -duplicate 25,-1 \) \
    \( 2.png 3.png -morph 23 -duplicate 25,-1 \) \
    \( 3.png 4.png -morph 23 -duplicate 25,-1 \) \
    \( 4.png 0.png -morph 23 \) \
    output.mpg
    

    我知道这个问题现在有点老了。如果,自从你发布后,你已经找到了一个允许在其中抛出“*.jpg”的解决方案,我很乐意看到它

    我在读了同一篇文章后发现了这篇文章。我能够让它工作与黑客,而不是一些你可以可靠地自动化。但这对我来说是唯一的一次,我将使用这些说明

    我无法将205张按顺序编号且大小相同的图片进行转换。我会等待10-15分钟,输出文件夹中不会出现任何内容。我将加工过程分为100批,2-3分钟后即可加工。我猜205张图片对它的大脑来说太多了

    这需要我使用-scene参数调整输出命名序列

    convert 00*.jpg -delay 10 -morph 10 frames/%05d.morph.jpg
    convert 01*.jpg -delay 10 -morph 10 -scene 1079 frames/%05d.morph.jpg
    convert 02*.jpg -delay 10 -morph 10 -scene 2169 frames/%05d.morph.jpg
    ffmpeg -i frames/%05d.morph.jpg -c:v libx264 -vf fps=25 -pix_fmt yuv420p output.mp4
    

    经过这么长时间,你找到答案了吗?我在寻找类似的结果不,我没有。事实上,我想再试一次,但它很可能是基于python的(即,在脚本中构建命令,然后执行subprocess.popen(…)。如果你感兴趣的话,我可以在这里发布。是的,为什么不呢。你能做到吗?