跳到主要内容

USB摄像头视频拉流

摄像头拉流

USB摄像头视频拉流

  1. 将USB摄像头插入Atlas 200I DK A2 开发者套件的USB接口。

  2. 使用摄像头逐帧采集,并将推理结果写入结果视频中。

    示例代码如下。

    import cv2

    cap = cv2.VideoCapture(0)

    # 获取保存视频相关变量
    fps = cap.get(cv2.CAP_PROP_FPS) # 获取帧数
    fourcc = cv2.VideoWriter_fourcc(*'mp4v') # 设置视频编码类型
    outfile = 'video_result.mp4' # 设置结果保存文件
    video_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 获取原视频的高度
    video_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 获取原视频的宽度
    writer = cv2.VideoWriter(outfile, fourcc, fps, (video_width, video_height)) # 获取视频写入writer

    try:
    while(cap.isOpened()): # 在摄像头打开的情况下循环执行
    ret, frame = cap.read() # 此处 frame 为 bgr 格式图片

    # ========================================
    # 这里放入模型前处理、推理、后处理相关代码,根据实际情况修改
    img = preprocess(frame) # 前处理
    infer_res = infer(img) # 推理
    img_res = postprocess(infer_res) # 后处理
    # ========================================

    # 将推理结果写入视频
    writer.write(img_res)
    except KeyboardInterrupt:
    cap.release() # 释放摄像头资源
    writer.release() # 释放视频写入资源
    finally:
    cap.release()
    writer.release()

    :::note 说明 此代码为样例代码,用户需自行修改模型的前处理、推理、后处理部分。 :::

Atlas 200I DK A2开发者套件

摄像头拉流

在线提单