opencv:保存视频

我们常常从输入的数据流(视频)当中把目标检测出来,检测的结果一般用矩形框起来。每当我们向别人显示效果时,都要重新运行程序,这样耗费时间。所以,我们可以把有标注的视频保存起来,以便用作ppt或向别人显示。
本文采用opencv来对视频进行保存,编程语言为python:

cap = cv.VideoCapture("input.mp4") #输入视频
width = int(cap.get(cv.CAP_PROP_FRAME_WIDTH)) #获取输入视频中每帧的宽
height = int(cap.get(cv.CAP_PROP_FRAME_HEIGHT)) ##获取输入视频中每帧的高
fps = cap.get(cv.CAP_PROP_FPS)  #获取输入视频的帧率
fourcc = int(cap.get(cv.CAP_PROP_FOURCC)) #定义输出视频的格式
out = cv.VideoWriter("output.mp4", fourcc, fps, (width, height)) #创建输出视频

while cap.isOpened():
    ret,frame = cap.read()
    if ret:
        #检测目标并标注
        
        out.write(frame) #保存当前帧
        key = cv.waitKey(30)
        if key == 27:
            break

    else:
        cap.release()
        out.release()
        break
cv.destroyAllWindows()

相信大家在很多博客都见过以上的代码,但当我们复制粘贴后,程序可运行,可是保存下来的视频无法打开,而且控制台显示错误。
在这里插入图片描述
会出现以上错误,主要是缺少一个.dll文件,就是下面这个:
在这里插入图片描述
只要我们把这个文件放到脚本文件(.py)的同一目录下,以上问题统统解决了,希望帮到大家。
需要改.dll文件的可以从这个链接下载:
openh264-1.7.0-win64.dll

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值