家艺~ 2023-02-10 20:39 采纳率: 0%
浏览 120
已结题

cv2.inshow动态结果保存

cv2.imshow()生成的是一段动画(或者叫视频?动图?),该如何对其进行保存,例如保存为mp4格式
我的意思就是跑了一段代码,结果是动图,又不想录屏,该如何保存到指定位置

  • 写回答

9条回答 默认 最新

  • CodeBytes 2023-02-10 20:52
    关注

    该回答引用ChatGPT

    import cv2
    
    # 定义视频编码器
    fourcc = cv2.VideoWriter_fourcc(*'XVID')
    
    # 定义视频写入器,参数分别是文件名、编码器、帧速率、帧大小
    out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
    
    # 在循环中捕获每一帧,并写入视频文件
    while True:
        # 在代码中获取每一帧图像
        ret, frame = cap.read()
        if not ret:
            break
        
        # 写入当前帧
        out.write(frame)
    
        # 在窗口中显示当前帧
        cv2.imshow('frame', frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    # 释放视频写入器
    out.release()
    
    # 释放摄像头
    cap.release()
    
    # 关闭所有窗口
    cv2.destroyAllWindows()
    
    
    
    评论

报告相同问题?

问题事件

  • 系统已结题 2月18日
  • 创建了问题 2月10日