ホームページ  >  記事  >  システムチュートリアル  >  CentOSでOpenCVが動画ファイルを読み込めない問題の解決方法

CentOSでOpenCVが動画ファイルを読み込めない問題の解決方法

PHPz
PHPz転載
2024-01-04 11:43:11682ブラウズ

CentOS では、チュートリアルの手順に従って OpenCV をインストールしますが、ffmpeg が見つからないため、最終的にビデオ ファイルを読み取ることができません。そこでCentOSのソフトウェア管理からffmqegをインストールしましたが、やはり効果はありませんでした。次に、ffmpegをコンパイルしましたが、それでも効果はありませんでした。実際、ffmpeg を OpenCV に関連付けるという重要な手順が抜けています。詳細は次のとおりです:

1. ffmpeg を取得します:

CVS 経由で ffmpeg をダウンロード、コマンドライン入力: svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

2.ffmpeg の設定:

ffmpeg ディレクトリに入り、 ./configure --enable-shared --prefix=/usr を実行します (enabled-shared の意味は誰もが知っていると思いますが、なぜ prefix=/usr が必要なのでしょうか?これは opencv の CMakeLists に依存します) .txt と heighgui 以下の cvcap_ffmpeg.cpp について言えば、ここに含まれる問題によってパスの問題が発生するはずはありませんが、この問題により午前中ずっと作業を続けることになりました。cMakeLists.txt に ffmpeg がインストールされているかどうかを確認するとき、デフォルトは /usr Go です先に対応するヘッダーファイルが存在するかどうかを確認してください。しかし、ffmpeg のデフォルトのインストールは /usr/local の下にあり、問題が発生します。そのため、インストールパスを変更すると、opencv は既にインストールされているかどうかを検出できなくなります。 cmake.ffmpeg がインストールされています);

3. make; su -c "make install";

4. 次に行うべき作業は、opencv が ffmpeg の関連ヘッダー ファイルを正常にコンパイルできるかどうかに関係します:

4.1) まず、/usr/include で次のコマンド (root) を実行します。

mkdir ffmpeg;

cp libav* libsw* ffmpeg; //この理由は、opencv configure がここに ffmpeg がインストールされているかどうかをチェックするためです

チェック済み

4.2) cmake .; //

の場合、cmake と . の間にスペースがあることに注意してください。

configure の結果では、ffmpeg は前の 0 ではなく 1 になっており、成功したことを意味します。

4.3) インストールを行う;

5. /usr/local/lib/pkgconfig の下の cp opencv.pc を /usr/lib/pkgconfig に変更します。この手順も実行できます。これは単なる構成ファイルです。最悪の場合、次のように指定する必要があります。実際、opencv.pc を開くと、それが何であるかがわかります。

6. root の vim /etc/ld.so.conf の下に、/usr/local/lib という行を追加します (opencv のライブラリ ファイルはローカルにあるため、デフォルトではライブラリ ファイルは local/ にあります)システム起動時に lib はロードされません)

7.ldconfig。

以上がCentOSでOpenCVが動画ファイルを読み込めない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。