1. ホーム
  2. オペレーティングシステム
  3. レッドハット/セントス

CentOSでOpenCVが動画ファイルを読み込めない問題を解決するには?

2022-01-15 02:54:52

チュートリアルの手順通りにCentOSにOpenCVをインストールしましたが、結局ffmpegがなくて動画ファイルが読めなかったので、CentOSソフトウェアマネージャからffmqegをインストールしましたが、それでもうまくいきませんでした。その後、ffmpegをコンパイルしても、やはりうまくいきませんでした。実は、ffmpegをOpenCVと関連付けるという重要なステップを逃していました。これは次のように行います。

1. ffmpegを取得します。

ffmpeg を cvs 経由でダウンロードします。コマンドライン入力: svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

2. ffmpegを設定する。

ffmpegディレクトリに移動し、以下を実行します。/configure --enable-shared --prefix=/usr (enabled-shared の意味は推定ですが、なぜ prefix=/usr なのかというと、これは opencv の CMakeLists.txt と highgui から cvcap_ffmpeg.XXX の下になければならないからです。opencvのCMakeLists.txtの下のcppとhighguiの下のcvcap_ffmpeg.cpp、ここに関わる問題はパスの問題ではなく、この問題で朝。cMakeLists.txtの下のcvcap_ffmpeg.ccpの下のCMakeList. txtでffmpegがインストールされているかどうかの検出について、デフォルトでは/usrに移動して対応するヘッダファイルなどの存在を検出しますが、ffmpegのデフォルトインストールは/usr/localにインストールされています cmake .でインストールパスをopencvに変更すると問題が発生します(つまりインストールパスはcmake .ではffmpegがインストールされているかどうかを検出しません)。

3. make; su -c "make install"を実行します。

4. 次の作業は、opencvがffmpegの関連するヘッダーファイルで正常にコンパイルできるかどうかに関連するものです。

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

ffmpegをmkdirします。

cp libav* libsw* ffmpeg; //これは、opencv configure が ffmpeg がここにインストールされているかどうかを確認するために行われます。

によってチェックされます。

4.2) cmake . ; //cmake と .の間にスペースがあることに注意してください。 上記の手順が正しければ、opencvの

configureの結果、ffmpegが先ほどの0ではなく、1になっているので、成功したことになります。

4.3) make installします。

5、/usr/local/lib/pkgconfigにcpしてopencv.pcの下に、このステップも行うことができ、ちょうど設定ファイル、大きな問題は、それを独自の指定ヘッダーファイルやライブラリをコンパイルするとき、実際には、開いてopencv.pcは何を参照してくださいになることです。

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

7. ldconfig.