環境
- Raspberry Pi Zero
- Raspberry Pi Camera V2
- Raspberry Pi Zero用カメラケーブル
- モバイルバッテリ
前回まで
インストールの続きです。
今回はOpenCVです。
手順
OpenCVをインストール
非公式のビルド済みパッケージをインストール
はじめに「非公式のビルド済みパッケージをインストール」の方法が多数紹介されていたので、それをやってみたのですが、うまくいきませんでした(T . T)
Q-engineeringでの方法
なので、
Q-engineeringで紹介している手順でインストールしました。
URLはこちら *英語ですので、頑張って。
LXTerminalを開きます。
あとは、ひたすらLXTerminalに打ち込んでいきます。*打ち込んでいる内容はあんまり理解してません。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get clean
$ sudo apt-get autoremove
# to get the current status
$ sudo rpi-eeprom-update
# if needed, to update the firmware
$ sudo rpi-eeprom-update -a
$ sudo reboot
$ sudo apt-get install cmake gfortran
$ sudo apt-get install python3-dev python3-numpy
$ sudo apt-get install libjpeg-dev libtiff-dev libgif-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install libgtk2.0-dev libcanberra-gtk*
$ sudo apt-get install libxvidcore-dev libx264-dev libgtk-3-dev
$ sudo apt-get install libtbb2 libtbb-dev libdc1394-22-dev libv4l-dev
$ sudo apt-get install libopenblas-dev libatlas-base-dev libblas-dev
$ sudo apt-get install libjasper-dev liblapack-dev libhdf5-dev
$ sudo apt-get install gcc-arm* protobuf-compiler
# The latest Debian 11, Bullseye don't support python2 full
# don't try to install if you're having a Raspberry Bullseye OS
$ sudo apt-get install python-dev python-numpy
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.3.0.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.3.0.zip
$ unzip opencv.zip
$ unzip opencv_contrib.zip
$ mv opencv-4.3.0 opencv
$ mv opencv_contrib-4.3.0 opencv_contrib
# get version
$ python3 --version
# get location
$ which python 3.7
# merge VIRTUALENVWRAPPER_PYTHON=location/version
$ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.7" >> ~/.bashrc
# reload profile
$ source ~/.bashrc
$ sudo pip3 install virtualenv
$ sudo pip3 install virtualenvwrapper
$ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
$ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
$ source ~/.bashrc
私はここまでLXTerminalに書いて、打ってを繰り返したのですが、”source ~/.bashrc”で「そのようなファイルやディレクトリはありません」と言われてしまいました。
どうすることもできなかったので、とりあえず、importできるかどうかを確認してみた
でもでも、install virtualenvとinstall virtualenvwrapperはうまくいっていたので、ダメもとでインストールを確認してみました。
同じくLXTerminalで
python3
と入力。「Python 3.7.3」と返ってくる。ふむふむ。
次に、
import cv2
と入力。返事はないけど、エラーもでない。
ちなみに”非公式ビルドパッケージ”を使った時はここでエラーが出てました。
構わず、次。
cv2.__version__
と入力。「’4.1.0’」と返ってきた。
できてる???
いいのかな?
動作確認
とにもかくにもプログラムを動かしてみれば、わかるはず。
ラズパイにカメラをセットして、
ラズパイの”Thonny”のエディターを開いて、pyファイルを作成。ファイル名は”camera.py”としました。
import cv2
camera = cv2.VideoCapture(0)
while True:
ret, frame = camera.read()
if not ret:
break
cv2.imshow("Frame", frame)
key = cv2.waitKey(1)
if key == 27:
break
camera.release()
cv2.destroyAllWindows()
で”Run”をクリック。
”Frame”というウインドが出てきて、カメラで撮っている画面が出てきました。
成功です。多分。
なんか消化できてませんが。。
とまぁこんな感じで消化不良感は否めませんが、これで進めていこうと思います。
この方法でダメだったかは自動運転プログラムを進めていけばわかることです。
で、もし、ダメだった場合は改めてブログを書きます。
苦労したところ
「インストールなんて、pipで終わりだろう(*´꒳`*)」と思っていたのですが、全然でした。
まず、ネットで「cv2 インストール」で調べたら、”非公式のビルド済みパッケージをインストール”方法ばっかりでそれを参考に打ち込んでも、”import cv2″と打ったら、エラーが出てしまい苦戦しました。