OpenCV パッケージ構成
OpenCV は、コンピュータ ビジョン アプリケーションに関連するさまざまな機能を提供する機械学習ライブラリです。 OpenCV は、C++、Python、Java、および MATLAB で使用できます。
どのプログラミング言語にも組み込まれていない外部ライブラリであるため、使用する前にシステムに別途インストールする必要があります。 通常、OpenCV をインストールして実行するのは簡単ですが、コンパイル時のパッケージの欠落や間違った構文など、いくつかの問題により OpenCV ライブラリ関数が機能しないことがあります。
以下に、OpenCV をインストールして実行する際の一般的な問題とその修正方法をいくつか示します。
libopencv-dev
がインストールされていない
libopencv-dev
パッケージは、OpenCV を実行するためのサポート パッケージであり、通常、Linux ディストリビューション、特に Ubuntu で OpenCV を実行するために必要なライブラリ バイナリが含まれています。
OpenCV 関数を含むファイルを実行しても実行されず、システムがエラー メッセージ pkg-config cannot find OpenCV
を表示する場合、通常は libopencv-dev
パッケージが見つからないことが原因です。 この問題は、libopencv-dev
をインストールすることで簡単に解決できます。
Linux パッケージ マネージャーを使用してシステムに OpenCV をインストールした場合、libopencv-dev
をインストールするには、ターミナルで次のコマンドを実行します。
sudo apt-get install libopencv-dev
pip
を使用して Python で使用する OpenCV をインストールした場合は、ターミナルで次のコマンドを実行する必要があります。
sudo apt-get install libopencv-dev python-opencv
sudo pip install opencv-python
注: 上記のコマンドについて、システムで
pip3
を使用している場合は、pip
をpip3
に置き換える必要があります。
OpenCV を使用する C++ ファイルがコンパイルされない
システムに OpenCV をすべての関連パッケージとともにインストール済みで、G++ でコンパイルすると、undefined reference to OpenCV
エラーが発生したとします。 その場合、通常はコンパイル コマンドの構文が原因です。
たとえば、次のコマンドでコンパイルすると、undefined reference
エラーが発生します。
g++ `pkg - config-- cflags-- libs opencv` test.cpp - o test
このエラーを修正するには、次のようにコマンドの最後に pkg-config --cflags --libs opencv
を追加します。
g++ test.cpp - o test `pkg - config-- cflags-- libs opencv`
上記のコマンドにより、ファイルが正常にコンパイルおよび実行されます。
正しい構文を使用してもファイルがコンパイルされず、undefined reference
エラーが生成される場合は、システムにインストールされている OpenCV のバージョンがコンパイル コマンドと一致しないことが原因である可能性があります。 たとえば、OpenCV4
を使用している場合は、コンパイル コマンドでも 4 を追加する必要があります。
g++ test.cpp - o test `pkg - config-- cflags-- libs opencv4`