[openrtm-staff:508] Re: 4/20の作業報告(宮本)

Ando Noriaki n-ando @ aist.go.jp
2016年 4月 21日 (木) 11:57:11 JST


ありがとうございます。

じゃぁ、OpenCVの関数側の問題ということになりそうですね。
おそらく現在はOpenCV1のAPIで書かれていると思うのですが、
試しにOpenCV2のやり方で回転させるとどうなりますか?

単なる想像ですが、原因としては、回転させる関数内部に状態を
持っていて、1回目と2回目以降で結果が違ってしまうとか、
渡す変数が毎回使いまわしなので、そこに状態を持ってしまって
結果が違うとかですかね?

処理内部で並列処理をしていてスレッドセーフになっていないとかも
考えられるけど、単なる回転処理にスレッドを使うかなぁ。。。

ちょっと調べてみてください。

安藤


2016年4月21日 11:45 宮本信彦 <n-miyamoto @ aist.go.jp>:

> 安藤様
>
>
>
> 宮本です。
>
>
>
> データの転送前で既に違っているみたいです。
>
>
>
> RotateCompはm_image_dest(IplImage)という変数に処理後の画像データを格納してCameraImage
> のオブジェクトにデータをコピーするのですが、m_image_dest
> を最初に処理した時だけ別の変数にコピーを取っておいて後の処理と比較してみたところデータが違っていました。
>
>
>
>
>
>
>
> *From:* 安藤慶昭
> *Sent:* Thursday, April 21, 2016 10:20 AM
> *To:* 宮本信彦 <n-miyamoto @ aist.go.jp>
> *Subject:* Re: 4/20の作業報告(宮本)
>
>
>
> OpenCVのRotation処理自体は常に同じ結果を返していますか?
>
> 問題が処理にあるのか、データ転送部分にあるのか調べてみてもらえますか?
>
>
>
>
>
> 安藤
>
>
> --
> 安藤慶昭@国立研究開発法人 産業技術総合研究所
> ロボットイノベーション研究センター
> ロボットソフトウェアプラットフォーム研究チーム長
> (兼務)首都大学東京 客員教授,  博士(工学)
> 〒305-8568 つくば市梅園1-1-1 中央第2
> e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
> OpenRTM-aist: http://www.openrtm.org
>
> Noriaki Ando, Ph.D.
>     Team Leader, Robot Software Platform Research Team,
>     Robot Innovation Research Center, AIST
>     Visiting Prof., Tokyo Metropolitan University
>     AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
>     e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
>     OpenRTM-aist: http://www.openrtm.org
>
>
>
> 2016年4月21日 9:55 宮本信彦 <n-miyamoto @ aist.go.jp>:
>
> 安藤様
>
>
>
> 宮本です。
>
>
>
> OpenCVのコンポーネントの件ですが、添付の画像ファイルに示す通りRotateCompから出力される画像が違っています。
>
>
>
> 一応画像ファイルを読み込んで出力するRTCはこちらで自作しているのですが、ファイルをロードしてCameraImage
> のオブジェクトにデータを詰め込む作業はonActivatedでしか行っておらず、onExecuteではwrite関数でデータを送信するだけなので、
> RotateCompが受け取るデータは変化していないはずです。
>
>
>
> 何かご存じであれば教えていただけると助かります。
>
>
>
>
>
> --------------------------------------------------
>
> 宮本 信彦 n-miyamoto @ aist.go.jp
>
> 産業技術総合研究所 ロボットイノベーション研究センター
>
> ロボットソフトウエアプラットフォーム研究チーム
>
> テクニカルスタッフ
>
>
>
> *From:* 安藤慶昭
> *Sent:* Thursday, April 21, 2016 8:27 AM
> *To:* 宮本信彦 <n-miyamoto @ aist.go.jp>
> *Cc:* openrtm-staff <openrtm-staff @ openrtm.org>
> *Subject:* Re: 4/20の作業報告(宮本)
>
>
>
> 宮本さま
>
>
>
> OpenCVのテストコンポーネントですが、具体的にがぞうのどの部分がどの程度違っているのでしょうか?
>
> もしかするとデータを詰め込むときや取り出す時の操作間違いの場合もありうるので、
>
> すこし調べてみてください。
>
>
>
>
>
> 2016年4月20日 19:44 宮本信彦 <n-miyamoto @ aist.go.jp>:
>
> 安藤様
>
>
>
> 宮本です。
>
>
>
> 本日の作業内容をお知らせします。
>
>
>
> --------------------
>
> ラズパイマウス関連のソースコードをGitHubにアップロードしました。
>
>
>
> https://github.com/Nobu19800/RaspberryPiMouseRTSystem_script
>
> https://github.com/Nobu19800/RaspberryPiMouseRTSystem_script_Raspbian
>
> https://github.com/Nobu19800/CalibrationUSBNineAxisSensor
>
> https://github.com/Nobu19800/RaspberryPiMouseController_Joystick
>
> https://github.com/Nobu19800/RaspberryPiMouseController_DistanceSensor
>
> https://github.com/Nobu19800/NineAxisSensor_RT_USB
>
>
>
>
>
> マニュアルを加筆しました。
>
>
>
>
>
> サンプルコンポーネント動作確認のツールで、起動したプロセスの標準出力に指定した文字列があるかどうかを判定できるようにしました。(例えば
> ConsoleOutで"Received: 1"という文字列が出力されたか等)
>
>
>
>
>
>
>
> OpenCV-Examplesのテストのために2種類のRTCを作成しました。
>
>
>
>
>
> モジュール名:testOpenCV
>
> アウトポート:out(CameraImage型)
>
> インポート:in(CameraImage型)
>
> コンフィギュレーションパラメータ:input_file_path(読み込むファイル名)、output_file_path(出力する画像ファイル名)
>
>
>
>
>
> モジュール名:cmpImageData
>
> インポート:in(CameraImage型)
>
> コンフィギュレーションパラメータ:file_path(読み込むファイル名)
>
>
>
>
>
> 例えばRotateCompのテストを行う場合は、添付のtestOpenCV1.pngのようにtestOpenCVとRotateComp
> のインポート、アウトポート同士を接続します。
>
> そしてアクティブ化するとtestOpenCVのinで受信したデータをマーシャリングしてバイナリファイルに保存します。複数の環境でテストする場合でも
> RTCが同じであればこの作業は1回だけ行うだけで大丈夫です。
>
>
>
> 次に添付のtestOpenCV2.pngのようにRotateCompとcmpImageDataを接続します。この時にcmpImageDataの
> file_pathでは先ほど保存したバイナリファイルを指定します。
>
> これでバイナリファイルから読み込んだデータをアンマーシャリングして、cmpImageDataのinで受信したデータとCameraImageの
> pixelsで比較して一致するかどうかを判定します。
>
> 一致した場合は文字列を標準出力するので、動作確認ツールと合わせて使えばテストを自動化できます。
>
>
>
>
>
> そう思っていたのですが考えが甘かったらしく、RotateCompから出力されるデータのpixelsが何故かRotateComp
> をアクティブ化するたびに微妙に違っています(0.01%から1%ぐらい)。
>
> OpenCVについてはよく知らないので原因は分からないのですが、ほとんど同じかどうかで判定して大丈夫なのであればそうします。
>
>
>
>
>
> 以上です。
>
>
>
>
>
> --------------------------------------------------
>
> 宮本 信彦 n-miyamoto @ aist.go.jp
>
> 産業技術総合研究所 ロボットイノベーション研究センター
>
> ロボットソフトウエアプラットフォーム研究チーム
>
> テクニカルスタッフ
>
>
>
>
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.openrtm.org/pipermail/openrtm-staff/attachments/20160421/86c53373/attachment.html>


More information about the openrtm-staff mailing list