我在使用opencv2.3.1 VideoWriter编写玩具示例视频时遇到问题,下面是我的操作方法:
writer = cv2.VideoWriter('test1.avi',cv.CV_FOURCC('P','I','M','1'),25,(640,480))
for i in range(1000):
x = np.random.randint(10,size=(480,640)).astype('uint8')
writer.write(x)
#del writer (with or without tested)
我尝试了所有可能的组合,如果扩展名是mpg,则使用0字节的文件,如果扩展名是avi,则使用5.5kb。我应该说有人指出,我应该从源代码构建ffmpeg库,而不是从源代码获取它。好吧,我是在一台新的机器上,在这个网站的帮助下做的http://vinayhacks.blogspot.com/2011/11/installing-opencv-231-with-ffmpeg-on-64.html。在编译opencv时也出现了一个错误(该错误与ffmpeg有关)。现在我真的想不通了,怎么用OPENCV生成视频呢?
提前谢谢
你在用哪个操作系统?您确定您的系统安装了PIM1编解码器吗?
我使用windows,可以对未压缩的视频使用
cv.FOURCC(*"DIB ")
,也可以使用-1来显示编解码器对话框。安装完ffdshow后,我可以使用
cv.FOURCC(*"ffds")
对视频进行MPEG-4编码。你好,我是新来的opencv,我有同样的问题。writer.write(x)需要x是带有RGB值的数组,而不是标量。我这样做解决了这个问题:
我想有更干净的方法做这件事,但我没有找到任何。
VideoWriter的最后一个参数
isColor
具有默认值True
。 因此,如果将其更改为False
,则可以编写二维数组。相关问题 更多 >
编程相关推荐