Overview
Raspberry Pi Zero (W) の setup を しました。
ほとんどのことは、ESP8266やESP32でできますが、難しいことがあります。それは、USB.
というわけで、せっかくなので、Raspberry Pi Zero (W) に USB Cameraを接続して、キャプチャーできるようにします。
用意するもの
- Raspberry Pi (Zero (W))
- micro USB - USB A アダプタ (最近は100均ショップでも購入できますね。)
- USB Camera (私は余っていた Logitech, Inc. Webcam C600)
Setup
まずは、USBとして認識しているかどうかを確認しましょう
$ lsusb
lsusb
Bus 001 Device 006: ID 046d:0808 Logitech, Inc. Webcam C600
..snip..
$ ls /dev/video*
/dev/video0
こんな風に認識していればOkです。
とりあえず、fswebcam でキャプチャーしてみる
$ sudo apt-get install fswebcam
で
$ fswebcam -r 1280x720 -S 3 -F 1 hoge.jpg
みたいにして、キャプチャーできればOkです。
-
-F
は、キャプチャーするフレーム (どうも合成してくれる模様) -
-S
は、最初にスキップするフレーム (最初に変なフレームが出る場合向け)
OpenCV で キャプチャーしてみる
OpenCV with python の setup
$ sudo apt-get install libopencv-dev python-opencv
OpenCV で キャプチャーしてみる
simpleCvCap.py
# coding: utf-8
import cv2
def captureImage(filename):
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
cv2.imwrite(filename,frame)
cap.release()
if __name__ == '__main__':
captureImage("tmp.jpg")
cv2.destroyAllWindows()
$ python simpleCvCap.py
的な。
ちゃんと、解像度とか設定できるようにしたものを、 https://github.com/hidenorly/opencv-cap においておきました。
Mac側 の OpenCV の 環境構築
Mac側も同じように環境構築しておくと、デバッグ効率が上がります。
主にパフォーマンの違いから・・・。
$ brew update
$ brew tap homebrew/science
$ brew install cmake pkg-config jpeg libpng libtiff eigen openexr numpy
$ brew install tbb
$ brew install ffmpeg
$ brew install opencv3 --with-ffmpeg --with-tbb --with-python
$ echo 'export PATH="/usr/local/opt/opencv3/bin:$PATH"' >> ~/.bash_profile
$ brew link opencv3 --force
で、とりあえず、環境構築した上で、上のpython (githubにあるもの) で動くことを確認しました。