1

デプロイされたバージョンを実行していても、Visual Studio 10を実行していても、Windows7マシンで完全に正常に動作するx64プロジェクトがあります。x64Windows7プラットフォームを搭載した他の4台のマシンを手に入れて、それらにインストールしようとしましたが、ビデオをキャプチャする必要のあるコードのビットが常にロードに失敗することを除いて、1つは正常に動作します。

そのビットは、典型的なopenCVビデオキャプチャビットです。

cap = VideoCapture(file);
if (!cap.isOpened ())
{
  cerr << "I have failed!" << endl;
  return 0;
}

ファイル変数は、ユーザーがファイルダイアログを使用してロードするファイルを選択したときに生成されます。ファイルが画像などの場合、すべてのマシンで完全に正常に機能します。したがって、それは理由ではありません。

作成されたインストーラーには、必要なライブラリーなどが含まれていない可能性があります。本当にわかりません。

乾杯、ビリウス

4

3 に答える 3

2

さて、インストーラーパッケージにいくつかのライブラリがないのではないかと思ったので、コンパイルしたOpenCVを別のコンピューターにコピーし、それを見つけるためのパスを追加すると、ビデオファイルをロードできました。

ffmpegが設定されていないときに多くの人がビデオのロードに問題を抱えていたので、このライブラリをデプロイされたソフトウェアに手動で追加し、問題を修正しました。したがって、問題は、VisualStudioがopencv_ffmpeg241_64.dllライブラリをインストーラーに追加していなかったことです。

乾杯、ビリウス

于 2012-08-24T12:39:22.267 に答える
0

インストーラーがすべてを正しくパックした場合でも、コーデックを自分で処理する必要があります。

それらのマシンにコーデックパック(K-Liteコーデックパックなど)をインストールしてみてください。

于 2012-08-23T18:32:02.477 に答える
0

他のマシンでは、インストール中にffmpegオプションを使用してOpenCVを構成しましたか?Cmake構成リストを確認し、可能であればここに印刷してください。また、ファイルからではなく直接フレームをキャプチャしている場合は、それらのコンピューターにそれぞれのカメラドライバーが正しくインストールされているかどうかを確認しても問題ありません。

于 2012-08-24T00:28:48.250 に答える