今や大人気のスクリプト言語「Python」は、PC内の処理はもちろんインターネットやクラウドとの親和性も高いという特徴を持つ。Pythonを使ってExcelファイルの変換などPC内で完結する処理から、クラウドを活用した各種自動化処理まで便利なスクリプトの数々を紹介する。
最近は監視カメラの低価格化が進んでいますが、そうした市販製品よりも細かく自分の思い通りにカメラを制御したい人もいるでしょう。市販の監視カメラでは専用のアプリからしか使えない場合が多いのも不便です。Pythonのライブラリを使えば、自由にカメラを制御できるため、自作の監視カメラを作るのも難しくありません。そこで、Webカメラの画像を定期的に撮影してLINEで通知するスクリプト「camera_line.py」を作ってみました(図1)。安価に機材をそろえられるRaspberry Pi(ラズパイ)とUSB接続のWebカメラを組み合わせて使います。
ラズパイに接続したWebカメラを制御して撮影するには、いくつか方法があります。最も簡単なのは、コマンドラインから撮影が可能なツール「fswebcam」を使う方法です。任意のタイミングでこのコマンドを実行すれば、カメラ画像をファイルに保存できます。この方法は動作も安定しており、さまざまなオプションも指定可能です。
画像・動画処理ライブラリの「OpenCV」を使う方法もあります。この方法では、リアルタイムにフィルター処理を施したり、顔認識をしたり、物体検出をしたりとさまざまな処理が可能です。ここでは、このOpenCVを使ってみましょう。
最初に、以下のようにコマンドを実行してOpenCVおよびLINEとの通信用のrequestsモジュールをインストールします。