API

  • VideoWriter : (写入文件类实例创建,还要配合写入磁盘和释放来使用)有的直接通过对象函数,有的通过实例注意区别 opencv库是个大类,可以创建类中类
  • 第一个参数是要保存的文件的路径要记得带文件格式后缀
  • fourcc 指定编码器(cv2.VideoWriter_fourcc(*'mp4v')XVID:avi的
  • fps 要保存的视频的帧率真实分辨率要看后面的key
  • frameSize 要保存的文件的画面尺寸分辨率

  • vm.write 编码并写入缓存,参数每一帧flame
  • vm.release 缓存内容写入磁盘, 并释放资源

实例创建->写入->释放

示例代码

cap = cv2.VideoCapture(0)
# *mp4v就是解包操作 等同于  'm', 'p', '4', 'v'
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
# (640, 480)表示摄像头拍视频, 这个大小搞错了也不行.
# 主要是这个分辨率.
vw = cv2.VideoWriter('output.mp4', fourcc, 20, (640, 480))

while cap.isOpened():#摄像头捕获到是1,没有是0
    ret, frame = cap.read()
    if not ret:
        print('can not recive frame, Exiting...')
        break
  
    vw.write(frame)
    cv2.imshow('frame', frame)
  
    if cv2.waitKey(1) == ord('q'):
        break
  
cap.release()

#释放VideoWriter 视频要释放,图片不用
vw.release()

cv2.destroyAllWindows()
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐