LoginSignup
27
28

More than 5 years have passed since last update.

Jetson Nano へ OpenCV 4.1.0 をインストールする

Last updated at Posted at 2019-04-14

概要

だいぶハマったので、自分自身へのメモの意味も含めてます。
Jetson NanoへOpenCV4.1.0をインストールしました。

参考
(1) https://devtalk.nvidia.com/default/topic/1049296/jetson-nano/how-to-install-opencv-python-for-python3-6
(2) https://github.com/AastaNV/JEP/blob/master/script/install_opencv4.0.0_Nano.sh

手順

Clean な Jetson nanoを用意する

Cleanなとは、Misco SDへイメージを焼いて、user設定等の初期設定を終わらせた直後のJetson nanoです。
これは必須ではないですが、私はいろいろ作業した後にOpenCVをインストールしようとしたのですが、なんどやっても失敗したため、Jetson Nanoを再インストールしました

swap 領域の作成

コンパイル途中にメモリ不足でエラーになるので、swap領域を作成します
コンパイル後に消すので、場所はどこでも良いです。

$ fallocate -l 4G swapfile
$ chmod 600 swapfile
$ mkswap swapfile
$ sudo swapon swapfile
$ swapon -s
(ここになにか表示されるとOKです)

インストールスクリプトの用意

これを少しカスタマイズして使います。OpenCV 4.0.0をインストールしたい場合はこのままでいいかと思います
https://github.com/AastaNV/JEP/blob/master/script/install_opencv4.0.0_Nano.sh

変更内容は、4.0.0 となっている部分を全て 4.1.0に変えただけです
ファイル名は install_opencv4.1.0_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 "** Install requirement"
sudo apt-get update
sudo apt-get install -y build-essential cmake 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 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 libjasper-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.0"
cd $folder
curl -L https://github.com/opencv/opencv/archive/4.1.0.zip -o opencv-4.1.0.zip
curl -L https://github.com/opencv/opencv_contrib/archive/4.1.0.zip -o opencv_contrib-4.1.0.zip
unzip opencv-4.1.0.zip 
unzip opencv_contrib-4.1.0.zip 
cd opencv-4.1.0/

echo "** Building..."
mkdir release
cd release/
cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3" -D CUDA_ARCH_PTX="" -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.0/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 ..

make -j3
sudo make install
sudo apt-get install -y python-opencv python3-opencv

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

スクリプト実行

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

ひたすら待つ

数時間かかるので、displayつなぐか、screenコマンドをつかって、SSHが切れても大丈夫なようにしたほうがいいかもです

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

python2.7で確認

python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> 

python3.6で確認

python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> 

どちらもエラーが出ない!やった

残作業

再起動するとswap領域が消えるので、作成したファイルを消しておきます

27
28
0

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
27
28