解决方法——使用opencv_python读入视频,结果视频文件打不开——cv2.VideoWriter()
2016-12-26 09:37
926 查看
原解决方案地址:https://www.douban.com/note/486083974/
原因:cv2.VideoWriter()第二个参数控制视频编码的格式,
教程上写的是out = cv2.VideoWriter('output.avi',fourcc,20.0,(640,480))
实际运行时生成的视频大小为0k,究其原因是运行环境没有相对应的视频编码器,故无法生成视频,或者说第二个参数设置的不合适,系统里没有合适的。
解决办法
cv2.VideoWriter()第二个参数设置为-1,程序运行时则会交互地弹出一个对话框让你从系统已有的编码中选择一个。
import cv2
videoCapture = cv2.VideoCapture('clocka.avi')
fps = videoCapture.get(cv2.cv.CV_CAP_PROP_FPS)
size = (int(videoCapture.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)), int(videoCapture.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)))
v = cv2.VideoWriter('bb.avi', -1, fps, size)
print fps, size,'v->',v
success, frame = videoCapture.read()
while success:
cv2.imshow('MyWindow', frame)
cv2.waitKey(1000/int(fps))
v.write(frame)
success, frame = videoCapture.read()
原因:cv2.VideoWriter()第二个参数控制视频编码的格式,
教程上写的是out = cv2.VideoWriter('output.avi',fourcc,20.0,(640,480))
实际运行时生成的视频大小为0k,究其原因是运行环境没有相对应的视频编码器,故无法生成视频,或者说第二个参数设置的不合适,系统里没有合适的。
解决办法
cv2.VideoWriter()第二个参数设置为-1,程序运行时则会交互地弹出一个对话框让你从系统已有的编码中选择一个。
import cv2
videoCapture = cv2.VideoCapture('clocka.avi')
fps = videoCapture.get(cv2.cv.CV_CAP_PROP_FPS)
size = (int(videoCapture.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)), int(videoCapture.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)))
v = cv2.VideoWriter('bb.avi', -1, fps, size)
print fps, size,'v->',v
success, frame = videoCapture.read()
while success:
cv2.imshow('MyWindow', frame)
cv2.waitKey(1000/int(fps))
v.write(frame)
success, frame = videoCapture.read()
相关文章推荐
- Opencv读取视频文件的几个问题及解决方法(读入空Mat,访问冲突)
- 我用python将结果写入txt文件出现的编码问题及其解决方法
- OpenCV中VideoWriter输出视频文件为空或6KB解决方法(java)
- Python+opencv 无法正确读取视频文件(已解决)
- 在python的WEB框架Flask中使用多个配置文件的解决方法
- OpenCV1.1无法读视频文件的解决方法
- 初学OpenCV3,运行编程入门上读取并播放视频的原版程序,编译通过但是没有任何输出,已按网上博主各种方法试,还是没有结果,大家看怎么解决?
- python使用matplotlib缺少库文件的解决方法
- 在python的WEB框架Flask中使用多个配置文件的解决方法
- opencv1.1无法读视频文件的解决方法
- 【python下使用OpenCV实现计算机视觉读书笔记3】读写视频文件
- Python3中使用map()结果出错的解决方法
- python 使用OpenCV保存视频失败的解决方案及摄像头显示灰色的解决办法
- opencv无法读取视频解决方法&&抽取视频帧存储为图像(python)
- 使用py2exe 将python文件转成exe文件(以及 error: [Errno 2] No such file or directory: 'MSVCP90.dll'解决方法)
- "不能使用 ;文件已在使用中"解决方法
- PYTHON 模块中使用了traceback 模块报错时的解决方法
- 使用Acrobat 在Windows/Temp下会生成大量的文件, 及解决方法
- 使用owc的spreadsheet导出Excel文件时,格式丢失的解决方法
- 解决使用nvelocity时候template文件里面包含中文输出结果时候出现乱码的问题