首页 > 解决方案 > 如何将一批图像帧转换为相同质量的视频

问题描述

我使用此脚本将 18 秒的视频转换为其帧。总共,我得到了 558 帧。

import cv2, os
import numpy as np
from os.path import isfile, join

vid_cap = cv2.VideoCapture('PXL_20211116_020738341.mp4')
success,image = vid_cap.read()
count = 0

while success:
  cv2.imwrite("frame%d.jpg" % count, image)     # save frame as JPEG file
  success,image = vid_cap.read()
  print('Read a new frame: ', success)
  count += 1

输出(558 帧)基本上是带有一些掩码的相同视频。我想把这些帧变成一个 18 秒的新视频。意思是,我希望原始视频和输出视频以相同的运动质量运行。如何使用 Python 实现这一点?

标签: pythonopencv

解决方案


你可以试试这个。将您的 jpeg 文件读取到图像数组并使用 VideoWriter。您还可以为此功能设置 fps(可能是 558/18)。

https://theailearner.com/2018/10/15/creating-video-from-images-using-opencv-python/


推荐阅读