02 opencv 加载摄像头并录制视频

录制视频

import  cv2 as cv

# 创建VideoWriter_fourcc 为写多媒体格式  mac提示支持 mp4v 
fourcc = cv.VideoWriter_fourcc(*'mp4v')

#  (1920,1080)  对应 摄像头的分辨率  cap.get(3/4) 读取
vw= cv.VideoWriter('out1.mp4',fourcc,25,(1920,1080))

# 创建窗口 设置大小
cv.namedWindow('video',cv.WINDOW_NORMAL)
cv.resizeWindow('video', 640, 360)
# 获取视频设备
cap=cv.VideoCapture(0)
#判断摄像头是否为打开关态
while cap.isOpened():
    #  读取视频帧
    ret, frame= cap.read()
    #  读取成功
    if ret ==  True:
        #  显示
        cv.imshow('video', frame)
        # 写数据到多媒体文件
        vw.write(frame)
        #  等待退出
        key = cv.waitKey(1)
        if(key & 0xFF == ord('q')):
            break
    else:
        break

#  回收
cap.release()
vw.release()


相关API

  • def write_video(file_path, frames, fps)

    • :param file_path: 输出视频的路径
    • :param frames: PIL.Image 对象列表
    • :param fps: 所需的帧速率
  • cv::VideoCapture::VideoCapture(int index,int apiPreference = CAP_ANY )

    • index 要打开的视频捕获设备的 ID。要使用默认后端打开默认摄像头,只需传递 0。(当 apiPreference 为 CAP_ANY 时,camera_id + domain_offset (CAP_*) 的向后兼容性使用有效)
    • apiPreference 首选使用的 Capture API 后端。如果多个可用,可用于强制执行特定的读取器实现:例如cv::CAP_DSHOW 或 cv::CAP_MSMF 或 cv::CAP_V4L。


VideoCapture 参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值