当前位置: 首页 > 面试题库 >

OSX下的opencv VideoWriter不产生任何输出

端木望
2023-03-14
问题内容

我正在尝试从OSX下的OpenCV的python包装器创建视频。我正在使用python 2.7.1,opencv
2.3.1a和该版本的opencv附带的willowgarage的python包装器。我有:

import cv,cv2
w = cv2.VideoWriter('foo.avi', cv.FOURCC('M','J','P','G'), 25, (100,100))
for i in range(100):
    w.write(np.ones((100,100,3), np.uint8))

OpenCV说

WARNING: Could not create empty movie file container.
Didn't successfully update movie file.
... [ 100 repetitions]

我不确定下一步该怎么做


问题答案:

关于此主题的在线指南有很多过时且不正确-我想我几乎都尝试过。在Mac
OSX上查看VideoWriter的基于QTKit的源实现之后,我终于能够使用以下html" target="_blank">代码使VideoWriter输出有效的视频文件:

fps = 15
capSize = (1028,720) # this is the size of my source video
fourcc = cv2.cv.CV_FOURCC('m', 'p', '4', 'v') # note the lower case
self.vout = cv2.VideoWriter()
success = self.vout.open('output.mov',fourcc,fps,capSize,True)

编写图像帧(请注意imgFrame的大小必须与上述capSize相同,否则更新将失败):

self.vout.write(imgFrame)

完成后,请确保:

vout.release() 
self.vout = None

这对我在Mac OS X 10.8.5(Mountain Lion)上有效:不保证有关其他平台。我希望此代码段可以节省其他人的实验时间!



 类似资料:
  • 问题内容: 当我尝试去做 我得到一个空的输出。 预期输出为: 问题答案: 如果没有输出,通常是因为命令无法启动。 阅读()以检查是否有任何错误。

  • 这是我的雷克瑟。hpp文件: 一切都很好(这是我的想法),但当我跑的时候

  • 假设我们有下面的Jade源码: - var title = 'yay' h1.title #{title} p Just an example 当 compileDebug 选项不是false, Jade 会编译时会把函数里加上 __.lineno = n;, 这个参数会在编译出错时传递给rethrow(), 而这个函数会在Jade初始输出时给出一个有用的错误信息。 function anonym

  • 问题内容: 这个简单的代码在我用来测试的几台机器上没有产生任何声音。我正在Eclipse中运行代码,但我也尝试过使用命令行无济于事。 我可以通过获取音序器,将MIDI事件添加到音序并播放音序来成功获取声音,但是我试图做一些音序器不支持的实时音乐效果。 有任何想法吗? 使用解决方案进行编辑: 事实证明,问题在于,默认情况下,JRE并未附带音库(有趣的是,使用Sequencer起作用了,而使用Synt

  • 我不明白为什么< code>gcc -S -m32会产生这些特定的代码行: C 代码: 它给出以下输出:

  • 我必须在一个学校项目的“slice”对象上实现一个快速排序算法,该slice对象是一个具有: “数据”字段(要排序的整个数组) “左”和“右”字段(表示数组中切片子部分的索引) 分区函数代码如下: 该函数的doctests不会失败,但是当调用quicksort递归函数时,分区函数的行为不会像预期的那样。quicksort函数的代码如下: 编辑:正如下面的一条评论所指出的,我简直忘了更新piv的值,