【发布时间】:2013-01-04 14:40:48
【问题描述】:
我正在尝试在python 2.7.2 中使用OpenCV 2.4.0 创建视频。但avi 文件大小为0。
我的代码:
from cv2 import *
im1 = cv.LoadImage("1.jpg")
fps = 20
frame_size = cv.GetSize(im1)
#writer = cv.CreateVideoWriter("out.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, frame_size, True)
v = VideoWriter()
v.open("out.avi", cv.CV_FOURCC('F', 'M', 'P', '4'), fps, (800,600), True)
print v.isOpened()
isOpened() 总是返回 false。
再试一次:
#!/usr/bin/env python
import sys
from cv2 import *
im1 = cv.LoadImage("1.jpg")
if not im1:
print "Error loading image"
im2 = cv.LoadImage("2.jpg")
if not im1:
print "Error loading image"
fps = 20
frame_size = cv.GetSize(im1)
writer = cv.CreateVideoWriter("out.avi", cv.CV_FOURCC('M', 'J', 'P', 'G'), fps, frame_size, True)
if not writer:
print "Error in creating video writer"
sys.exit(1)
else:
cv.WriteFrame(writer, im1)
cv.WriteFrame(writer, im2)
del writer
没有错误,但输出为空。
我错过了什么?
【问题讨论】:
-
我之前没有使用过OpenCV,但我猜你需要在编写完成后调用python相当于this function。
-
@AshwiniChaudhary 我已经检查了 SO 中的所有问题,但没有任何效果。另外,我尝试了
del writer,仍然没有。好像我错过了一些编解码器,也许。 -
我遇到了类似的问题,我猜作者可能有错误。