hotch-potch, Note to self

いろいろ作業記録

RaspberryPiにOpenCV 4を入れてみる

はじめに

RaspberryPi3+にOpenCV 4.xを入れる手順について、
下記参考ページのうち、
所々詰まったところがあるので、補足しています。

参考ページ

qiita.com

環境

~ $ uname -a
Linux raspi3 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux
~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.9 (stretch)
Release:        9.9
Codename:       stretch

下準備

参考ページに従い、下記の項目を予め実行する。

  1. OS環境の最新化
  2. インストール
    1. CMake環境
    2. イメージファイル用ライブラリ
    3. ビデオストリーム用ライブラリ
    4. 画像表示用ライブラリ
    5. 演算用ライブラリ
    6. Python3開発用ヘッダ
  3. NumPy

コンパイル

作業フォルダを準備

~ $ mkdir gitwork
~ $ cd gitwork
~/gitwork $

Githubからクローン

本体とcontribの二つを準備します。
ここでは、Ver.4.1.0をcheckoutしています。

~/gitwork $ git clone https://github.com/opencv/opencv.git
~/gitwork $ git clone https://github.com/opencv/opencv_contrib.git
~/gitwork $ cd opencv_contrib
~/gitwork/opencv_contrib $ git checkout [TAB KEY]
3.0.0           3.2.0           3.3.1           3.4.2           3.4.6           4.0.0-rc        master
3.0.0-beta      3.2.0-rc        3.4             3.4.3           4.0.0           4.0.1           origin/3.4
3.0.0-rc1       3.3.0           3.4.0           3.4.4           4.0.0-alpha     4.1.0           origin/HEAD
3.1.0           3.3.0-rc        3.4.1           3.4.5           4.0.0-beta      HEAD            origin/master
~/gitwork/opencv_contrib $ git checkout 4.1.0
~/gitwork/opencv_contrib $ cd ..
~/gitwork $ cd opencv
~/gitwork/opencv $ checkout
~/gitwork/opencv $ git checkout [TAB KEY]
・・・(略)
2.4.10                 2.4.2                  2.4.8                  3.3.1                  4.0.0-rc
2.4.10.1               2.4.3                  2.4.8.1                3.3.1-cvsdk            4.0.1
2.4.10.2               2.4.3.1                2.4.8.2                3.4                    4.0.1-openvino
2.4.10.3               2.4.3.2                2.4.8.3                3.4.0                  4.1.0
2.4.10.4               2.4.3-rc               2.4.9                  3.4.0-rc               4.1.0-openvino
2.4.11                 2.4.4                  2.4.9.1                3.4.1                  HEAD
2.4.12                 2.4.4-beta             3.0.0                  3.4.1-cvsdk            master
・・・(略)
~/gitwork/opencv $ git checkout 4.1.0
~/gitwork/opencv $ mkdir build
~/gitwork/opencv $ cd build

コンパイル

cmakeのオプションは、参考ページを参照。
ここだけ書き換えしてください。

-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules

コンパイルの実行

~/gitwork/opencv/build $ cmake <OPTIONS>
~/gitwork/opencv/build $ make -j4

インストール

いつも通り、パッケージ管理ツールporgを使用。*1
パッケージ名は「OpenCV410」とします。
porg -aで、インストールできているか確認します。

~/gitwork/opencv/build $ sudo porg -lp OpenCV410 make install
~/gitwork/opencv/build $ porg -a
...
opencv410
...
~/gitwork/opencv/build $ sudo ldconfig

動作確認

~ $ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.1.0'
>>> exit()
~ $