OpenCV:视频存储

目录

类VideoWriter()

VideoWriter.write()

VideoWriter.release()

视频存储示例


类VideoWriter()

cv2.VideoWriter(filename, int fourcc, double fps, frameSize, int is_color=1)

filename:生成视频的路径

fourcc:编码器,可在第一次保存视频时将参数先设置为-1,运行程序结束查看可使用的编码格式。

fps:视频流帧率

frameSize:视频分辨率

is_color:1(彩色帧),0(灰度帧),默认为1

示例:
width = 640
height = 360
fps = 30 
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
#也可以写成 fourcc = cv2.VideoWriter_fourcc(*'mp4v')
video_writer = cv2.VideoWriter(filename='../media/test7.mp4', fourcc=fourcc, fps=30, frameSize=(width, height))

VideoWriter.write()

功能:将帧写入视频文件

VideoWriter.release()

功能:释放资源

视频存储示例

import cv2

# 获取摄像头并打开
camera = cv2.VideoCapture(0)

# 创建窗口
cv2.namedWindow('camera',cv2.WINDOW_AUTOSIZE)

# 创建文件为写多媒体文件
width = int(camera.get(3))
height = int(camera.get(4))
fps = camera.get(5)
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
vw = cv2.VideoWriter('D:\深度学习\计算机视觉学习资源/写多媒体.mp4', fourcc, fps, (width,height),1)

# 判断摄像头开启则读取视频
while camera.isOpened():
    # 读取视频帧
    retval, image = camera.read()

    if retval:
        # 窗口显示视频帧
        cv2.imshow('camera', image)

        # 将数据写入多媒体文件
        vw.write(image)

        # 等待键盘按键q,停止读取视频
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break

#释放资源
camera.release()
cv2.destroyAllWindows()
vw.release()

猜你喜欢

转载自blog.csdn.net/adsdasdasdahj/article/details/129978942