如何解决无法使用OpenCV创建基本视频文件
为什么不检查错误?如果CreateVideoWriter()
失败,您将永远不会知道。
如果是这样,则问题很可能CV_FOURCC()
是找不到编解码器。
我还建议您将OpenCV更新到最新版本(我认为它是v2.2)。
:
您还缺少CreateVideoWriter中的最后一个参数:
#!/usr/bin/env python
import sys
from opencv.cv import *
from opencv.highgui import *
im1 = cvLoadImage("img1.jpg")
if not im1:
print "Could not load im1"
im2 = cvLoadImage("img2.jpg")
if not im2:
print "Could not load im2"
fps = 4.0
frame_size = cvGetSize(im1)
#writer = cvCreateVideoWriter("out.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, frame_size, True)
writer = cvCreateVideoWriter("out.avi", CV_FOURCC('F', 'L', 'V', '1'), fps, frame_size, True)
if not writer:
print "Error in creating video writer"
sys.exit(1)
else:
print cvWriteFrame(writer, im1)
print cvWriteFrame(writer, im2)
cvReleaseVideoWriter(writer)
我认为与cvCreateVideoWriter()有关的OpenCV / Linux / Python存在问题。我将尝试与开发人员联系,并在收到回复时在此处进行更新。
解决方法
我正在尝试使用OpenCV(在Python中)创建基本的视频文件。我有以下代码,该代码运行时没有任何错误,但是我看不到创建的输出文件。我想知道是否有人对哪里出了问题有想法。
from cv import *
im1 = LoadImage("/home/spoll/laptop1.jpg")
im2 = LoadImage("/home/spoll/laptop2.jpg")
writer = CreateVideoWriter("/home/spoll/out",CV_FOURCC('F','L','V','1'),2,(im1.width,im1.height))
if writer is None:
print "Error in creating video writer"
else:
print WriteFrame(writer,im1)
print WriteFrame(writer,im2)
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。