zoukankan      html  css  js  c++  java
  • OpenCV cv2.VideoWrite() 写出为空

    问题: cv2.VideoWrite() 写出为空

    症状:输出的文件为空或损坏或无法打开

    原因:

    ①封装支持

    保存文件名需要写明保存文件的封装格式,后缀为 .avi 可以成功打开编码器,而诸如 .mp4,.rmvb, 未能打开。

    ②运行环境没有相对应的编码器

    1 import numpy as np
    2 import cv2
    3 cap = cv2.VideoCapture(0)
    4 # Define the codec and create VideoWriter object
    5 fourcc = cv2.VideoWriter_fourcc(*'XVID')
    6 out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))

    在上图代码框中,第5行,定义视频编码方式(fourcc),但因为电脑中没有相对应的解码器,因此无法转换。

    解决办法: 将fourcc 转换成 -1, 即手动设置编码方式。

    1 import numpy as np
    2 import cv2
    3 cap = cv2.VideoCapture(0)
    4 # Define the codec and create VideoWriter object
    5 out = cv2.VideoWriter('output.avi', -1, 20.0, (640,480))

    然后出现下图,手动选择,尝试在当前电脑上存在的压缩程序,如果仍无法解决,可尝试下载安装一些视频编辑软件

    参考链接:

    1. 完美cvCreateVideoWriter写出AVI文件为空的问题

    2. opencv VideoWriter保存视频失败原因

  • 相关阅读:
    接口类和抽象类
    生成器和迭代器
    装饰器
    KMP算法(java,c++)
    java EE
    XML
    SQL语法
    单元测试
    JDBC
    SpringCloud
  • 原文地址:https://www.cnblogs.com/bellumpara/p/8583456.html
Copyright © 2011-2022 走看看