代码:
import cv2
from cv2 import VideoWriter, VideoWriter_fourcc, imread, resize
import os
from PIL import Image
def Pic2Video():
imgPath = "youimgPath" # 读取图片路径
videoPath = "youvideoPath" # 保存视频名称,路径默认为当前文件夹下
images = os.listdir(imgPath)
# 如果视频出现乱帧的情况,采用如下函数可以改正
images.sort()
fps = 25 # 每秒25帧数
# VideoWriter_fourcc为视频编解码器 ('I', '4', '2', '0') —>(.avi) 、('P', 'I', 'M', 'I')—>(.avi)、('X', 'V', 'I', 'D')—>(.avi)、('T', 'H', 'E', 'O')—>.ogv、('F', 'L', 'V', '1')—>.flv、('m', 'p', '4', 'v')—>.mp4
fourcc = VideoWriter_fourcc(*"MJPG")
h, w, _ = cv2.imread(os.path.join(imgPath, images[0])).shape
videoWriter = cv2.VideoWriter(videoPath, fourcc, fps, (w, h))
for im_name in range(len(images)):
frame = cv2.imread(imgPath + images[im_name]) # 这里的路径只能是英文路径
# frame = cv2.imdecode(np.fromfile((imgPath + images[im_name]), dtype=np.uint8), 1) # 此句话的路径可以为中文路径
print(im_name)
videoWriter.write(frame)
print("图片转视频结束!")
videoWriter.release(

这段代码展示了如何使用Python库OpenCV和sk-video将图片序列转换为视频以及将视频拆分为图片。它定义了两个函数,Pic2Video将图片按指定帧率合成视频,Video2Pic则将视频拆分成一系列图片。此外,还提供了一个使用ffmpeg命令行工具进行转换的示例。
最低0.47元/天 解锁文章
743

被折叠的 条评论
为什么被折叠?



