1
我使用32位的蟒蛇與OpenCV的2.3.1灰度視頻。我正在嘗試將2維numpy數組寫入opencv視頻編寫器。我的代碼類似於:創建使用Python,OpenCV的和numpy的陣列
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中讀取數據,我發現它仍然存在。但是,編寫框架似乎沒有做任何事情。沒有文件正在製作或拋出任何錯誤。我可能做錯了什麼?提前致謝。
這段代碼看起來並不完整。 'GetFrame'從哪裏來(它會是'cv.cv.GetFrame')?這個代碼是什麼進口的? – heltonbiker
GetFrame是一個獨立的函數,我從中獲取圖像。它與cv.cv.GetFrame()無關。 – Doomchinchilla
面臨與cv2和numpy矩陣類似的問題,它給了我沒有錯誤,但它沒有寫入文件! – JustInTime