Jetson Xavier NX はデフォルトで OpenCV 4.5.4 (cuda なし) をインストールしますが、プロジェクトでは高速化のために OpenCV が cuda を使用する必要があるため、OpenCV を再コンパイルする必要があります。これは、複雑な環境や依存関係を回避するために、ターゲット マシン上で直接コンパイルすることを容易にするためです。
1. OpenCV ソースコードをダウンロードする
ダウンロードリンク:
ここからopencv-4.5.4とopencv_contrib-4.5.4をダウンロードし、ダウンロードして解凍します。
2.元の OpenCV をアンインストールします
sudo apt-get purge libopencv* python-opencv
アンインストールされているかどうかを確認します。
ライブラリ:
pkg-config opencv --libs
バージョン:
pkg-config opencv --modversion
コンテンツがない場合は、アンインストールされたことを意味します。
3. 依存関係をインストールする
sudo apt-get update
sudo apt-get install build-essential pkg-config
sudo apt-get install -y cmake libavcodec-dev libavformat-dev libavutil-dev \
libglew-dev libgtk2.0-dev libgtk-3-dev libjpeg-dev libpng-dev libpostproc-dev \
libswscale-dev libtbb-dev libtiff5-dev libv4l-dev libxvidcore-dev \
libx264-dev qt5-default zlib1g-dev libgl1 libglvnd-dev pkg-config \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev mesa-utils
sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy
4. OpenCVの設定
cd opencv-4.5.4
mkdir build
cd build
sudo cmake-gui
フィルタ機能を使用してCUDA関連のオプションを確認できます
OPENCV_EXTRA_MODULES_PATH は opencv_contrib-4.5.4/modules に構成されます
注意:Linux環境にインストールするので「OPENCV_GENERATE_PKGCONFIG」のチェックを忘れずに
5. コンパイルとインストール
sudo make -j8
sudo make install
ここでのコンパイル時間は比較的長く、約数時間かかります。
6.構成
1) リンクライブラリを設定する
sudo ldconifg -v
OpenCV ライブラリをパスに追加します。
sudo vi /etc/ld.so.conf.d/opencv.conf
に追加:
/usr/local/lib
設定が有効になるのは次のとおりです。
sudo ldconfig
2) 環境変数を設定する
sudo vi /etc/bash.bashrc
に追加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
設定が有効になるのは次のとおりです。
source /etc/bash.bashrc
7. チェック
ライブラリ:
pkg-config opencv --libs
バージョン:
pkg-config opencv --modversion
対応する出力コンテンツを用意するだけです。
以下からも入手可能です:
opencv_version
OpenCV のバージョンを問い合わせます。