LoginSignup
0
2

More than 3 years have passed since last update.

Raspberry Pi に Opencv3.4をinstallしてみた

Last updated at Posted at 2019-06-21

はじめに

Raspberry Pi に Python3.6をinstallしてみた の続きです。
Raspberry Pi に OpenCVをinstallしました。

後々で動画を保存する機能のみ使うので必要最低限のbuildをしています。

方法

⑴ 必要なパッケージをインストール

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

⑵ opecv をdownload

wget https://github.com/opencv/opencv/archive/3.4.3.zip
unzip 3.4.3.zip
cd ./opencv-3.4.3

⑶ opecv をinstall

$ mkdir build
$ cd build

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF \ 
-D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF \ 
-D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF \ 
-D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF \ 
-D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF \ 
-D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF \ 
-D BUILD_DOCS=OFF -D BUILD_TESTS=OFF \ 
-D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF \ 
-D BUILD_opencv_python3=ON -D FORCE_VTK=ON \ 
-D WITH_TBB=ON -D WITH_V4L=ON \ 
-D WITH_OPENGL=ON -D WITH_CUBLAS=ON \ 
-D WITH_FFMPEG=ON ..

$ sudo make -j 4
$ sudo install
$ sudo ldconfig

なぜこんなにコマンドが長いですが、sample codeやGPUの設定をoffにして必要のないlibファイルを作成しないようにするためです。(詳細はInstall OpenCV-Python in Fedora:Configuring and Installing)

で、pythonベースでcv2.VideoCapture(0)を使って動画を起動して、avi形式で保存するappを作成を考えています。そのため、-D BUILD_opencv_python3=ON -D WITH_FFMPEG=ON のフラグが必須です。 ないと、画像(静止画)の保存はできますが動画再生はできないです。

もしmakeが進まないと思ったら。。。

また、このまま make すると opencv_python3のlibファイル生成時にロード中のままで止まってしまいます。解消法としてはRaspberryPi自体のswap領域を拡張することです。

ページを開く
$ sudo vim /etc/dphys-swapfile
dphys-swapfile
# set size to absolute value, leaving empty (default) then uses computed value
#   you most likely don't want this, unless you have an special disk situation
# 1024~2048 に数値変更
CONF_SWAPSIZE=1024
swap領域を更新
$ sudo systemctl stop dphys-swapfile
$ sudo systemctl start dphys-swapfile
swap領域を確認
$ free -h
              total        used        free      shared  buff/cache   available
Mem:           874M        147M        139M         25M        588M        643M
Swap:          1.0G        1.0M        1.0G

⑷ numpyをインストール

$ sudo pip3 install numpy

(5) 確認

$ python3
Python 3.6.8 (default, Jun 17 2019, 16:55:54) 
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import cv2
>>> cv2.__version__
'3.4.6'
>>> 

おわりに

(3) で cmakeするときの設定ですが、raspberrypiの環境と自分の使いたい機能を確認してから-D XXX
とセットすると良いです。今使っているmicroSDの容量が16GBしかないので、何もしないと要らない機能までlibファイルが作成されるのですぐにfullfull:ice_cream:になってしまいます。

reference

Required Packages
Raspberry Pi CameraモジュールとOpenCVで人間の顔を認識する
Installing OpenCV 3.4.3 on Raspberry Pi 3 Model B+
OpenCVのVideo Writerではきだした動画が再生できない。Ubuntu環境です。
ラズパイにOpenCVをインストールした時に困った事とその解決策
ラズパイ(Raspbian Jessie)とスワップメモリ容量の変更(環境設定の続き)

0
2
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
0
2