LoginSignup
18
19

More than 5 years have passed since last update.

RaspberryPiにPython3.6で動くopenCV3系入れるの辛すぎ問題(解決)

Posted at

とにかくRaspberryPiでPython3.6で動くopenCVをできるだけ簡単に入れたい。
Python2系やPython3.5ではなく、Python3.6なのだ。やんごとなき理由で。
そんな奮闘記。

結論からいえば、RaspberryPiにおいてはpip系のコマンドなどで楽ちんに入れることはできません。公式からbuildするしか方法がないっぽいです。結論だけ知りたい方は「解決策」項だけお読みください。

奮闘記(全部失敗)

pip install opencv-pythonで一発でいけるっしょと思っていたが上記コマンドはmacOSではいけるがraspbianでは無理

ok、それならとpyenvでpython3.6系の環境を入れてから以下のページで1からビルドしようとしたが、情弱かつ我慢強くない自分は「もっとラクな方法は無いものか…」と挫折

余計なものが入ってゴチャゴチャするのが嫌だけど仕方ない、anacondaを入れてconda install opencvで一発で入れるか…と思い、pyenvでanaconda3環境を入れようとしたところ、以下のエラーが出て入らない…(minicondaも試したが同じエラーでコケる)

こちらの記事いわく、anaconda/minicondaはpython3.4までしか用意されていないらしい。ツライ…

そこで、上記の記事に入れているBerry Condaなるものを入れました。
そこでおもむろに conda install opencvするとまたコケるのですが、こちらの記事を参考にして conda install -c conda-forge opencv すると入った。

いやー、めでたしめでたしとしたかったのですが、そうは問屋がおろさん
import cv2するとたしかにopencvの3.1.1が入っていることが確認できるのですが、いざコードを実行すると以下のような謎のエラーが出る

なんだかよくわからないが、どうやらconda installのopencvはダメだから公式からビルドしろと書かれている気がする。マジかよ… RaspberryPiでopenCV(with Python3.6以上)入れるのどんだけツライんだよ…

解決策

さらに別の方法を探し、すがるような気持ちでこちらを参考にして以下を実行

動作確認環境がPython3.4となっているが気にしない気にしない、うごけばいいんや…
make -j4で90minかかるとなっているが、最初のapt-get updateとdist-upgradeでも1hくらいかかった。長い。

最後のmakeするところで -j4 オプションを付けると自分の場合延々に処理が終わらなかったが、-j4を取ってmakeだけすると完了する。

$ sudo apt-get update #ここもそこそこ長い
$ sudo apt-get dist-upgrade #ここもそこそこ長い
$ sudo apt-get install build-essential cmake pkg-config  
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev  
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev  
$ sudo apt-get install libxvidcore-dev libx264-dev  
$ sudo apt-get install libgtk2.0-dev  
$ sudo apt-get install libatlas-base-dev gfortran  
$ cd ~  
$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip  
$ unzip opencv.zip  
$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip  
$ unzip opencv_contrib.zip  
$ cd ~/opencv-3.1.0/  
$ 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-3.1.0/modules -D BUILD_EXAMPLES=ON ..  
$ make  #注! -j4 とすると延々に処理が終わらない。ここも90分くらいかかる 
$ sudo make install  
$ sudo ldconfig

自分の環境ではこれでようやく目的を達成した。



<その他参考>

18
19
1

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
18
19