2010-12-13 25 views
0

でキャプチャを作成することができません。私はC#で<strong>Emgu</strong>を使用して<strong>AVIファイル</strong>から<strong>キャプチャビデオ</strong>にしようとしたとき、私がnull参照例外を取得していますEmgu

キャプチャキャプチャ=新しいキャプチャー( "somepath.avi")

私はK-Liteとコーデックが私のOSにインストールされています。あなたのAVIファイルは、OpenCVのと互換性があり

>  at Emgu.CV.Capture..ctor(String fileName) 
>  
>  at HelloWorld.Program.Main() in D:\5th year stuff\1st Semester\Computer 
> Vision\libemgucv-2.1.0.793-win64\Emgu.CV.Example\HelloWorld\Program.cs:line 
> 30 
>  
>  at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 
>  
>  at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
>  
>  at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
>  
>  at System.Threading.ThreadHelper.ThreadStart() 
+0

完全なスタックトレースを送信してください。コンストラクタは例外をスローする必要がありますが、理由はわかりません... –

答えて

2

ダブルチェック: は、ここでスタックトレースです。 mencoderを使用し、hereのように適切なコーデックを使用して変換する必要があります。 1つのサポートされているコーデックは、生のI420です。このコマンドを使用すると、mencoderでaviファイルをI420に変換できます。

mencoder inputVideo.avi -ovc raw -vf format=i420 -o convertedVideo.avi 
0

私は同じ問題を抱えていました。 FFmpegというビデオコーデックを使って.MOVファイルを.AVIに変換しました。私はopencv_ffmpeg.dllを自分のプロジェクトに追加しました。 dllはEmguパッケージのbinディレクトリにあります。あなたの.aviファイルが使用しているコーデックを調べ、そのコーデックのDLLがあるかどうかを調べてみてください。 dllをプロジェクトディレクトリにコピーし、ファイルの "ローカルコピー"プロパティに "新しい場合はコピー"を設定し、それが機能するかどうかを確認してください。さまざまなコーデックオプションを使ってビデオファイルを変換するために、私は "Pazera Free Mov to Avi"というソフトウェアを使用しました。

関連する問題

 関連する問題