首先明确这个问题很常见,最终生成的视频一般10KB以内,双击打卡就会报格式错误,解析错误等,其实就以下这几个点,不注意就会造成格式不正确。
  1. 解码格式与保存的文件格式要相匹配

在Fedora中:DIVX,XVID,MJPG,X264,WMV1,WMV2。(最好使用XVID。MJPG会生
成大尺寸的视频。X264会生成非常小的尺寸的视频)
在Windows中:DIVX(尚待测试和添加)
在OSX中:MJPG(.mp4),DIVX(.avi),X264(.mkv)

DIVX, MJPG,不知道具体用什么解码,就都试一试

fourcc = cv2.VideoWriter_fourcc(*'XVID')
  1. 输出视频的窗口大小,要和图片大小相匹配

比如说我的图片是240*210的,我设置的输出视频窗口大小为210*240
窗口大小要进行宽高反写,不能用行列数的形式来表示

out = cv2.VideoWriter('output.avi', fourcc, 20.0, (210,240))
  1. 如果灰度图片要特殊处理,加入参数0或false

cv.VideoWriter()函数默认保存为RGB格式的彩色视频,要保存为灰度视频应在最后添加False或0

out = cv2.VideoWriter('output.avi', fourcc, 20.0, (210,240))
  1. 如果想要保存MP4格式的视频,就写成output.mp4v,写成.mp4也可以不影响播放,就是会保错
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
out = cv2.VideoWriter('output.mp4v', fourcc, 20.0, (210,240),0)

demo:保存灰度图像的视频

""" 从视频读取帧保存为图片"""
import cv2
import numpy as np
# cap = cv2.VideoCapture("C:/Users/lenovo/Videos/1.mp4")#读取文件
cap = cv2.VideoCapture(0)#读取摄像头fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.mp4v', fourcc, 20.0, (210,240),0)while(True):ret, frame = cap.read()#下面三行可以根据自己的电脑进行调节src = cv2.resize(frame,(width,height), interpolation=cv2.INTER_CUBIC)#窗口大小cv2.rectangle(src, (90, 60), (300, 300 ), (0, 255, 0))#框出截取位置roi = src[60:300 , 90:300]  # 获取手势框图print(roi.shape)gray = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY)#转化为灰度图片out.write(gray)cv2.imshow("2",gray)key = cv2.waitKey(50) & 0xFFif key == ord('q'):breakcap.release()
out.release()
cv2.destroyAllWindows()

问题解决:OpenCV将捕获的视频保存,却无法播放,报解析错误相关推荐

  1. opencv 摄像头捕获的图像保存为avi视频 代码解析

    #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <ope ...

  2. C++Opencv实时读取摄像头视频保存指定帧图片

    空格截图到指定文档 string writePath = "../temp/"; int main(int argc, char** argv){VideoCapture capt ...

  3. 保存数据的时候报类型错误的原因和解决方案

    在保存数据的时候如果经常出现以下这种错误,原因是字符集问题,比如表的字符集,或者列的字符集,通常都设为utf8,因为当列的collation排序规则为latin1,该列不能插入中文.

  4. OpenCv图像处理之图像视频摄像头读取和保存

    OpenCv图像处理之图像视频摄像头读取与保存 使用cv::imread()读取图片 使用cv::imwrite()存储图片 使用cv::VideoCapture::open()读取视频 使用cv:: ...

  5. Opencv将处理后的视频保存出现的问题

    问题描述: 代码运行过程中,imshow出来的每帧的效果图是正确的,但是按照网上的方法保存下来却是0kb,打开不了. 参考的网上的一些方法,均是失败的,具体原因我也不清楚: 1.例如我这样设置,会报这 ...

  6. OpenCV学习笔记_2_视频读取和保存

    视频处理 视频截取图片 创建一个VideoCapture对象,从摄像头读取视频 一般来说,该函数每25毫秒读取一帧,也就是说,视频合适帧数在40帧. import numpy as np import ...

  7. python3 + opencv 调用摄像头录像后保存视频

    python3 + opencv 调用摄像头录像后保存视频 #!/usr/bin/python3 import cv2## opening videocapture cap = cv2.VideoCa ...

  8. OpenCV视频写入详解_Python,视频保存0kb问题

    我真的是栓q,搞了两晚,保存的视频一直是0kb,什么方式都用了.直到看到下面这个大佬的解释才明白,可能是我电脑视频编码不太对.本来就是想学习一下,跟着老师做一直不对. 将cv2 VideoWriter ...

  9. 【opencv】18、视频操作

    目录 一.视频基础 二.摄像头初始化 / 视频文件初始化 场景1.使用摄像头 场景2.使用视频文件 三.检查摄像头/视频文件.打开摄像头/视频文件 四.播放视频文件(捕获帧) 五.关闭摄像头 / 释放 ...

最新文章

  1. 皮一皮:所以说,快乐水才会让人变胖...
  2. 分享一个slide:花式自然语言处理
  3. ax的范数最大_矩阵方程ax=b的范数约束最小二乘解.pdf
  4. Redis设计与实现阅读总结(一)数据结构和对象
  5. C#配置IIS搭建网站的工具类
  6. ASP.NET MVC 5 SmartCode Scaffolding for Visual Studio.Net
  7. el-tooltip位置不灵活_小厨房里的收纳,贵在灵活
  8. Tomcat 日志配置与优化
  9. 【多线程与高并发】这可能是最全的多线程面试题了
  10. Mac安装虚拟机详细步骤
  11. 用Python实现QQ找茬游戏外挂工具
  12. 【Processing】使用vscode编辑运行Processing
  13. android cad插件下载,CAD看图大师下载
  14. 2022_WWW_Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning
  15. NetBeans的学习资源
  16. 561. Array Partition I
  17. 解决EMC、EMI传导干扰的八大方法
  18. TMSI 重配置流程
  19. 【Python】200行的文字RPG游戏
  20. (其他2)VideoPlayer 介绍

热门文章

  1. 年轻不乏野心,想做年薪40万+的软件测试工程师?写给长途漫漫中的你...
  2. 一篇文章告诉你什么是GFS(分布式文件系统)
  3. springboot实现长链接转短链接
  4. Python下应用opencv 人脸检测
  5. python 2.7 : 第一个Python程序
  6. 2021-2027全球与中国二次包装设备市场现状及未来发展趋势
  7. android使用crosswalk webview报错
  8. React入门笔记(一)
  9. unicloud aggregate的group保留查询数据,提取每个分组第一条数据某个字段值
  10. 什么是ETF,什么是QDII,什么是QFII?