ウィンドウでビデオからフレームをキャプチャするためのOpenCV2.4 highguiにバグがあるのでしょうか?
プリコンパイルされたライブラリと私がコンパイルしたライブラリの両方をインストールしました。すべてを完全にコンパイルでき、次の場合にプログラムを実行できます
それらは画像ベースです。問題はビデオのみです。OpenCV は常にこの関数でクラッシュします。
virtual IplImage* retrieveFrame(int)
{
unsigned char* data = 0;
int step=0, width=0, height=0, cn=0;
if(!ffmpegCapture ||
!icvRetrieveFrame_FFMPEG_p(ffmpegCapture,&data,&step,&width,&height,&cn)) <-------CRASHES HERE
return 0;
cvInitImageHeader(&frame, cvSize(width, height), 8, cn);
cvSetData(&frame, data, step);
return &frame;
}
これは cap_ffmpeg.cpp クラス内にあり、VideoCaptureによって呼び出されます。
バージョン 2.4.2 と 2.4.9 を試しました。私のプログラムはopencv2で動作していました
詳しくは
ウィンドウズ7
cmake を使用してプロジェクトをビルドします (cmake が適切なコーデックをビルド/検出していない可能性があるため、重要です)。
VisualStudio 9 2008
OpenCV 2.4.2
編集
実際にはバグのようですが、どうすればこの問題を解決し、avi ファイルを読み取れるようにコードを変更できますか?