Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

(この記事は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" が表示されていれば成功です。

(おわり)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした