LoginSignup
4
4

More than 3 years have passed since last update.

ラズパイ3(OS:Ubuntu 18.04(64bit))にOpenCVをインストール

Posted at

はじめに

今回、諸事情によりラズパイ3 Model B+ に
・Ubuntu(64bit)
・OpenCV
をインストールしなければならなくなりました。

OpenCVをインストールしてpythonで使用出来るまでに
かなりつまづいたたので、備忘録的に書いていこうと思います。

ちなみに
今回私が使用した環境は以下の通りです。
・ラズパイ3 Model B+
・Ubuntu 18.04LTS(64bit)
・OpenCV 3.4.0

Ubuntuのインストール

Ubuntuをインストールするに辺り以下の記事を参考にさせていただきました。
Raspberry Pi 3で64ビット版Ubuntu 19.10を起動してみました

こちらはUbuntuのバージョンが異なりますが基本的には上記記事の通り
こちらよりイメージファイルをダウンロードしてSDカードに書き込みます。

ちなみに今回18.04を選んだ理由としては
・上記ダウンロードサイト内の16.04が
 ラズパイ3 Model B+ では 起動出来なかったため
・19.10のpythonのバージョンが ‘3.7系’で
 numpyが上手くインストール出来なかったため
です。

OpenCVのインストール

OpenCVのインストールの細かいコマンド等については、
多くの記事が出ているので、この記事では割愛します。

ここでは、OpenCVをインストールするに辺り
つまづいた点について書いていきます。

①libjasper-dev,libpng12-devがない

Ubuntu18.04には、パッケージに上記2つがないため、

sudo apt-get install libjasper-dev
sudo apt-get install libpng12-dev

を実行すると、エラーが出ます。
(libpng12-devはlibpng-devに名称が変更になったとか)

これを解消するためにこちらを参考にしました。
リンクの記事にある通り、libjasper-dev等が存在する
バージョンのリポジトリを追加する必要があります。

しかし、リンク記事にある

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu bionic-security main"

や、コメント欄にある

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"

ラズパイで実行するとエラー になります。
(以下エラーが出ます)

404 not found

理由としては、ラズパイのCPUがARMであることです。
上記2つのリポジトリは、Intel向けのみのフォルダしか存在しておらず、
ラズパイにて実行するとARM向けのフォルダを探そうとするため、404になってしまいます。

そのため、

sudo add-apt-repository "deb http://ports.ubuntu.com/ubuntu xenial-security main"

とARM向けのフォルダが存在するリポジトリを指定してあげる必要があります。

ちなみに、上記コマンドはOpenCVに必要なライブラリをインストールする前
実行した方が良いです。
(私は、sudo apt update, sudo apt upgradeを実行する前に実行しました。)

これで、libjasper-devlibpng12-devをインストールすることが出来るようになるはずです。

②メモリ不足によりmakeが止まる

①により、インストールがサクサク進み、意気揚々とmakeコマンドを実行するも、
以下のファイルをビルドしている最中に、止まる事があります。

modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o

こちらの記事によれば、これとpython2はメモリを喰うらしく
メモリ不足によりmakeが止まってしまうそうです。私自身の環境でもずっと止まっていました。

そのため、仮想メモリを追加してあげる必要があります。
今回はこちらの記事を参考にさせていただきました。

仮想メモリを追加してあげた状態で再度makeすることで、
多少時間はかかりますが、最後まで実行されるはずです。

OpenCVをインストールするに辺り、つまづいた点は以上になります。

終わりに

この辺りがクリアできれば、OpenCVが使えるようになると思います。

今回、インストール完了するまでに結構かかったので忘れないようにしないとですね...。

4
4
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
4
4