10

opencv2.3.1 VideoWriter を使用しておもちゃのサンプル ビデオを作成する際に問題が発生しました。

writer = cv2.VideoWriter('test1.avi',cv.CV_FOURCC('P','I','M','1'),25,(640,480))
for i in range(1000):
    x = np.random.randint(10,size=(480,640)).astype('uint8')
    writer.write(x)
#del writer (with or without tested)

拡張子が mpg の場合は 0 バイト、avi の場合は 5.5kb になるすべての可能な組み合わせを試しました。apt-getではなく、ソースからffmpegライブラリをビルドする必要があると指摘した人もいました。このサイト http://vinayhacks.blogspot.com/2011/11/installing-opencv-231-with-ffmpeg-on-64.htmlの助けを借りて、新しいマシンでそれを行いました。opencvのコンパイル中にもエラーが発生しました(エラーはffmpegに関連していました)。今、私は本当にアイデアがありません.OPENCVを使用してビデオを生成するにはどうすればよいですか?

前もって感謝します

4

3 に答える 3

9

VideoWriter にはisColor、デフォルト値の最後の引数がありますTrue。したがって、それを変更するとFalse、2D 配列を書き込むことができます。

import cv2
import numpy as np

writer = cv2.VideoWriter('test1.avi', cv2.VideoWriter_fourcc(*'PIM1'), 25, (640, 480), False)
for i in range(100):
    x = np.random.randint(255, size=(480, 640)).astype('uint8')
    writer.write(x)
于 2015-07-08T12:34:44.960 に答える
1

どのOSを使用していますか? システムに PIM1 コーデックがインストールされていますか?

私は Windows を使用cv.FOURCC(*"DIB ")しており、圧縮されていないビデオに使用したり、-1 を使用してコーデック ダイアログを表示したりできます。

ffdshow をインストールcv.FOURCC(*"ffds")すると、ビデオを MPEG-4 でエンコードできるようになります。

于 2012-02-15T01:34:18.967 に答える