你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

opencv python视频转为图片,图片转为视频

2021/12/26 18:33:05

 视频转为图片

import cv2
import numpy as np

vid = cv2.VideoCapture(r"999999999.avi")
marked, frame = vid.read()
count = 1
print(marked)
while marked:
    cv2.imwrite(r'.\results\%d.bmp'%count, frame)
    marked, frame = vid.read()
    count += 1

图片转为视频

import os
import cv2
from tqdm import tqdm

imagespath = r'./results'
outputpath = r'F:\video.avi'
fps = 23
sizes = (1920, 1080) #w, h
videowriter = cv2.VideoWriter(outputpath, cv2.VideoWriter_fourcc(*'XVID'), fps, sizes)
lis = os.listdir(imagespath)
for i in tqdm(lis, mininterval=3):
    img = cv2.imread(os.path.join(imagespath, i))
    videowriter.write(img)
videowriter.release()

  #编码参数:
    # cv2.VideoWriter_fourcc('M', 'P', '4', 'V') MPEG-4编码 .mp4  要限制结果视频的大小,这是一个很好的选择。
    # cv2.VideoWriter_fourcc('X','2','6','4')   MPEG-4编码  .mp4  想限制结果视频的大小,这可能是最好的选择。
    # cv2.VideoWriter_fourcc('I', '4', '2', '0'),该参数是YUV编码类型,文件名后缀为.avi   广泛兼容,但会产生大文件
    # cv2.VideoWriter_fourcc('P', 'I', 'M', 'I'),该参数是MPEG-1编码类型,文件名后缀为.avi
    # cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'),该参数是MPEG-4编码类型,文件名后缀为.avi  要限制结果视频的大小,这是一个很好的选择。
    # cv2.VideoWriter_fourcc('T', 'H', 'E', 'O'),该参数是Ogg Vorbis,文件名后缀为.ogv
    # cv2.VideoWriter_fourcc('F', 'L', 'V', '1'),该参数是Flash视频,文件名后缀为.flv

 

查看要转视频的fps和图像大小的方式

右键点击视频,然后查看最上方的details,这里的Frame width和Frame height就是相应的视频图像的宽和高,Frame rate就是fps,fps是小数

 OpenCV+Python视频读写 - 简书 (jianshu.com)

python 中cv2.VideoWriter_fourcc 输出视频的格式要求 - 笑_天 - 博客园 (cnblogs.com)