如何将一批图像帧转换为相同质量的视频

How to convert a batch of image frames to a video of the same quality

我使用此脚本将 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 实现此目的?

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

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