OpenCVの略はオープンソースのクロスプラットフォームコンピュータビジョンアルゴリズムのライブラリで、顔認識、ジェスチャ認識、モーショントラッキングなど、あらゆる種類の視覚処理領域で使用できます。これは、マルチコア処理を利用するように特別に設計されており、リアルタイム操作のためのGPUアクセラレーションを備えています。これは、Windows、Linux、アンドロイド、iOSなどを含むいくつかのオペレーティングシステムにインストールすることができます。
このチュートリアルでは、CentOS 8に OpenCV をインストールする方法を説明します。
前提 条件
- CentOS 8 を実行しているサーバー。
- ルート パスワードがサーバーに設定されています。
必要なパッケージのインストール
デフォルトでは、OpenCVはCentOS 8のデフォルト・リポジトリでは使用できません。したがって、ソースからコンパイルする必要があります。OpenCVをコンパイルするには、必要な依存関係をシステムにインストールする必要があります。次のコマンドを使用して、それらのすべてをインストールできます。
dnf install epel-release make git gcc gcc-c++ cmake3 qt5-qtbase-devel python3 python3-devel python3-pip cmake python3-devel python3-numpy gtk2-devel libpng-devel libwebp-devel libjpeg-turbo-devel libtiff-devel tbb-devel freeglut-devel mesa-libGL mesa-libGL-devel boost boost-thread boost-devel gstreamer1-plugins-base -y
すべてのパッケージをインストールしたら、次の手順に進むことができます。
オープンCVのインストール
まず、次のコマンドを使用して、OpenCVのビルド・ディレクトリを作成します。
mkdir -p ~/opencv_build
次に、ディレクトリをopencv_buildに変更し、次のコマンドでOpenCVとOpenCVコントリブソースの最新バージョンをダウンロードします。
cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
次に、次のコマンドを使用して、opencv にディレクトリを変更し、一時ビルドディレクトリを作成します。
cd opencv
mkdir build
次に、ディレクトリをビルドディレクトリに変更し、次のコマンドでOpenCVを設定します。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules -D BUILD_EXAMPLES=ON ..
次の画面が表示されます。
次に、次のコマンドを使用してコンパイルを開始します。
make -j4
次の画面が表示されます。
最後に、次のコマンドを使用してOpenCVをインストールします。
make install
次の画面が表示されます。
次に、/usr/share/pkgconfig ディレクトリへの opencv4.pc のシンボリック リンクを作成します。
ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
次に、次のコマンドを使用して、ライブラリ キャッシュを再構築します。
ldconfig
次に、次のコマンドを使用してOpenCVのバージョンを確認できます。
pkg-config --modversion opencv4
次の出力が表示されます。
4.3.0
次のコマンドを使用して、Python cv2 モジュールを検証することもできます。
python3 -c "import cv2; print(cv2.__version__)"
次の出力が表示されます。
4.3.0-dev
結論
おめでとう!ソースからOpenCVを正常にインストールしました。OpenCVの詳細については、OpenCVの公式ウェブサイトに直接アクセスできます。