museumProblem
Ver 1.00
Wall : 壁作成
AddCam : カメラ配置
MoveCam : カメラ移動
DelCam : カメラ除去
「ラジオボタン : どれか一つ選択」
初期 : Wallの選択状態
Clear : 真っ白に
ReadMap : 何も変化なし
RecogMap : マップ認識
Search : カメラの位置探索
「ボタン : クリックによる状態変化」
また、ボタンは以下の要領でボタンの種類が変化します。
初期状態 | RecogMap後 | Search後 |
ReadMap | RecogMap | RecogMap |
RecogMap | Search | STOP |
Wall :
左クリックで続けて壁を作成し、
右クリックで壁作成状態を終了させます。
既存の頂点(左クリックした点)に
マウスポインタを近づけると、
新しい点が接合されるような動作をします。
AddCam :
クリックした場所にカメラを配置します。
カメラは5個まで配置可能
(この時点では、色はつきません)
RecogMap :
マップを認識した後に、
カメラの見渡せる範囲に、
かつ、
その点において、距離が一番近いカメラの色が塗られます。
RecogMap後には、
「ReadMapボタン」が「RecogMapボタン」
へ変化し、「RecogMapボタン」は
「Searchボタン」へ変化します.
同時に、「InitMap.bmp」&「OutLineSeg.txt」
が出力されます。
(ReadMapをする際に必要なものです。)
MoveCam :
カメラをクリックし、
ドラッグすると同時に
カメラを移動させることができる。
移動中は、色が薄くなります。
DelCam :
除去したいカメラをクリック
することで、カメラを除去します。
Search :
最も近いカメラまでの距離の最大値の最小値(min-max)
において、カメラの良い場所
を探索します。
「Searchボタン」を押すと、
「STOPボタン」に変化します。
Search :
検索が開始されると、
「museum.exe」と
同じ階層に、[1]というフォルダが作成され、その中にbmpがたくさん作成されます。
Search :
このbmpファイルを「フォトギャラリー」のような画像を表示させるアプリで開くと右のようになります。
これは、マップ全体を指定されたカメラの個数で見渡せた様子を、出力させています。
また、ファイル名の命名規則ですが、「Res_N_maxDist.bmp」となっており、
Nは通し番号(0~N)、
maxDistは、最も近いカメラまでの最大の距離となっています。
最小のmaxDistのbmpファイルが今回求めたいマップに対するカメラの配置となります。
また、このmaxDistの部分を黒い直線で描画しています。
探索は、「STOPボタン」を押すことで停止できます。ファイル名のmaxDist部分の最小値が得られたカメラの位置となります。
また、初期値として「Searchボタン」を押したときの
カメラの配置を探索プログラムに入力させているので、
MoveCamでカメラの配置を変化させると、また違ったカメラの配置が出力されます。
連続してSearchを行った際、[2]、[3]、[4]、・・・のフォルダが作成され、
その中に結果のbmpファイル群が出力されます。
一度、プログラムを終了(ウィンドウの✕ボタンを押す)した場合、
再度[1]、からフォルダが作成されます。
その際に、既存の[1]フォルダが存在すると、エラーがでますので、
既存の[1]フォルダを削除してから、再度「Searchボタン」を押して下さい。
maxDistは小さくなっていきますが、ある状態を超えるとまた大きくなっていきます。その状態がしばらく続くと「Search Continue?」というメッセージボックス
が出ます。これはmaxDistが大きくなっても、さらに小さなmaxDistが求まる場合があるためです。「いいえ」ボタンを押すと探索を終了し、一番小さな
maxDistのカメラ状態にウィンドウを更新させます。
また、探索中にSTOPを押した場合、探索できた中から一番小さいmaxDist
のカメラの状態にウィンドウを更新させます。
ウィンドウが更新された状態からでも、カメラ位置移動、探索の開始など、
通常の動作をさせることは可能です。
Clear :
真っ白に初期化されます。
ReadMap :
保存されたマップを読み込みます。
RecogMap後に作成される
「InitMap.bmp」&「OutLineSeg.txt」
を読み込みます。