画像処理(Webカメラ編)

画像処理ロボットのメインCPUにRaspbrryPi 3 を使用します。
大半の機能を画像処理エンジンとして使用するので、この中にOpenCVもインストールします。
まずは RasPi に画像処理エンジンとしての環境構築を行います。
 1. Linux(UbuntuMATE16.04LTS) をインストールします。
 2.WiFi設定
 3.日本語化
 4.SSHを有効化
 5.RasPiカメラ使用の有効化
 6.google Chromeium(Chromではない)をインストール
以上は基本的な設定&インストールの為、別資料を参考にしてください。

それでは画像処理に必要なカメラを使用できるように環境設定と確認を行っていきます。
RaspbrryPiで画像を取込む方法として、Webカメラを使う方法と専用のRasPiカメラを使う方法がますが、
まずは価格が安いWebカメラを使って静止画、動画の撮影を行っていきます。

RaspbrryPi のUSBポートにWebカメラを挿入し接続確認をします。

  ls /dev/video*


上記最初のコマンド時は、RasPi カメラのみを接続</dev/video0>
その後、WebカメラをUSBに挿した時のもので、最初はPiカメラ1個を認識し、次は2個認識しています。
</dev/video0 と /dev/video1>

別の確認方法

  lsusb


2行目にDevice 007 として Elecom Co., Ltd 製カメラとして認識しています。
このコマンドは、USBに刺さっているデバイスのみ表示します。

Webカメラを使用するための「fswebcam」をインストールします。

  sudo apt-get install fswebcam

インストールが終われば、以下のコマンドで静止画を撮ってみましょう。

  fswebcam jrobo.jpg


/home/robocar/ 内のフォルダーに jrobo.jpg として静止画像が表示されている。
撮影時画像が表示されないのが欠点です。
また撮影した画像はデフォルトでは小さく「384x284」なので解像度を指定することができて-r オプションを
使って任意の解像度で撮影できる。

  fswebcam -r 1280x720 jrobo.jpg

解像度指定は任意といえどカメラによって解像度の範囲があるので下記コマンドで確認できる。

  lsusb -v | grep -1 Width



コマンドを打ち込むと上記の様に長く表示され一部を表示していますが、最下段に使用できる解像度が一覧表示
されている。(x、Y ペアとしている)
この結果から、このカメラでは最大解像度は「1600x1200」ということになります。

注意点として連続撮影する場合、15秒程度は間隔が必要(カメラビジー)な様です。

このコマンドは、次ページで紹介しているRasPiカメラにも対応し同様に撮像することができる。

<次ページへ