Edited at

RaspberryPi (3 Model B+) へのOpenCV(3.4.2)のインストール

(この記事は2018/8/17に作成しました)

RaspberryPiにOpenCVをインストールします。

以前に別の方法で

sudo apt autoremove libopencv3


  • RaspberryPi3 Model B+ (OS: RASPBIAN, version: June 2018)

  • Python3

  • OpenCV3.4.2

を想定しています。下の記事を全面的に参考にさせていただきました。

参考リンク:https://qiita.com/nanbuwks/items/422eb405ceef84826ab4


1. microSDからメモリのスワップ

作業にあたり、スワップメモリ容量を変更しておきます。当該モデルのメモリは1GBありますが、インストール時にメモリ容量がなくなる可能性があるためです。

メモリ容量は、以下のコマンドで確認します。


スワップメモリ容量の確認

$ free -h


microSDのメモリを割り当てます。1GB程度あれば十分と思われます。32GBであれば、2GBでも問題ないでしょう。

容量の変更は、"/etc/dphys-swapfile" を編集することで可能です。nanoを用いて編集します。


メモリスワップに関する設定の変更

$ sudo nano /etc/dphys-swapfile


実行すると、nanoで当該ファイルの編集ができます。単位はMBになっていますので、1024に書き換えます。


dphys-swapfile

CONF_SWAPSIZE=1024


書き換え後、control + Xで終了、その後Yで編集内容を保存、Enterで離脱します。

設定が完了したら、スワップメモリの変更を実行します。

設定の反映のために、stop→startとコマンドを実行します。


設定の反映

$ sudo systemctl stop dphys-swapfile

$ sudo systemctl start dphys-swapfile

変更ができたか、もう一度容量を確認します。


スワップメモリ容量の確認

$ free -h



2. インストール

OpenCVをインストールする前に、必要となるパッケージをインストールしておきます。

参考リンク先の内容をそのまま踏襲して、以下のように入力すれば良さそうです(すでにインストール済みのパッケージはスキップされます)。


必要となるパッケージのインストール

$ sudo apt-get install build-essential git cmake pkg-config libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk2.0-dev libatlas-base-dev gfortran



Python3、pipのインストール

$ sudo apt-get install python3-dev python3-pip



3. OpenCVおよびOpenCV_contribをダウンロード

OpenCVに加え、基本的なパッケージが含まれるOpenCV_contribも同時にインストールします。

下記の通りにダウンロードします。参考リンク先では3.2.0となっているところは、最新バージョンの数字である3.4.2に変更します。


OpenCVおよびOpenCV_contribをダウンロード

$ cd ~

$ git clone https://github.com/Itseez/opencv.git
$ cd opencv
$ git checkout 3.4.2
$ cd ..
$ git clone https://github.com/Itseez/opencv_contrib.git
$ cd opencv_contrib/
$ git checkout 3.4.2
$ cd ..

numpyをインストールします。pipがインストール済みですので、pipを使用します。

使用するコマンドはpipではなく、pip3ですので注意してください。


numpyをダウンロード

$ sudo pip3 install numpy


それでは、ダウンロードしたOpenCVをインストールします。cmake以下に多くの変数がありますが、 "\" を挟めば改行することができます。その場合にも、行頭の "-D" は毎回指定してください。最後の".."まで記述してください。


ビルド

$ cd opencv

$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
> -D CMAKE_INSTALL_PREFIX=/usr/local \
> -D INSTALL_PYTHON_EXAMPLES=ON \
> -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
> -D BUILD_EXAMPLES=ON ..
$ make -j 4

"make -j 4 "はCPUコアを4つ使ってビルドするという意味です。

ビルドには2時間以上かかりますので、RaspberryPiには手を触れないで待ちます。

最後にインストールします。


インストール

$ sudo make install

$ sudo ldconfig

インストールが終了したら、インストールができているか確認します。


インストール確認

$ Python3

>>>import cv2
>>>cv2.__version__

最新バージョン "3.4.2" が表示されていれば成功です。

(おわり)