OpenCV2 - 在实例化VideoWriter对象时抑制压缩对话框

在Python OpenCV 2.4.9 中,当使用通常的指令实例化 VideoWriter 对象时:

video = cv2.VideoWriter("output.avi", -1, 25, (640,480))

我得到以下恼人的对话框,要求我在压缩模式的各种选项之间进行选择 .

我需要迭代地创建 VideoWriter 对象以构建一个大的视频数据集,我想知道是否有任何方法只设置压缩模态一次并摆脱每个新 VideoWriter 实例化时弹出的对话框 .

我真的需要自动化这个过程,所以任何帮助都会得到真正的赞赏

回答(2)

2 years ago

这很顺利:

video = cv2.VideoWriter("output.avi", 1, 25, (640,480))

我的系统:

  • Python 2.7.15

  • OpenCV 2.4.9

2 years ago

答案在 VideoWriter() 的构造函数的参数中 . 当您传递 -1 作为第二个参数时,这意味着您要求弹出窗口 . 如果要预先选择编解码器,可以通过将其设置为与给定编解码器对应的整数来实现 .

所以代码看起来像这样:

# for OCV == 3.X.X
#fourcc = cv2.VideoWriter_fourcc('X', '2', '6', '4')

#for OCV == 2.X.X
fourcc = cv2.cv.FOURCC(*'X264')
video = cv2.VideoWriter("output.avi", fourcc, 25, (640,480))