作成したcos画像からビデオを作成しようとしましたが、生成されたaviビデオは空です。Python/Open CV:cos画像シーケンスからビデオを作成すると、ビデオは空になります
私はcv2.VideoWriter()を使用する必要があります。フレームは、作成されたビデオによって正しく表示され、0バイトです。あなたはこれを修正する方法を知っていますか?
私はaviビデオからフレームを取得したら、私は正常に新しい再生可能なビデオを作成します。
ありがとうございます!
私のコードは、私は解決策を見つけた
import cv2
import math
import numpy as np
N=128
Icos_1 = np.zeros((N,N))
Icos_2 = np.zeros((N,N))
for i in range(0,N):
for j in range(0,N):
myPi = 2*math.pi/N
th1 = 1*i + 3*j
th2 = 2*i + 4*j
Icos_1[i,j] = 255*(math.cos(myPi*th1))
Icos_2[i,j] = 255*(math.cos(myPi*th2))
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('sample_video.avi',fourcc, 25.0, (128,128))
or x in range(1, 100):
if (x % 2) != 0:
frame = Icos_1
else:
frame = Icos_2
out.write(np.uint8(frame))
cv2.imshow('frame',np.uint8(frame))
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Release video objects if job is finished
out.release()
あなたが使用していない理由は、画面に表示するために 'np.uint8(フレーム)'を使用する場合'write(np.uint8(frame))' – furas
また、適切なコーデックをインストールしていないか、ビデオを書き込むためにサポートしたいコーデックがないかもしれません。どのオペレーティングシステムを使用していますか? XVIDの代わりにMPEG-4を使ってみましたか? – rayryeng
@furas動作しませんでした!それでも同じ結果。他のアイデア? – zinon