OpenCV学习笔记 - Video Analysis - 录制视频

录制视频

使用自带摄像头录制一段5s的短视频

error & solution

fourcc1 = cv2.CV_FOURCC('m', 'p', '4', 'v')

在实践过程中,运行这一行时报错:

原因分析
在opencv3中,已将部分函数名进行了修改,因此通常情况下不能直接使用旧版opencv的函数接口。所以,这里使用cv2.cv.CV_FOURCC()cv2.CV_FOURCC()会报错。
`
解决办法
将cv2.CV_FOURCC替换为cv2.VideoWriter_fourcc,以下两种方式均可以:

  • fourcc = cv2.VideoWriter_fourcc('X','V','I','D')
  • fourcc = cv2.VideoWriter_fourcc(*'XVID')

python版关键代码

 1 def write_video():
 2     cap = cv2.VideoCapture(0)
 3     # get first frame from camera to know frame size and type
 4     ret, frame = cap.read()
 5     rows, cols, channels = frame.shape
 6 
 7     # fourcc = cv2.CV_FOURCC('m', 'p', '4', 'v')          # error!
 8     # fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') # ok!
 9     fourcc = cv2.VideoWriter_fourcc(*'XVID')              # another feasible way!
10 
11     my_writer = cv2.VideoWriter('MyOutput30.avi', fourcc, 10, (cols, rows))
12 
13     fps = 30
14     seconds = 5  # 设置录制时间(秒)
15     frames_remaining = seconds * fps
16 
17     while ret and frames_remaining > 0:
18         ret, frame = cap.read()
19         my_writer.write(frame)
20         frames_remaining -= 1

 

Reference

 

转载于:https://www.cnblogs.com/gxcdream/p/7519588.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值