Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
17
Help us understand the problem. What is going on with this article?
@ysdyt

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

More than 1 year has passed since last update.

とにかく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

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



<その他参考>

17
Help us understand the problem. What is going on with this article?
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
ysdyt
ブレインパッドのデータサイエンティスト
brainpad
ブレインパッドは、2004年の創業以来、データによるビジネス創造と経営改善に向き合ってきたデータ活用・分析企業です。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
17
Help us understand the problem. What is going on with this article?