使用Python、OpenCV和numpy数组创建灰度视频
我正在使用32位的Python和OpenCV 2.3.1。我想把二维的numpy数组写入一个OpenCV的视频写入器。我的代码大概是这样的:
import cv2 as cv
import numpy as np
fourcc = cv.cv.CV_FOURCC('D', 'I', 'V', 'X')
writer = cv.cv.CreateVideoWriter("test.mpg", courcc, 10, (256,256))
if not writer:
print "Error"
sys.exit(1)
for ii in range(numberOfFrames):
numpy_image = GetFrame(ii) #Gets a random image
cv_image = cv.cv.CreateImage((256,256), cv.IPL_DEPTH_8U, 1)
cv.cv.SetData(cv_image, numpy_image.tostring(), numpy_array.dtype.itemsize*1*256)
cv.cv.WriteFrame(writer, cv_image)
del writer
我可以看到我的numpy数组里有正确的数据。如果我尝试从iplImage中读取数据,我发现数据还在。但是,写入帧似乎没有任何反应。没有生成文件,也没有报错。我可能哪里做错了呢?谢谢大家的帮助。