Jetson Nano (Jetpack 4.6)にはOpenCV (4.1.1)が実装されていますが、そのままではCUDA は無効になっています。
で、OpenCVのバージョンはそのままでCUDA を有効化してみます。
まずは、既存のOpenCVを削除します。
1 2 3 |
sudo find / -name " *opencv* " -exec rm -i {} \; sudo apt purge libopencv-dev libopencv-python libopencv-samples libopencv* |
チェックしてみます。
1 |
pkg-config --modversion opencv |
python3コンソールを開いてcv2をインポートした時、そんなモジュールはないよ…と出ればOKです。
python3
>>>import cv2
SWAP領域の確保
5GBかそれ以上を確保しておきます。
1 2 3 4 5 |
sudo swapoff -a sudo fallocate -l 5G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile |
恒久化する場合
1 2 |
sudo cp -p /etc/fstab{,.bak} echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab /swapfile none swap sw 0 0 |
OpenCV (4.1.1)をインストール
必要なパッケージやライブラリをインストールしておきます。
1 2 3 4 5 6 7 8 |
sudo apt-get update sudo apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev sudo apt-get install -y libavformat-dev libswscale-dev sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev sudo apt-get install -y python2.7-dev python3.6-dev python-dev python-numpy python3-numpy sudo apt-get install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev sudo apt-get install -y libv4l-dev v4l-utils qv4l2 v4l2ucp sudo apt-get update |
opencvとcontribをダウンロードして準備しておきます。
1 2 3 4 5 6 7 |
curl -L https://github.com/opencv/opencv/archive/4.1.1.zip -o opencv-4.1.1.zip curl -L https://github.com/opencv/opencv_contrib/archive/4.1.1.zip -o opencv_contrib-4.1.1.zip unzip opencv-4.1.1.zip unzip opencv_contrib-4.1.1.zip cd opencv-4.1.1/ sed -i 's/include <Eigen\/Core>/include <eigen3\/Eigen\/Core>/g' modules/core/include/opencv2/core/private.hpp mkdir release && cd release/ |
cmake
cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3,6.2,7.2" -D CUDA_ARCH_PTX="" -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.1/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
ビルド
1 2 3 4 5 6 7 |
make -j3 sudo make install echo 'export PYTHONPATH=$PYTHONPATH:'$PWD'/python_loader/' >> ~/.bashrc source ~/.bashrc |
確認
python3コンソールを開いてcv2をインポートしてバージョン確認します。問題が起こらなければOKです。
python3
>>>import cv2
>>>cv2.__version__
jetson-statsで確認
Leave a Reply