Я использую 32-битный питон с OpenCV 2.3.1.Я пытаюсь записать двумерные массивы в видеопрограмму для 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, я вижу, что они все еще там.Однако написание фрейма, похоже, ничего не делает.Файл не создается или выдает ошибку.Что я могу делать не так?Заранее спасибо.