opencv-python视频转图片和图片转视频

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

'''获取视频信息'''
cap=cv.VideoCapture('robot.mp4') #加载视频
fps=cap.get(cv.CAP_PROP_FPS) # 获取帧率
width = int(cap.get(cv.CAP_PROP_FRAME_WIDTH)) # 获取宽度
height = int(cap.get(cv.CAP_PROP_FRAME_HEIGHT)) # 获取高度
print(fps,width,height)

'''视频转图片'''
cap=cv.VideoCapture('robot.mp4') #加载视频
isOpened=cap.isOpened()
i=0
while(isOpened):
    i=i+1
    flag,frame=cap.read()
    fileName = '%03d'%i+".jpg"
    print(fileName)
    if flag == True :
        cv.imwrite('%03d'%i+".jpg",frame) # 命名 图片 图片质量,此处文件名必须以图片格式结尾命名
        cv.waitKey(1)
    else:
        break
cap.release()
print('end')

'''图片转视频'''
import os

filelist = os.listdir(path)

fps = 16 #视频每秒16帧
size = (480, 270) #需要转为视频的图片的尺寸
video = cv.VideoWriter("robot_new.avi", cv.VideoWriter_fourcc('I', '4', '2', '0'), fps, size)
for item in filelist:
    if item.endswith('.jpg'): 
        print(item)
        img = cv.imread(item)
        video.write(img)

video.release()
cv.destroyAllWindows()
print('end')

你可能感兴趣的:(opencv-python视频转图片和图片转视频)