LoginSignup
4
2

More than 3 years have passed since last update.

Jetson Nano に OpenCV 4.1.1 をインストールする

Last updated at Posted at 2019-08-07

概要

Jetson Nano に、OpenCV 4.1.1 をインストールしました。

手順

以下の@asahi0301さんの記事のそのままです。
https://qiita.com/asahi0301/items/3c287190348552f19415
ただし、スクリプトだけ変更。ファイル名は install_opencv4.1.1_Nano.sh にしました。

#!/bin/bash
#
# Copyright (c) 2018, NVIDIA CORPORATION.  All rights reserved.
#
# NVIDIA Corporation and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto.  Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA Corporation is strictly prohibited.
#

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <Install Folder>"
    exit
fi
folder="$1"
user="nvidia"
passwd="nvidia"

echo "** Remove OpenCV3.3 first"
sudo sudo apt-get purge *libopencv*

echo "** Install requirement"
sudo apt-get update
sudo apt-get install -y build-essential git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y python3.7-dev python-dev
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 install -y curl
sudo apt-get update

echo "** Download opencv-4.1.1"
cd $folder
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/

echo "** Building..."
mkdir release
cd release/
cmake -D CUDA_HOST_COMPILER=/usr/bin/gcc-7 -D CUDA_NVCC_FLAGS="--expt-relaxed-constexpr" -D CUDA_VERSION="10000" -DWITH_NVCUVID=OFF -DENABLE_CCACHE=OFF -DEIGEN_INCLUDE_PATH=/usr/include/eigen3 -D HAVE_CUDA=1 -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3" -D CUDA_ARCH_PTX="" -DWITH_FAST_MATH=OFF -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.1/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=ON -DPYTHON3_EXECUTABLE=/usr/bin/python3 -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/ -D WITH_CUBLAS=ON -D LAPACK_LIBRARIES=/usr/lib/aarch64-linux-gnu/libblas.so -D LAPACK_CBLAS_H=/usr/include/aarch64-linux-gnu/cblas.h ..
make -j2
sudo make install

echo "** Install opencv-4.1.1 successfully"
echo "** Bye :)"

スクリプト実行

mkdir opencv
sh install_opencv4.1.1_Nano.sh opencv
(コンパイル/インストールが始まります)

で、ひさすら待つ

インストール後に試してみる

今回は、python2 向けモジュールは作成していないので、python3でしか確認していません。
python3 起動して、

>>> import cv2
>>> print(cv2.__version__)
4.1.1

となれば一応オーケー

注意すること

cmake 時に、ビルド先のフォルダに .cache というフォルダが作成されて、そこに、cudaoptflow 等の外部ライブラリがダウンロードされるのだが、 GitHub のご機嫌によっては、空ファイル(サイズ0)になってしまうことがある。その場合は、手動で適当な場所にダウンロードして、手動で cmake + make をやり直すしかないようだ。。。

仕掛かり課題

例えば、

pip3 install gym[atari]

のように、opencv-pythonに依存するインストールに失敗する。要は、

pip3 list

で opencv-python、opencv-contrib-python が表示されない(バージョン 4.1.1.26 と表示されるのが理想。これはJetson Nano に限らず、cmake からビルドするとそうなってしまうようだ)。また、pypi にはバイナリ形式でしか提供されてなく、しかも aarch64はじめ arm 向けは提供されていないので、別途手動で作成するしかないが、ちと工夫が必要と思われる。

以下のPyPi のリポジトリに作成方法が記述されている。要は、setup.py などのファイルを別途用意する必要がある、とのこと。これでJetson Nano向けのを作成すれば上手くいくかもしれないが、未着手。
https://pypi.org/project/opencv-python/

4
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2