Rasbperry PiにOpenCVを入れなおす

次のプログラムを導入しようとしたら・・・

github.com

CV2がないと言われたので,OpenCVを入れ直す(以前入れていたはずなんだけど・・・)。参考にしたのは次のページ。

www.pyimagesearch.com

qiita.com

まずはmicroSDからメモリのスワップスワップ容量は次のコードで確認できる。

free -h

nanoを用いて"/etc/dphys-swapfile" を編集。

sudo nano /etc/dphys-swapfile

"CONF_SWAPSIZE=1024"(たぶん100となっている)として,control + Xで終了,Yで編集内容を保存,Enterで離脱。次のコードでスワップメモリの変更を反映。

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

で,しなくてもいいのだが,空き容量を作るため,wolframとLibreOfficeを削除

sudo apt-get purge wolfram-engine
sudo apt-get purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove

次に必要なライブラリなどをインストール

sudo apt-get update 
sudo apt-get 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 libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python2.7-dev python3-dev

OpenCVをダウンロード。ここではversion 3.4.5を選択。

cd ~
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.4.5.zip
unzip opencv.zip
get -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.5.zip
unzip opencv_contrib.zip

pipをインストールして仮想環境を構築。このコードはpython3の環境。python2は最後の行の「python3」をpython2に変えるだけ。

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo python3 get-pip.py
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pip
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.profile
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile
source ~/.profile
mkvirtualenv cv -p python3

ここまで来るとターミナルを終了しても,次のコードで仮想環境に入れる。仮想環境に入れていたら,コンソールのpi@raspberypiの前に(cv)と書かれている。

source ~/.profile
workon cv

で,Numpyを入れる。

pip install numpy

いよいよOpenCVコンパイル

cd ~/opencv-3.4.5/
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.4.5/modules \
    -D BUILD_EXAMPLES=ON ..

コンパイルが終了するとインストール。

sudo make install
sudo ldconfig