さくっとPTAMをROSで試す(3)・・・USBカメラで撮影する
前回の記事
前回、USBカメラの接続を確認したが、うまく映像をPTAMで利用できなかった。 今回はPTAMで映像を利用できるようにする。
環境
- ホストOS:Windows10
- ゲストOS:Ubuntu14.04
- VirtualBoxバージョン:5.0.12
- 使うカメラ
iBUFFALO マイク内蔵200万画素WEBカメラ 120°広角ガラスレンズ搭載モデル BSW20KM11BK
- 出版社/メーカー: バッファロー
- 発売日: 2012/07/20
- メディア: Personal Computers
- 購入: 1人 クリック: 1回
- この商品を含むブログ (4件) を見る
問題究明
どうやらカラー画像なのが問題そう。 カメラから得られる映像"/cv_camera/image_raw"を、モノクロ画像へと変換して接続してみる。
LSD SLAM INSTALL | hyperbolicThoughts
http://www.hyperbolicthoughts.co.uk/2015/05/lsd-slam-install.htmlimage_proc - ROS Wiki
http://wiki.ros.org/image_proc
上記サイトを参考に、/cv_cameraから出力されるimage_rawを、image_procを使ってimage_monoへ変換する。
まず画像を変換するためのimage_procを起動。 cv_cameraのノードで利用するため、ネームスペースを指定する。
rosrun cv_camera cv_camera_node
ROS_NAMESPACE=/cv_camera rosrun image_proc image_proc
PTAMのlaunchファイルも、この変更に合わせる。 "/cv_camera/image_raw"を"/cv_camera/image_mono"に変更する。
<remap from="image" to="$(openenv IMAGE /cv_camera/image_mono)" />
PTAMの起動。
roslaunch ptam ptam.launch
各ノードを起動して接続した状態が下の図。
PTAMの動作を確認
いい感じ!