ホームページ  >  記事  >  バックエンド開発  >  Windows で OpenCV 2.4 を使用してビデオ ファイルからフレームを取得できないのはなぜですか?

Windows で OpenCV 2.4 を使用してビデオ ファイルからフレームを取得できないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-01 03:07:02297ブラウズ

Why Can't I Retrieve Frames from Video Files Using OpenCV 2.4 on Windows?

Windows 上の OpenCV 2.4 で VideoCapture がビデオ ファイルからフレームを取得しない

この記事では、Windows システム上の OpenCV 2.4 のユーザーが遭遇する一般的な問題について説明します。具体的には、VideoCapture がビデオ ファイルからフレームをキャプチャできない問題について詳しく説明します。

問題の説明

Windows で OpenCV 2.4 を使用する場合、次のコードは期待どおりに動作します。

<code class="python">cap = cv2.VideoCapture(0)
print(cap.grab())</code>

ただし、次のコードを使用してビデオ ファイルからフレームをキャプチャしようとすると、

<code class="python">cap = cv2.VideoCapture(filename)
print(cap.grab())</code>

ファイルへのパスが正しく有効であっても、一貫して False が返されます。この問題は Windows XP と Windows 7 の両方のマシンで確認されていますが、Linux (Ubuntu) では同じコードが問題なく動作します。

解決策

この問題を解決するには、次のことを確認する必要があります。ビデオ デコードに必要な依存関係は、Windows 上の OpenCV で利用できます。これを行うには、次のディレクトリを Windows PATH 環境変数に追加します:

C:\OpenCVrdparty\ffmpeg\

または、指定されたディレクトリから次の場所のいずれかに opencv_ffmpeg.dll ファイルを手動でコピーできます:

  • C:Python27
  • PATH 環境変数に含まれる任意のディレクトリ

さらに、環境に応じて、opencv_ffmpeg.dll ファイルの名前を変更する必要がある場合があります。 OpenCV のバージョンとオペレーティング システム (64 ビットまたは 32 ビット)。名前変更のガイドラインは次のとおりです。

OpenCV バージョン X.Y.Z の場合

  • opencv_ffmpeg.dll ==> opencv_ffmpegXYZ.dll

64 ビット OpenCV バージョン X.Y.Z の場合

  • opencv_ffmpeg.dll ==> opencv_ffmpegXYZ_64.dll

次の手順に従うことで、OpenCV 2.4 が Windows システム上のビデオ ファイルからフレームを正常にキャプチャして処理できるようになります。

以上がWindows で OpenCV 2.4 を使用してビデオ ファイルからフレームを取得できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。