はじめに
やり方は全てhttps://github.com/TheImagingSource/tiscamera/wikiに書いてあるが,全て英語ということもあり,ここにメモする.
なお,2016年3月現在,カメラをUVCモードにすると,カメラからPCに送られてくるデータはbayerデータというもので,そのまま見てもモノクロに見え,場合によっては歪んで見える(らしい).
このデータをカラーに直すには,ソフトウェア側で変換処理が必要になる(ここの部分はここでは記述しない).
また,これが原因で,OpenCVでは直接キャプチャできなくなる.
使用機材
- the Imaging Source社製のUSB2.0カメラ DFM 22BUC03-ML
- Ubuntu 12
UVC対応カメラへの変更
ここの工程は,https://github.com/TheImagingSource/tiscamera/wiki/Getting-Started-with-USB-2.0-CMOS-Camerasにある通りに行う.
ここでは,ファームウェアをUVC対応のものにアップデートして,カメラをUVCモードにする.
まず初めに以下のコマンドを順番に実行して,ファームウェアのアップデートに必要なソフトを入手する.
git clone https://github.com/TheImagingSource/tiscamera.git
cd tiscamera/tools/euvccam-fw
make
カメラをPCに接続して,
sudo ./euvccam-fw -p
を実行してカメラのプロパティが得られれば,ここまでは良い.
なお,得られたプロパティのFlagsが0になっていれば,それはまだカメラがUVCモードになっていないという意味である.
次にカメラのファームウェアをアップデートする.
sudo ./euvccam-fw -u ../../data/firmware/usb2/dmk22uc03_163_uvc.euv
ここで選択するファームウェアは,カメラの型が異なる場合は,それに合わせる.
なお,このファームウェアの名前は,
(カメラ型番)_(ファームウェアバージョン).euvc
となっているものと思われる(正直よくわからないが,間違えたファームウェアを選択すると,自動でソフトウェアが拒否するらしい).
ファームウェアのアップデートが終わると,元々のファームウェアがbackupディレクトリにバックアップされるので,これは大切に持っておくこと!
紛失すると,二度とWindowsに戻れなくなります.
ファームウェアを戻すには,
sudo ./euvccam-fw -u backups/backup_*.euvc
を実行すればよい.なお,*は適宜正しい番号に変えること.
一度カメラをPCから取り外し,再びカメラを接続したら,
sudo ./euvccam-fw -m uvc
を実行して,カメラをUVCモードにする.
再びカメラをPCから取り外し,再びカメラを接続して,
sudo ./euvccam-fw -p
を実行して,Flagsが1に変わっていれば,無事カメラはUVCモードになった.
カメラのチェック
カメラが無事UVC対応に変更できたかどうかを,ここで確認する.
Linux上でのカメラキャプチャにはqv4l2を使用する.
qv4l2のインストールは,
sudo apt-get install qv4l2
でできる.
あとは,カメラをPCに接続して,
qv4l2
をコマンドラインから実行するだけである.
これでカメラからの映像が得られれば良い.
gstreamerモジュールについて
冒頭に紹介したthe Imaging Source社のGitHubには,Gstreamer moduleをインストールするように紹介しているが,私は,これらを全てインストールして,動作確認までできたが,gstreamer を用いた開発を行う予定はないため,無用だった.
よって,ここでは省略する.