python - 如何将一批图像帧转换为相同质量的视频
问题描述
我使用此脚本将 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/
推荐阅读
- python - 将 .IVD 文件读入 python
- excel - 创建用户窗体时Excel vba内存不足
- python - Azure yaml Pipeline 在脚本中隐藏密码
- object-detection - 目标检测的边界区域
- flutter - 在 Android Studio 中不断记录“D/MediaCodecInfo”,它是什么,以及如何禁用或修复它?
- xero-api - 在调用 getinvoices 时调用 auth、refresh 和 gettenants 后,xero api 因未经授权(401 或 403)而失败
- c++ - 具有默认行为的模板自定义点不执行任何操作
- mysql - 如何使用 WHERE 子句获得前 3 个平均值?
- android - 最初将屏幕方向更改为横向时,触发传感器方向,然后在 PORTRAIT 中加载
- python - 循环抛出两个列表,我想从每个列表中弹出