RaspberryPiで画像撮影。
カメラモジュールより安いwebカメラ投げ売りされてたので撮影テストしてみました。
カメラモジュールより安いし丈夫、線長いので便利な場合あると思います。
使用機器
- RaspberryPi 3B+
- Webカメラ(BUFFALO BSWHD06M)
ビックカメラで積んであった安かったカメラ使って撮影します。
これでデバイス確認
$ lsusb
インストール
$ sudo apt-get install fswebcam
オプション付けて撮影。
fswebcam -r 680x480 -F 100 ./pic.jpg
1枚撮るだけならこれでOK
cron で一定間隔で撮影
一枚だけ撮っても意味ないので一定周期で撮影。
参考URLでいけました。
webカメラ撮影
crontab -e
*/1 * * * * /var/www/captureImage/captureImage.sh
これが1分おき。
crontab書き方のように時間指定して調整可能。
ついでに当然ですがコメントアウトすれば止まります。
OpenCVで撮影する
一応アップデートしてインストール
apt-get update
apt-get install python-opencv
capture1.py
import sys
import cv2
cc = cv2.VideoCapture(0)
rr, img = cc.read()
cv2.imwrite('pic.jpg', img)
これだと1枚だけなので60秒おきにとれるように改良
日付をファイル名にしています。
capture2.py
import sys
import cv2
import time
import datetime
while True:
now = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
cc = cv2.VideoCapture(0)
rr, img = cc.read()
cv2.imwrite( now + '.jpg',img)
cc.release()
time.sleep(60)
※.release()しないと2回に1回ファイルがおかしくなるエラー発生。
まあ、とりあえずこれで普通に撮影することができましたので植物撮ってみたり、部屋の中撮ってみたりしてみましょう。
Opencv使っているので画像を使って他にも面白い画像処理、システム作れると思います。