python - 如何从图像创建视频?

标签 python image matrix video cv2

我有一个算法,每次迭代后都会创建一个矩阵。对矩阵进行一些操作后,将其绘制给用户。如果我运行程序 6 次,我会得到:

a bunch of images

我的目标是动态改变图像,就像电影一样。

我不知道从哪一方面开始。我找到了一些在 python 中从图像创建视频然后将其包装在视频播放器中的方法。但似乎有点复杂,算法运行时无法看到变化。有什么建议吗?

最佳答案

您可以使用FFMPEG

ffmpeg -r 1 -i img%01d.png -vcodec mpeg4 -y movie.mp4

-r 1 是每秒的帧/图像数。增加它以使视频更快。

在Python中:

def convert():
    os.system("ffmpeg -r 1 -i img%01d.png -vcodec mpeg4 -y movie.mp4")

或者,您可以使用 ImageIO生成 GIF。您可以设置每帧持续时间的参数。

import imageio
with imageio.get_writer('/path_to_video.gif', mode='I') as writer:
    for filename in filenames:
        image = imageio.imread(filename)
        writer.append_data(image)

阅读网站上的手册以获取更详细的说明。

或者with cv2 ,

import cv2

img1 = cv2.imread('1.jpg')
img2 = cv2.imread('2.jpg')
img3 = cv2.imread('3.jpg')

height , width , layers =  img1.shape

video = cv2.VideoWriter('video.avi',-1,1,(width,height))

video.write(img1)
video.write(img2)
video.write(img3)

cv2.destroyAllWindows()
video.release()

关于python - 如何从图像创建视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53214221/

相关文章:

ios - 通过用手指触摸绘图来裁剪图像

python - 连续输入选择Python中的while循环

python - 在 Jinja2 中将 int 转换为 str

python - 使用 Steam WebAPI 获取玩游戏的总时间

java - 为什么 setIcon 不在 JButton 上显示图像?

javascript - 图像动画/如何在页面加载时让图像滑入? (HTML/JavaScript)

python - Python 中的 eig(a,b) 给出错误 "takes 1 positional argument but 2 were given"

matrix - OSRM距离矩阵

r - 如何创建包含每行之间的平均绝对分数的距离矩阵?

algorithm - 转换列表的平均转换矩阵