[openrtm-beginners:00444] Re: (無題)

isao-hara @ aist.go.jp isao-hara @ aist.go.jp
2013年 6月 18日 (火) 10:50:18 JST


首都大学東京 下山様 こんにちは。産総研の原です。
エラーに関しては、どこのステートメントででているか、デバッガ等で見ていただかないと、よくわからないのですが、
CameraEyeコンポーネントでは、コンフィグレーションファイルを起動時に読み込むようになっていますので、そのあたりの
エラーなのではないでしょうか。 #
どうもキャリブレーションを行っているようです。
また、CameraEyeコンポーネントのソースコードを見てみると、カメラからの画像取得にcvCreateCameraCapture関数を使っているようです。
そのため、現在の仕様では、OpenCVでサポートされているカメラしか動作しないと思います。
つまり、OpenCVCaneraCompで画像取得ができなければ、現在のままではCameraEyeコンポーネントが利用できません。
DirectShowを使ったコンポーネントの場合には、Windowsが提供しているDirect
Show APIを使いますので、
そのままコピーして使うというところまではできないと思います。
ここで、解決方法としては、 1.
CameraEyeコンポーネントからカメラのキャプチャ部分を切り出して、フィルタのコンポーネントにする。この場合には、データ送信時の遅れの問題が
生じると思いますが、汎用性はあがると思います。
2.CameraEyeコンポーネントのキャプチャ部分をDirectShowを使ったものに変更する。この場合にが、DirectShow
をつかったものに変更する。
この場合には多少のプログラムを書く必要がありますが、OpenCVCaneraCompとDirectShowCamCompのソースを見比べれば、変更箇所は
簡単にわかると思います。
3.CeilingNavigationコンポーネントの画像入力をDirectShowCamCompの出力に変更する。
の3つでしょうか。 3の方法が一番簡単かと思います。



More information about the openrtm-beginners mailing list