屋内地図モデルの簡易生成コンポーネント群
屋内地図モデルの簡易生成コンポーネント群
投稿日時:
金, 2014-10-31 22:07
概要
- 屋内地図の簡易生成アプリケーションの開発
- 人間が用いる屋内地図の画像を元にプログラム上で処理に用いるための地図モデルへ変換する
- 様々な形式へ変換できる元データ(座標群)を抽出するため、様々な用途が想定される
- ユーザが処理に対して修正するためのウィンドウに対するマウス操作を出力するGUIを提供
- 出力結果のデータを3Dで表示可能
- 地図モデルは、ラインマップとグリッドマップの二種類を出力する
特徴
- 再利用性のある画像処理コンポーネント群
- OpenCVの関数に対し、Config上でパラメータを変更できるコンポーネント
- 様々な地図画像の入力に対応
- システムの各段階ごとに複数のコンポーネント群で構成されているため、
地図の仕様に応じて自在に画像処理部分を組み替えることができる
- システムの各段階ごとに複数のコンポーネント群で構成されているため、
更新情報
- 2014/12/14に、グリッドマップ生成コンポーネント「makeGridMap」の追加を行いました。
他、各方面よりご意見いただいていたリリースビルドの件、各コンポーネントの微調整を行った後、再アップロードを行いました。 - 2014/12/02に、コンポーネント群内部アルゴリズムの変更、rtcdの実装、rtshellによる自動接続、
マニュアルの更新、コンポーネント「tweakerOfLineMaps」の追加を行いました。- ちまちまとした更新だったため、一度の報告とさせていただきます。
なお、rtcdおよびrtshellは、windows7でしか実行を確認しておりません。
- ちまちまとした更新だったため、一度の報告とさせていただきます。
- 2014/11/18に、コンポーネント「ThreeDimensionViewer」を追加しました。
- このコンポーネントは作成したラインマップを3D化して表示することができるUserInterfaceです。
マニュアル等への記載は後日となります。
- このコンポーネントは作成したラインマップを3D化して表示することができるUserInterfaceです。
- 2014/11/12に、Java版コンポーネントをJar化してみました。
- 昨年のコンテスト後に頂いたご意見を実践してみました。
挑戦企画ですので、不具合がございましたら一報をくださると幸いです。
- 昨年のコンテスト後に頂いたご意見を実践してみました。
- 2014/11/11に、OpenCVコンポーネント群のGitHubのREADMEを更新しました。
- マニュアルや使用例画像などを記載しました。再利用に役立てばと思います。
- 2014/11/07に、mapsManagerを更新いたしました。
- 更新内容…バグ潰し
- 2014/11/02に、convToLineMapとCVFindContoursを更新しました。
- convToLineMap…ラインマップの自動生成アルゴリズムを改変
- CVFindContours…出力データに無変換輪郭点データ群を追加
仕様
- 言語:C++,Java
- OS:windows 7
利用例
- 今回、こちらの地図をモデル化した例を記載いたします。
- ラインマップ・3DViewer・グリッドマップ・グリッドマップ(Object)
- ラインマップ・3DViewer・グリッドマップ・グリッドマップ(Object)
コンポーネント群
- 画像処理コンポーネント
- エッジ検出コンポーネント(CVCanny) :入力画像に対してエッジ検出を行うコンポーネント
- 画像二値化コンポーネント(CVImgThreshold) : 入力画像に対して二値化処理を行うコンポーネント
- ハフ変換コンポーネント(CVHoughThransform) :入力画像に対してハフ変換を行うコンポーネント
- 特徴点検出コンポーネント(CVFeatureDetector) :入力画像に対して特徴点検出を行うコンポーネント
- 輪郭検出コンポーネント(CVFindContorours) :入力画像に対して輪郭検出を行うコンポーネント
- 選択領域修復コンポーネント(CVInpaint) :入力画像に対して修復処理を行うコンポーネント
- 地図モデルを生成するためのツールコンポーネント
- 複数画像ファイル送信コンポーネント(OpenPicts) :読み込んだ画像をCameraImage型に変換し出力するコンポーネント
- 輪郭情報データを用いた画像修復コンポーネント(imageInpaint) :輪郭点データ群を用いて画像修復を行うコンポーネント
- ラインマップ変換コンポーネント(convToLineMap) :入力されたデータ群をラインマップに変換するコンポーネント
- 地図モデル生成管理コンポーネント(mapsManager) :地図画像から地図モデルまでの変換を管理・保存するコンポーネント
- UI(User Interface)コンポーネント(controlPanel) :地図モデル生成中のユーザからの操作を取得するコンポーネント
- 3D化コンポーネント(ThreeDimensionViewer) :作成されたラインマップを3Dグラフィック化して表示するコンポーネント
- ラインマップ修正コンポーネント(tweakerOfLineMaps) :作成されたラインマップの座標軸原点などを修正するコンポーネント
- グリッドマップ生成コンポーネント(makeGridMap) :生成されたラインマップをもとにグリッドマップを作成するコンポーネント
ダウンロード
- 各コンポーネントはこちらからダウンロード可能です。
ご意見・ご要望
誠に勝手ではございますが、不具合などがございましたら、
ご使用のコンポーネント名及び、不具合の具体的内容などを添えて 「y09148@shibaura-it.ac.jp」の立川までご一報ください。
症状によっては、折り返し何度が連絡をさせていただく場合もございます。
問合先(メールアドレス):
y09148@shibaura-it.ac.jp
最終更新日時:
日, 2014-12-14 19:27
コメント
使ってみたのですが、やたら手間がかかって全然「簡易」ではないという印象です。 画像を読み込むだけで6つ接続しなければならないのは相当面倒だと思いますし、どのデータポートが何を通信しているのか分かりづらいです。 このページの地図モデルを生成するためのツールコンポーネントに書いてある5つのRTCは全部で1つのRTCでもよかったのではないかと思うのですが、どうでしょうか?
画像処理のRTCが個々の機能で実装されていますね。これは特に問題ないと思いますが、rtcdや複合コンポーネント化をした方がよいと思います。そうすれば、Miyamotoさんからのご指摘はクリアできるのではないでしょうか。あとは、RTC間の接続をrtshellを使ったスクリプトを用意するなど、再利用したい人用に起動時の手間を軽減するような方策がほしいところで巣ね。
Miyamoto様、Hara様
今後の再利用も考え、詳しい仕様をGitHubのREADMEに記載しようと準備中です。 少々お待ちいただければと存じます。
さっそく、rtcdなどの手順を実装したいと存じます。
今後とも、ご意見ございましたらよろしくお願いいたします。
exeフォルダの実行ファイル、DLLファイルがデバッグビルドしてあるように見えるのですが、配布する場合はリリースビルドした方が良いと思います。
Miyamoto様
ご指摘いただき、誠にありがとうございます。また、実装までに時間がかかり、大変申し訳ございません。
対応させていただきました。
何度もご助言いただき、誠にありがとうございます。
今後とも、どうぞよろしくお願いいたします。