どなたか、このコンポーネントについて情報をお持ちの方いらっしゃいませんか?
CeilingNavigationコンポーネントのActivate失敗
どなたか、このコンポーネントについて情報をお持ちの方いらっしゃいませんか?
---------- 転送メッセージ ----------
From:
日付: 2013年6月15日 13:50
件名: [openrtm-beginners:00439] CeilingNavigationコンポーネントのActivate失敗
To: openrtm-beginners@openrtm.org
はじめまして。 首都大学東京の下山と申します。
下記サイトで公開されているOpenNavigation群の中のCeilingNavigationが正常にActivateできず困っています。
何かアドバイスやご指摘を頂ければ幸いです。
http://openrtc.org/Mobile/index.html 環境 ・Windows7(32bit)
・OpenRTM-aist 1.0(C++) (1.1でも同様のエラーを確認)
OpenNavigationのコンポーネントをWindows上で利用したく、
下記サイトからソースをコンパイルしてコンポーネントを作成しました。
https://code.google.com/p/open-navigation/
早速、OpenRTM-aist-1.0.0付属のUSBCameraAqcuireCompとCeilingNavigationCompを接続しActivateしてみたのですが、
CeilingNavigation側に以下のエラーが表示されてしまいます。
OpenCV Error: Bad argument (Array should be CvMat or IplImage) in unknown
function, file ..\..\..\src\opencv\modules\core\src\array.cpp, line 1238
USBCameraAqcuireCompを接続せずにCeilingNavigationComp単体でActivateした場合、
エラー表示が出ないことは確認しました。
また、コンポーネントのソースに編集は加えておりません。
どなたか解決策をご存知の方、ご教授願えると幸いです。
よろしくお願い致します。
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users
首都大東京 下山様:
原@産総研です。 ご質問の件ですが、OpenNavigationのソースコードを少し見てみたのですが、ソースコードには、CeilingNavigationの 画像入力は、現在のところCaneraEyeというコンポーネントからの出力のみに対応しているという記述がございました。
Webページのドキュメント作成時に私の方で見落としていたようです。 ご迷惑をおかけして申し訳ございません。
そのため、USBCameraAqcuireCompからの出力から情報では、エラーがでるようです。
CaneraEyeを見たところ、画像の出力は、単なるベタ画像ではなく、OpenCVのデータ形式であるIplImageに画像サイズを足したものを出力しているようですので、そのようなコンポーネントを使う必要があると思われます。
CameraEyeコンポーネントをお使いにならない理由は何なのでしょうか? もし、CameraEyeコンポーネントが動作しないいうことであれば、CeilingNavigationの修正が必要となりますので、少しお時間をいただければ修正したいと思います。
以上、よろしくお願いいたします。
産総研 原様
首都大学東京の下山です。ご返信頂きありがとうございます。
シミュレーションの際の接続図を参考にしていたため、CameraEyeコンポーネントの存在を認識しておりませんでした。
十分に確認せず、大変申し訳ありません。
早速、CameraEyeコンポーネントを起動を試みました。
しかし、以下のようなエラー表示が現れ、起動ができません。
現状、logicool社製のUSBカメラをPCに接続しております。
マニュアルを拝見しましたが、CameraEyeコンポーネントの利用にはNM33-N-UVCカメラが必須なのでしょうか?
---------------------------------------------------
OpenCV Error: Null pointer (Invaild pointer to file storage) in unknown function, file ..\..\..\src\opencv\modules\core\src\perisistence.cpp, line 4851
Component create faild.
This application has requested the Runtime to terminate it in an usual way.
Please contact the application's support team for more information.
---------------------------------------------------
また、最終的には、現在用いているlogicool社製のカメラではなく、buffalo社製のUSB広角カメラを用いたいと考えております。
しかし、このカメラは1.1付属のDirectShowCamCompならば動作するのですが、
1.0付属のUSBCameraAqcuireCompや1.1付属のOpenCVCaneraCompでは画像が取得できません。
たとえCameraEyeコンポーネントが正常に起動しても、USBCameraAqcuireComp等と同様、
このカメラは認識されない可能性がありますでしょうか?
以上2点、アドバイスやご指摘を頂ければ幸いです。
お手数をおかけし大変恐れ入りますが、どうぞよろしくお願い致します。
首都大学東京 下山様
こんにちは。産総研の原です。 エラーに関しては、どこのステートメントででているか、デバッガ等で見ていただかないと、よくわからないのですが、 CameraEyeコンポーネントでは、コンフィグレーションファイルを起動時に読み込むようになっていますので、そのあたりの エラーなのではないでしょうか。 # どうもキャリブレーションを行っているようです。
また、CameraEyeコンポーネントのソースコードを見てみると、カメラからの画像取得にcvCreateCameraCapture関数を使っているようです。 そのため、現在の仕様では、OpenCVでサポートされているカメラしか動作しないと思います。 つまり、OpenCVCaneraCompで画像取得ができなければ、現在のままではCameraEyeコンポーネントが利用できません。
DirectShowを使ったコンポーネントの場合には、Windowsが提供しているDirect Show APIを使いますので、 そのままコピーして使うというところまではできないと思います。
ここで、解決方法としては、
1. CameraEyeコンポーネントからカメラのキャプチャ部分を切り出して、フィルタのコンポーネントにする。この場合には、データ送信時の遅れの問題が 生じると思いますが、汎用性はあがると思います。
2.CameraEyeコンポーネントのキャプチャ部分をDirectShowを使ったものに変更する。この場合にが、DirectShow をつかったものに変更する。 この場合には多少のプログラムを書く必要がありますが、OpenCVCaneraCompとDirectShowCamCompのソースを見比べれば、変更箇所は 簡単にわかると思います。
3.CeilingNavigationコンポーネントの画像入力をDirectShowCamCompの出力に変更する。
の3つでしょうか。
3の方法が一番簡単かと思います。
産総研 原様
首都大学東京の下山です。
お返事が遅くなり申し訳ありません。
CeilingNavigationコンポーネントの画像入力をDirectShowCamCompの出力に変更したところ、無事接続&起動することができました。
丁寧なアドバイスを頂き、本当にありがとうございます。
またよろしくお願い致します。
首都大学東京 下山様 こんにちは。産総研の原です。
エラーに関しては、どこのステートメントででているか、デバッガ等で見ていただかないと、よくわからないのですが、
CameraEyeコンポーネントでは、コンフィグレーションファイルを起動時に読み込むようになっていますので、そのあたりの
エラーなのではないでしょうか。 #
どうもキャリブレーションを行っているようです。
また、CameraEyeコンポーネントのソースコードを見てみると、カメラからの画像取得にcvCreateCameraCapture関数を使っているようです。
そのため、現在の仕様では、OpenCVでサポートされているカメラしか動作しないと思います。
つまり、OpenCVCaneraCompで画像取得ができなければ、現在のままではCameraEyeコンポーネントが利用できません。
DirectShowを使ったコンポーネントの場合には、Windowsが提供しているDirect
Show APIを使いますので、
そのままコピーして使うというところまではできないと思います。
ここで、解決方法としては、 1.
CameraEyeコンポーネントからカメラのキャプチャ部分を切り出して、フィルタのコンポーネントにする。この場合には、データ送信時の遅れの問題が
生じると思いますが、汎用性はあがると思います。
2.CameraEyeコンポーネントのキャプチャ部分をDirectShowを使ったものに変更する。この場合にが、DirectShow
をつかったものに変更する。
この場合には多少のプログラムを書く必要がありますが、OpenCVCaneraCompとDirectShowCamCompのソースを見比べれば、変更箇所は
簡単にわかると思います。
3.CeilingNavigationコンポーネントの画像入力をDirectShowCamCompの出力に変更する。
の3つでしょうか。 3の方法が一番簡単かと思います。
_______________________________________________
openrtm-beginners mailing list
openrtm-beginners@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-beginners
はじめまして。
首都大学東京の下山と申します。
下記サイトで公開されているOpenNavigation群の中のCeilingNavigationが正常にActivateできず困っています。
何かアドバイスやご指摘を頂ければ幸いです。
http://openrtc.org/Mobile/index.html
環境
・Windows7(32bit) ・OpenRTM-aist 1.0(C++) (1.1でも同様のエラーを確認)
OpenNavigationのコンポーネントをWindows上で利用したく、
下記サイトからソースをコンパイルしてコンポーネントを作成しました。
https://code.google.com/p/open-navigation/
早速、OpenRTM-aist-1.0.0付属のUSBCameraAqcuireCompとCeilingNavigationCompを接続しActivateしてみたのですが、
CeilingNavigation側に以下のエラーが表示されてしまいます。
OpenCV Error: Bad argument (Array should be CvMat or IplImage) in unknown function, file ..\..\..\src\opencv\modules\core\src\array.cpp, line 1238
USBCameraAqcuireCompを接続せずにCeilingNavigationComp単体でActivateした場合、
エラー表示が出ないことは確認しました。
また、コンポーネントのソースに編集は加えておりません。
どなたか解決策をご存知の方、ご教授願えると幸いです。
よろしくお願い致します。