(57)【特許請求の範囲】
【請求項１】
所定位置のターゲットを共通に含む第１画像および第２画像について、それぞれ前記ターゲットに対する撮影点の相対位置を算出し、第１カメラ位置および第２カメラ位置として特定するカメラ位置算出手段と、
前記第１および第２カメラ位置に対応して、前記第１および第２画像のいずれか一方の画像をモニタ画面の左画像表示領域に表示し、かつ他方の画像を前記モニタ画面の前記左画像表示領域の水平方向の右側に並列した右画像表示領域に表示する表示手段と、
水平面における前記ターゲットに対する前記第１および第２カメラ位置の第１および第２ベクトルを算出するベクトル算出手段と、
前記第１ベクトルに対する前記第２ベクトルの外積を算出する外積算出手段と、
前記外積の正負に基づいて前記第１および第２画像の表示位置を決定する表示位置決定手段と
を備えることを特徴とする写真測量用画像処理装置。
【請求項２】
前記表示位置決定手段が、前記外積が正の場合に、前記第１画像の表示位置を前記左画像表示領域に、かつ前記第２画像の表示位置を前記右画像表示領域に定めることを特徴とする請求項１に記載の写真測量用画像処理装置。
【請求項３】
被写体と所定位置のターゲットとを異なる方向から撮影して第１および第２画像を得る第１ステップと、
請求項１に記載の写真測量用画像処理装置を用いて、前記第１および第２カメラ位置を特定し、前記第１および第２画像をモニタ画面に水平方向に並列して表示する第２ステップと、
前記モニタ画面上の前記第１および第２画像について、前記被写体上の測量点に対応する第１像点および第２像点をそれぞれ特定する第３ステップと、
前記第１および第２カメラ位置と前記第１および第２像点とに基づいて、前記測量点の３次元座標を算出する第４ステップと、
前記測量点の３次元座標に基づいて測量図を作成する第５ステップと
を備えることを特徴とする写真測量方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は写真測量における写真測量用画像処理装置に関する。
【０００２】
【従来の技術】
写真測量は地図の作成に広く使用されているが、交通事故の現場検証等の局所的な状況の記録においても極めて有効な手段として活用されている。近年では従来のステレオカメラを用いた写真測量方法に代わって単眼のカメラによる写真測量方法が提案され、この写真測量方法によると撮影位置の自由度を向上させるとともに簡易機材による効率的な写真測量を実現できる。
【０００３】
具体的には、被写体およびその近傍のターゲットについて、任意の異なる２方向、例えば２つの撮影位置を結ぶ基線より前方で双方の光軸が交わりかつそれら光軸の成す角が１８０度未満となるように撮影を行う。そして、専用の画像処理装置においてこれら２画像をモニタに並列して表示し、マウス等を用いたマニュアル作業により双方の画像に共通に写し込まれた被写体上の測量点が特定され、その３次元座標が算出される。
【０００４】
【発明が解決しようとする課題】
マニュアル作業においては、双方の画像においてそれぞれ撮影位置を考慮しつつ対応する測量点を見出し指定しなければならないため、熟練したオペレータにとっても非常に煩雑な作業である。
【０００５】
従来では、例えば同一の被写体およびターゲットについて、ターゲットの左側、右側の順に撮影する等の撮影手順を予め定めておき、得られた画像を撮影順にモニタ画面の左方および右方に表示している。即ちモニタ画面の左方には左方から撮影した画像が、右方には右方から撮影した画像が常に表示され、これにより立体視に近い状態となり、測量点を見出し易くなる。
【０００６】
しかし、上述の撮影手順を踏まえてかつ測量精度や撮影範囲を考慮しながら撮影を行う作業はオペレータにとって負担が大きく、また撮影の自由度が狭められていた。
【０００７】
本発明はこのような従来の問題点を解消すべく創案されたもので、写真測量において撮影の自由度を阻害することなく、かつ測量点指定のマニュアル作業を大幅に効率化することが目的である。
【０００８】
【課題を解決するための手段】
本発明に係る写真測量用画像処理装置は、所定位置のターゲットを共通に含む第１画像および第２画像についてそれぞれターゲットに対する撮影点の相対位置を算出し第１カメラ位置および第２カメラ位置として特定するカメラ位置算出手段と、第１および第２カメラ位置に対応して第１および第２画像のいずれか一方の画像をモニタ画面の左画像表示領域に表示しかつ他方の画像をモニタ画面の左画像表示領域の水平方向の右側に並列した右画像表示領域に表示する表示手段とを備えることを特徴としている。
【０００９】
写真測量用画像処理装置は、さらに水平面におけるターゲットに対する第１および第２カメラ位置の第１および第２ベクトルを算出するベクトル算出手段と、第１ベクトルに対する第２ベクトルの外積を算出する外積算出手段と、外積の正負に基づいて第１および第２画像の表示位置を決定する表示位置決定手段とを備えていてもよい。表示位置決定手段は、具体的には、外積が正の場合に、第１画像の表示位置を左画像表示領域にかつ第２画像の表示位置を右画像表示領域に定める。
【００１０】
また、本発明に係る写真測量方法は、被写体と所定位置のターゲットとを異なる方向から撮影して第１および第２画像を得る第１ステップと、写真測量用画像処理装置を用いて第１および第２カメラ位置を特定し第１および第２画像をモニタ画面に水平方向に並列して表示する第２ステップと、モニタ画面上の第１および第２画像について被写体上の測量点に対応する第１像点および第２像点をそれぞれ特定する第３ステップと、第１および第２カメラ位置と第１および第２像点とに基づいて測量点の３次元座標を算出する第４ステップと、測量点の３次元座標に基づいて測量図を作成する第５ステップとを備えることを特徴としている。ここで用いられる写真測量用画像処理装置は、第１画像および第２画像についてそれぞれターゲットに対する撮影点の相対位置を算出し第１カメラ位置および第２カメラ位置として特定するカメラ位置算出手段と、第１および第２カメラ位置に対応して第１および第２画像のいずれか一方の画像をモニタ画面の左画像表示領域に表示しかつ他方の画像をモニタ画面の左画像表示領域の水平方向の右側に並列した右画像表示領域に表示する表示手段とを備える。
【００１１】
【発明の実施の形態】
次に本発明に係る写真測量用画像処理装置およびこの写真測量用画像処理装置を用いた写真測量方法の実施形態を図面に基づいて説明する。
【００１２】
図１は実施形態である写真測量の撮影状況を示す図であり、測量対象である道路の外形ＲＧおよび白線ＲＷを鉛直上方から見た水平面図である。同図には、撮影点を示すカメラ位置Ｍ１〜１１が黒丸点で示され、各カメラ位置Ｍ１〜１１は図示しない単一の写真測量用カメラに設けられた撮影光学系の後側主点位置に一致する。カメラ位置Ｍ１〜１１からそれぞれ伸びる矢印は撮影光学系の光軸の方向を示している。
【００１３】
写真測量においては同一の測量対象に対して異なる２方向からの撮影が連続して行われる。詳述すると、例えば測量対象がＴ字路の場合、このＴ字路の右側のカメラ位置Ｍ１から撮影が開始され、次に左側のカメラ位置Ｍ２からＴ字路が撮影される。カメラ位置Ｍ１およびＭ２で得られた２フレーム分の画像は１組のペア画像（ペア１）として定義され、図中ＲＰ１で示される位置に置かれたターゲット１０を共通に写し込んでいる。
【００１４】
続いて、ターゲット１０はターゲット位置ＲＰ１からＲＰ２へ移動させられ、カメラ位置Ｍ３における撮影が行われる。そしてターゲット１０は再びターゲット位置ＲＰ１に戻され、カメラ位置Ｍ４〜Ｍ７からの撮影が行われる。戻されたターゲット１０の位置を区別するためにここではターゲット位置ＲＰ３として定義する。
【００１５】
基本的に、１つの測量対象に対して任意の異なる２つのカメラ位置からの撮影が行われる。具体的には２つのカメラ位置を結ぶ基線より前方で双方の光軸が交わり、かつそれら光軸の成す角が１８０度未満となるように撮影を行う。しかし、実際には以前行った異なる測量対象の撮影を忘れたり、写真測量に直接関係ない被写体を撮影する状況が起こり得るため、この場合にはターゲット１０を移動して撮影を行う。即ち、図１に示す撮影では、カメラ位置Ｍ１およびＭ２の撮影後に、カメラ位置Ｍ３において１フレームだけこの測量に関係のない画像が得られる。
【００１６】
続いて、ターゲット１０はターゲット位置ＲＰ３からＲＰ４へ順次移動させられ、カメラ位置Ｍ８〜Ｍ１１の４箇所からの撮影が行われる。
【００１７】
図２は、カメラ位置Ｍ１〜Ｍ１１の撮影により得られた画像を概念的に示す図である。カメラ位置Ｍ１〜Ｍ１１に対応する画像はそれぞれＩＭ１〜１１で示している。画像ＩＭ１〜１１は、図中矢印の順、即ち撮影順に従ってＩＣメモリカード等の画像記録媒体に電子情報、即ちデジタル画素データとして記録される。各画像のデジタル画素データには、画像番号（撮影順に１〜１１が付される）、画像名（ここでは便宜上符号で示す）およびターゲット位置ＲＰに関する情報が併せられ、各画像に対応した測量画像データが生成され、この測量画像データが画像記録媒体に格納される。
【００１８】
後述する写真測量用画像処理装置においては、ターゲット位置ＲＰに関する情報に基づいて、同一位置のターゲット１０が写し込まれている画像が１つのグループとして定義付けられる。詳述すると、ターゲット１０がターゲット位置ＲＰ１に置かれた時に得られた画像ＩＭ１およびＩＭ２は第１グループに定義され、同様に、ターゲット位置ＲＰ２に対応する画像ＩＭ３が第２グループに、ターゲット位置ＲＰ３に対応する画像ＩＭ４〜ＩＭ７が第３グループに、ターゲット位置ＲＰ４に対応する画像ＩＭ８〜ＩＭ１１が第４グループに定義される。
【００１９】
また、水平面において１つの測量対象に関して右方および左方から撮影された２枚の画像はペア画像として定義される。即ち、画像ＩＭ１およびＩＭ２がペア１、画像ＩＭ４およびＩＭ５がペア２、画像ＩＭ６およびＩＭ７がペア３、画像ＩＭ８およびＩＭ９がペア４、画像ＩＭ１０およびＩＭ１１がペア５に定められ、この測量では５組のペア画像が得られる。
【００２０】
１組のペア画像、例えばペア１の画像ＩＭ１およびＩＭ２はモニタ画面に並列して表示され、マウス等を用いたマニュアル作業により、被写体上の測量点が双方の画像ＩＭ１およびＩＭ２に投影された像点がそれぞれ特定され、測量点の３次元座標が算出される。このとき、対応する像点を目視により見出す作業においては双方の画像ＩＭ１、ＩＭ２のカメラ位置Ｍ１、Ｍ２を常に想定しなければならず、非常に煩わしい。
【００２１】
そこで、本実施形態においてはモニタ画面の左側には左方から撮影した左画像（画像ＩＭ２）を、右側には右方から撮影した右画像（画像ＩＭ１）を表示する。これにより立体視に近い状態となり、対応する像点を見出し易くなる。
【００２２】
図３を参照して、画像ＩＭ１および画像ＩＭ２を右画像または左画像に選定する原理を説明する。図３は水平面におけるターゲット１０と各カメラ位置Ｍ１、Ｍ２との相対位置関係を概念的に示す図である。
【００２３】
ターゲット１０は、水平方向に伸びる２本の柱部材１２、１４を備え、これら２本の柱部材１２、１４は互いに連結される端部１６において直角を形成している。ターゲット１０には右手系の３次元座標直交座標系である基準座標系（Ｘ，Ｙ，Ｚ）が設定され、その原点は端部１６に設けられた基準点（図中白丸で示す）に定められる。Ｘ軸は端部１６の基準点および柱部材１４に沿って設けられた３個の基準点を通る直線に一致し、Ｚ軸は端部１６の基準点および柱部材１２に沿って設けられた２個の基準点を通る直線に一致する。２本の柱部材１２、１４が水平方向に伸びているので、Ｘ−Ｚ平面は実質的に水平面とみなされ、Ｙ軸は鉛直方向に一致するとみなされる。なお、Ｙ軸の＋方向は鉛直上方である。
【００２４】
カメラ位置Ｍ１は、ターゲット１０に対する相対３次元位置、即ち基準座標系（Ｘ，Ｙ，Ｚ）における基準座標（ΔＸ1 ，ΔＹ1 ，ΔＺ1 ）で表され、同様に、カメラ位置Ｍ２は基準座標（ΔＸ2 ，ΔＹ2 ，ΔＺ2 ）で表される。なお、各カメラ位置におけるカメラ２０の光軸は、一点鎖線の矢印ＣＬ1 およびＣＬ2 で示される。
【００２５】
ここで、水平面、即ちＸ−Ｚ平面における原点に対するカメラ位置Ｍ１のベクトル（ΔＸ1 ，ΔＺ1 ）を第１ベクトルＶｅｃ１に定義し、同様に原点に対するカメラ位置Ｍ２の第２ベクトルＶｅｃ２（ΔＸ2 ，ΔＺ2 ）を定義する。このとき第１ベクトルＶｅｃ１に対する第２ベクトルＶｅｃ２の外積Ｇは、（１）式により求められる。
【００２６】
Ｇ＝ΔＺ1 ×ΔＸ2 −ΔＸ1 ×ΔＺ2     ・・・（１）
【００２７】
この外積Ｇは、第１ベクトルＶｅｃ１および第２ベクトルＶｅｃ２に垂直かつ右手系となる方向を有するベクトルである。ここでは外積Ｇは負となり、ベクトルの向きが（−Ｙ）方向である、即ち第２ベクトルＶｅｃ２が第１ベクトルＶｅｃ１に対してＹ軸周りに時計回り方向の位置にあることが示される。従って、外積Ｇが負であることにより、水平面においてカメラ位置Ｍ２がカメラ位置Ｍ１より左方にあると判断でき、画像ＩＭ１が右画像に定められると共に画像ＩＭ２が左画像に定められる。
【００２８】
このように、本実施形態においては、各ペア画像についてターゲット１０に対するカメラ位置Ｍの３次元座標に基づいて外積Ｇを算出し、外積Ｇの正負に基づいて、右画像および左画像を定めている。従って、撮影時に必ず左方あるいは右方からペア画像を撮影するという手順を踏まなくてもよい。
【００２９】
図４は、本実施形態の写真測量用画像処理装置の主要構成を示すブロック図である。写真測量用画像処理装置２００は、装置全体の動作を制御するＣＰＵ２１０と、測量画像データをＩＣメモリカード１８０から読取るためのカード読取装置２１２と、ペア画像および測量図を表示するモニタ装置２１４とを備える。また写真測量用画像処理装置２００は、像点指定や種々の指示に用いるマウス２１６およびキーボード２１７を備える。ＣＰＵ２１０、カード読取装置２１２、モニタ装置２１４、マウス２１６、プリンタ２１８およびスピーカ２１９は、直接または間接的にバス２３０に接続される。
【００３０】
マウス２１６およびキーボード２１７にはバス２３０に接続された入力制御部２２６が接続され、マウス２１６およびキーボード２１７からの入力がバス２３０に転送され、またこれらの入力モード等が設定される。
【００３１】
また、プリンタ２１８およびスピーカ２１９にはバス２３０に接続された出力制御部２２８が接続される。作成された測量図はプリンタ２１８により必要に応じて印刷される。スピーカ２１９は、マウス２１６およびキーボード２１７からの入力間違い等の警告音を発生し、オペレータに報知する。
【００３２】
ＩＣメモリカード１８０はカード読取装置２１２に挿入され、ＩＣメモリカード１８０内に格納された画像ＩＭ１〜１１に対応した測量画像データが装置内に適宜読み込まれる。なお、ＩＣメモリカード１８０からの読み出し後、ＩＣメモリカード１８０内に格納されていた測量画像データは消去され、測量画像データ読出しの重複を防止している。
【００３３】
カード読取装置２１２の読込み動作および書込み動作は、バス２３０に接続された記録媒体制御部２２２により制御される。記録媒体制御部２２２にはハードディスク２１３が接続され、このハードディスク２１３にはＩＣメモリカード１８０から読み込まれた測量画像データが格納される。なお、ハードディスク２１３内に格納された測量画像データや、作成された測量図のデータは必要に応じて光磁気ディスク２１５に記録される。
【００３４】
バス２３０には表示メモリ２４２および作業メモリ２４４がそれぞれ接続される。表示メモリ２４２はモニタ装置２１４で表示すべき内容をデジタルデータとして保持し、バス２３０に接続された表示制御部２２４は保持されたデジタルデータをモニタ装置２１４のためのアナログＲＧＢ信号に変換する。作業メモリ２４４はＣＰＵ２１０による演算、処理におけるキャッシュメモリ等に使用される。
【００３５】
ＣＰＵ２１０は、入力状態管理部２３２、表示状態管理部２３４、演算処理部２３６およびデータ管理部２３８を備え、必要な管理、演算、処理を実行する。入力状態管理部２３２はマウス２１６およびキーボード２１７の設定を管理し、また入力された情報、例えばマウス２１６の座標、キーボード２１７から入力された文字等を所定のデジタルデータに変換する。表示状態管理部２３４はモニタ装置２１４に表示すべき内容を管理し、表示に関する設定の変更等があったときには表示内容を変更する。演算処理部２３６はぺア画像選択や測量図作成のための種々の演算処理に使用される。データ管理部２３８はＩＣメモリカード１８０から読込んだデータ内容を管理し、また読み込まれたデータに基づいて作成された座標データ等を管理する。
【００３６】
図５はＣＰＵ２１０において実行される写真測量画像処理プログラムのメインルーチンを示すフローチャートである。このメインルーチンは、写真測量画像処理プログラムの起動をマウス２１６等で指示することにより開始される。
【００３７】
先ずステップＳ１０２において、測量画像データの読込み開始がマニュアルで指示され、カード読取装置２１２に装着されたＩＣメモリカード１８０から、カメラ位置Ｍ１〜１１における撮影により得られた測量画像データが読み込まれる。このとき、各測量画像データに含まれるデジタル画像データや画像番号、画像名およびターゲット位置ＲＰに関する情報は作業メモリ２４４に格納され、ＩＣメモリカード１８０から測量画像データが消去される。
【００３８】
ステップＳ１０４〜ステップＳ１０８においては、カメラ位置Ｍ１〜１１のそれぞれについて基準座標が算出される。詳述すると、ステップＳ１０４では画像数を示すパラメータｊｍａｘには「１１」が代入され、ループカウンタｊには初期値１が代入される。ステップＳ１０６ではカメラ位置Ｍｊの基準座標が算出され、作業メモリ２４４に格納される。ステップＳ１０８ではループカウンタｊがｊｍａｘに達したか否かが判定され、達していなければステップＳ１１０においてｊが１インクリメントされてステップＳ１０６に戻る。これにより、全１１画像についてのカメラ位置の基準座標が得られる。なお、カメラ位置の算出方法については公知であり、ここでは説明を省略する。
【００３９】
全カメラ位置Ｍ１〜１１の基準座標の算出が終了すると、ステップＳ２００のペア編集サブルーチンが実行され、画像ＩＭ１〜１１についてペアの組合せが決定されると同時に、各ペアについて左画像および右画像が決定される。
【００４０】
ステップＳ２００においてペアの組合せおよび左右画像が決定された後、ステップＳ１１２の測量図作成処理が実行され、各ペア画像に基づいて測量図が作成される。そして、作成された測量図および用いられた画像等のデータは、ステップＳ１１４においてハードディスク２１３に保存され、このメインルーチンは終了する。
【００４１】
図６および図７は、ペア編集処理サブルーチン（ステップＳ２００）におけるモニタ装置２１４の画面を概念的に示す図である。図６は初期状態を示し、図７はペアの組合せおよび左画像および右画像の決定が終了した状態を示す。
【００４２】
モニタ画面の左方にはペア表示領域ＧＤＡが設定され、このペア表示領域ＧＤＡには画像ＩＭ１〜１１の特徴を明示し得るものとして、オブジェクトＯＢ１〜１１が示される。このオブジェクトＯＢ１〜１１は画像ＩＭ１〜１１に対応してそれぞれ生成され、例えば縮小画像である。２つのオブジェクトを１組のペアに決定することにより、対応する２画像がペア画像として定義される。なお、図６にはオブジェクトＯＢ１１は示されていないが、ペア表示領域ＧＤＡの右端に設けられたスクロールバーＳＲＢの指示によってスクロール表示可能である。
【００４３】
また、モニタ画面にはペアになり得ないオブジェクトをペア表示領域ＧＤＡから退避させるための一時退避表示領域ＴＭＰＡや、警告や説明等を報知するためのメッセージ表示領域ＭＤＡが設けられ、さらにペア表示領域ＧＤＡおよび一時退避表示領域ＴＭＰＡ間でオブジェクトＯＢ１〜１１を移動するための第１移動ボタンＭＢ１、第２移動ボタンＭＢ２、第３移動ボタンＭＢ３や、このペア編集処理を完了または中止するための完了ボタンＣＩＢおよび中止ボタンＣＳＢが設けられる。
【００４４】
ペア表示領域ＧＤＡはペアとなりうる２個のオブジェクトは水平方向に並んで順に表示され、各ペアは垂直方向に図中上から順に並んで表示される。さらに、水平方向に並ぶ２個のオブジェクトについては、左画像になり得るオブジェクトがペア表示領域ＧＤＡの左側に設けられた左画像表示領域ＬＤＡに表示され、右画像になり得るオブジェクトがペア表示領域ＧＤＡの右画像表示領域ＲＤＡに表示される。
【００４５】
図７に示す適正なペアの組合せおよび左右画像の決定は、以下のように行われる。まず、ＩＣメモリカード１８０から画像ＩＭ１〜１１を読み出し、画像番号に従ってその連続する２枚ずつの画像（オブジェクト）を仮のペアとする。そして、仮のペアとして対応付けられた２画像について、上述の原理に基づいてそれぞれ右画像および左画像が決定され、図６の初期画面に表示される。
【００４６】
図６では、仮のペアとして、ペア１（ＯＢ１，ＯＢ２）、ペア２（ＯＢ３，ＯＢ４）、ペア３（ＯＢ５，ＯＢ６）、ペア４（ＯＢ７，ＯＢ８）およびペア５（ＯＢ９，ＯＢ１０）が表示され、また左画像としてＯＢ２、ＯＢ４、ＯＢ６、ＯＢ８およびＯＢ９が選択され、右画像としてＯＢ１、ＯＢ３、ＯＢ５、ＯＢ７およびＯＢ１０が選択されている。なお図示しないが、オブジェクトＯＢ１１はペアとなるべきオブジェクトはなく、左側に表示される。
【００４７】
一般に撮影はペア画像を連続して撮影するのでこの仮のペアがそのまま適正な組合せになる可能性が高い。しかし、画像ＩＭ３のように撮影途中で関連した証拠写真を撮影する場合には、仮のペアは適正な組合せとならない。そこで、ターゲット位置ＲＰに関する情報に基づいて、ペアを構成する２画像のグループ（ターゲット位置ＲＰ）が互いに異なる場合には、例えば破線ＴＤＬで２つのオブジェクトを囲むことによりオペレータに報知する。
【００４８】
そこで、オペレータは図７に示すようにオブジェクトＯＢ３をペア表示領域ＧＤＡから除去し、一時退避表示領域ＴＭＰＡに退避させる。するとオブジェクトＯＢ５が１つ上の段に繰り上がり、同様にＯＢ７、ＯＢ９およびＯＢ１１がそれぞれ１つ上の段に繰り上がる。さらに、オブジェクトＯＢ３を除く１０個のオブジェクトについて各ペア毎に上述の原理に基づいて左右画像の判定が行われ、右画像および左画像が定められる。
【００４９】
以上のようにして図７に示す適正なペアの組合せが実現し、ペア表示領域ＧＤＡにはペア１（ＯＢ１，ＯＢ２）、ペア２（ＯＢ４，ＯＢ５）、ペア３（ＯＢ６，ＯＢ７）、ペア４（ＯＢ８，ＯＢ９）およびペア５（ＯＢ１０，ＯＢ１１）が表示される。また、左画像としてＯＢ２、ＯＢ５、ＯＢ６、ＯＢ８およびＯＢ１１が定められ、右画像としてＯＢ１、ＯＢ４、ＯＢ７、ＯＢ９およびＯＢ１０が定められる。
【００５０】
図７に示すようにペアの組合せおよび左右画像が適正である場合には、完了ボタンＣＩＢが指示され、ペア表示領域ＧＤＡの表示内容に従ってペア画像の組合せが決定され、同時に左または右画像が決定される。即ち、ペア１において左画像が画像ＩＭ２、右画像が画像ＩＭ１に定義され、同様にペア２（左画像ＩＭ５，右画像ＩＭ４）、ペア３（左画像ＩＭ６，右画像ＩＭ７）、ペアＰ４（左画像ＩＭ８，右画像ＩＭ９）およびペア５（左画像ＩＭ１１，右画像ＩＭ１０）が定義付けられる。
【００５１】
このように、仮のペアが自動的に組み合わせられ、またペアの状況を目視で確認しつつ、その編集を容易に行うことができるので、適正なペアの組合せを容易に実現し得る。また、左画像および右画像の決定はペアが編集される度に自動的に行われるので、オペレータはペアの組合せを行うだけでよく、作業を効率よく行える。
【００５２】
図８〜図１０を参照して、ペア編集処理を詳細に説明する。図８および図９は、ペア編集処理サブルーチン（ステップＳ２００；図５）の詳細を示すフローチャートである。
【００５３】
ここでは、ペア表示領域ＧＤＡに表示すべきオブジェクトに対応する画像名を示すリストとして「ＵｓｅＬｉｓｔ」を設定し、さらにペア表示領域ＧＤＡに表示すべき順に並べたＵｓｅＬｉｓｔの要素番号を示すリストとして「ＴｈｕｍｂｎａｉｌＬｉｓｔ」を設定している。また一時退避表示領域ＴＭＰＡに表示すべきオブジェクトに対応する画像名のリストとして「ＵｎＵｓｅＬｉｓｔ」を設定している。図１０の（ａ）〜（ｄ）は、図６および図７のペア編集処理におけるＵｓｅＬｉｓｔ、ＴｈｕｍｂｎａｉｌＬｉｓｔおよびＵｎＵｓｅＬｉｓｔの変遷を示す表である。
【００５４】
ＵｓｅＬｉｓｔおよびＵｎＵｓｅＬｉｓｔにおいて、ペア表示領域ＧＤＡまたは一時退避表示領域ＴＭＰＡに表示すべきオブジェクトを先頭から順にカウントした値は「要素番号」として示される。同様に、ＴｈｕｍｂｎａｉｌＬｉｓｔにおいて、ペア表示領域ＧＤＡに表示すべき順に並べられたＵｓｅＬｉｓｔ要素番号を先頭から順にカウントした値は「要素番号」として示される。
【００５５】
ペア表示領域ＧＤＡには、ＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号順に対応するオブジェクトが上方から表示され、このときＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号が奇数の場合は対応するオブジェクトはペア表示領域ＧＤＡの左画像表示領域に、要素番号が偶数の場合は右画像表示領域に表示される。
【００５６】
また、ペア表示領域ＧＤＡにおいてオブジェクトが指定された場合には、パラメータ「ＳｅｌＴｈｕｍｂｎａｉｌＮｕｍ」に指定されたオブジェクトに対応するＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号が格納されるとともに、パラメータ「ＵｓｅＳｅｌＮｕｍ」に指定されたオブジェクトのＵｓｅＬｉｓｔ要素番号が格納される。また一時退避表示領域ＴＭＰＡにおいてオブジェクトが指定された場合には、パラメータ「ＵｎＵｓｅＳｅｌＮｕｍ」に指定されたオブジェクトのＵｎＵｓｅＬｉｓｔ要素番号が格納される。
【００５７】
まず、ステップＳ２０２においてパラメータＵｓｅＳｅｌＮｕｍおよびＵｎＵｓｅＳｅｌＮｕｍに初期値０が代入される。次にステップＳ２０４において、図１０（ａ）に示すように、ＵｓｅＬｉｓｔには初期値として画像名「ＩＭ１」〜「ＩＭ１１」が書き込まれ、一方ＵｎＵｓｅＬｉｓｔは何も書き込まれない空の状態に初期化される。
【００５８】
この段階では一時退避表示領域ＴＭＰＡにはオブジェクトが存在しないため、ステップＳ２０６において、第２移動ボタンＭＢ２および第３移動ボタンＭＢ３は薄く表示される（ディスエーブル状態）。このディスエーブル状態では、第２移動ボタンＭＢ２および第３移動ボタンＭＢ３上でマウスクリックしても、オブジェクトの移動は行われない。
【００５９】
次のステップＳ２１０においては左右画像決定サブルーチンが実行され、図３に示す原理に基づいて、仮のペアのそれぞれについて左画像および右画像が決定される。図１０（ｂ）には左右画像決定サブルーチン実行後のＵｓｅＬｉｓｔ、ＵｎＵｓｅＬｉｓｔおよびＴｈｕｍｂｎａｉｌＬｉｓｔが示される。
【００６０】
そして、ステップＳ２４０のペア表示領域表示更新サブルーチンでは、ステップＳ２１０で決定されたＴｈｕｍｂｎａｉｌＬｉｓｔに基づいて、ペア表示領域ＧＤＡが表示更新され、ステップＳ２６０の一時退避表示領域表示更新サブルーチンでは、ステップＳ２１０で決定されたＵｎＵｓｅＬｉｓｔに基づいて一時退避表示領域ＴＭＰＡが表示更新される。
【００６１】
図１０（ｂ）の初期状態においては、一時退避表示領域ＴＭＰＡには何も表示されず、ペア表示領域ＧＤＡにはＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号順にオブジェクトＯＢ１〜１１が表示される（図６参照）。
【００６２】
ペア表示領域ＧＤＡまたは一時退避表示領域ＴＭＰＡのオブジェクトの表示が更新された後、ステップＳ２８２が実行され、ＵｓｅＬｉｓｔの要素数、即ちオブジェクトの数が偶数であるか否か判定される。要素数が偶数のときはペア編集処理の終了が許可されてステップＳ２８４へ進み、ここで完了ボタンはイネーブル状態とされる。要素数が奇数のときはペア編集処理の終了は許可されずステップＳ２８６へ進み、完了ボタンはディスエーブル状態とされる。
【００６３】
ステップＳ２８４またはステップＳ２８６の実行後、ステップＳ２８８においてマウスクリックが検知されれば、さらにステップＳ２９０においてクリック場所が判定され、クリック場所に応じてそれぞれ分岐処理が実行される。即ち、クリック場所が完了ボタンＣＩＢの場合にはステップＳ３００、ペア表示領域ＧＤＡの場合にはステップＳ４００、一時退避表示領域ＴＭＰＡの場合にはステップＳ５００、第１移動ボタンＭＢ１の場合にはステップＳ６００、第２移動ボタンＭＢ２の場合にはステップＳ７００、第３移動ボタンＭＢ３の場合にはステップＳ８００、中止ボタンＣＳＢの場合にはステップＳ９００にそれぞれ進む。
【００６４】
ステップＳ３００を除く各分岐処理が終了すると、左右画像決定サブルーチン（ステップＳ２１０）、一時退避表示領域表示更新サブルーチン（ステップＳ２４０）およびペア表示領域表示更新サブルーチン（ステップＳ２６０）が再び実行され、各分岐処理によって変更された結果に基づいて画面の表示更新が行われる。
【００６５】
なお、ステップＳ２８８においてクリックが検知されなかった、またはステップＳ２９０においてクリック場所が分岐処理に移行すべき場所でなかったと判定されたときは、分岐処理は実行されずにステップＳ２８８に戻る。即ち、完了ボタンＣＩＢ、ペア表示領域ＧＤＡ、一時退避表示領域ＴＭＰＡ、第１移動ボタンＭＢ１、第２移動ボタンＭＢ２、第３移動ボタンＭＢ３および中止ボタンＣＳＢの何れかがクリックされるまでステップＳ２８８、２９０は繰り返し実行される。
【００６６】
例えば図６および図７に示すように、オブジェクトＯＢ３をペア表示領域ＧＤＡから除去し一時退避表示領域ＴＭＰＡに退避させる場合には、まずペア表示領域ＧＤＡに表示されたオブジェクトＯＢ３の領域（以下、オブジェクトスコープと呼ぶ）内をマウス２１６によりクリックすると、ステップＳ４００が実行されてオブジェクトＯＢ３が指定されたとして反転表示される。
【００６７】
続いて、マウス２１６により第１移動ボタンＭＢ１をクリックするとステップＳ６００が実行され、オブジェクトＯＢ３は一時退避表示領域ＴＭＰＡに移動する。図１０（ｃ）はこの時点でのＵｓｅＬｉｓｔ、ＵｎＵｓｅＬｉｓｔおよびＴｈｕｍｂｎａｉｌＬｉｓｔを示す。
【００６８】
ステップＳ６００の実行後に再び左右画像決定サブルーチン、一時退避表示領域表示更新サブルーチンおよびペア表示領域表示更新サブルーチンが実行されると、モニタ画面は図７に示す状態に更新表示される。このときのＵｓｅＬｉｓｔ、ＵｎＵｓｅＬｉｓｔおよびＴｈｕｍｂｎａｉｌＬｉｓｔは図１０（ｄ）に示される。
【００６９】
なお、ペア表示領域ＧＤＡおよび一時退避表示領域ＴＭＰＡの双方においてオブジェクトをマウスで指定した後（ステップＳ３００およびＳ４００の実行後）に、第２移動ボタンＭＢ２をマウスで指示すると、ステップＳ７００が実行され、一時退避表示領域ＴＭＰＡで指定されたオブジェクトが、ペア表示領域ＧＤＡで指定されたオブジェクトの前に挿入される。そして、ペア表示領域ＧＤＡで指定されたオブジェクト以降のオブジェクトが、それぞれ１つ後ろの位置に繰り下がる。
【００７０】
一方、第３移動ボタンＭＢ３を指示した場合には、ステップＳ８００が実行され、一時退避表示領域ＴＭＰＡで指定されたオブジェクトがペア表示領域ＧＤＡの最後のオブジェクトの後に挿入される。
【００７１】
ペア表示領域ＧＤＡまたは一時退避表示領域ＴＭＰＡにおいてオブジェクトを指定した後にその指定をキャンセルする場合には、中止ボタンＣＳＢをクリックしてステップＳ９００を実行させる。これにより指定されたオブジェクトは反転表示から通常の状態に戻る。
【００７２】
図１１は、左右画像決定サブルーチン（ステップＳ２１０；図８）の詳細を示すフローチャートである。
【００７３】
まずステップＳ２１２においてＴｈｕｍｂｎａｉｌＬｉｓｔが何も書き込まれない空の状態に初期化される。次にステップＳ２１４において、ペア数を示すパラメータｉｍａｘにはＵｓｅＬｉｓｔの要素数を２で割った商が代入され、ループカウンタｉに初期値１が代入される。
【００７４】
ステップＳ２１６ではループカウンタｉがｉｍａｘ以下か否かが判定され、ｉｍａｘ以下であればステップＳ２１８〜Ｓ２３０が実行される。即ち、ステップＳ２１８〜Ｓ２３０はペア数ｉｍａｘの回数分だけ繰り返し実行される。ｉｍａｘより大きければステップＳ２３２に進む。
【００７５】
ステップＳ２１８では、ＵｓｅＬｉｓｔにおける要素番号が（２×ｉ−１）に一致する画像名と、その次の要素番号（２×ｉ）の画像名とが取得される。ここで、便宜上Ｆｉｌｅ１、Ｆｉｌｅ２と定義する。
【００７６】
ステップＳ２２０においては画像名Ｆｉｌｅ１、Ｆｉｌｅ２に対応するカメラ位置Ｍの基準座標を作業メモリ２４４から読出し、この基準座標に基づいて、第１ベクトルＶｅｃ１および第２ベクトルＶｅｃ２を取得する。そして、ステップＳ２２２において第１ベクトルＶｅｃ１および第２ベクトルＶｅｃ２の外積Ｇを算出し、ステップＳ２２４において正負を判定する。
【００７７】
ステップＳ２２４において外積Ｇが正であると判定されると、ステップＳ２２６が実行され、ＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号（２×ｉ−１）に対応する要素はＵｓｅＬｉｓｔ要素番号［２×ｉ−１] となり、要素番号（２×ｉ）に対応する要素はＵｓｅＬｉｓｔ要素番号［２×ｉ] となる。なお、ここでは要素番号を（ ）で囲み、要素を［ ]で囲んで示す。
【００７８】
一方、外積Ｇが負または０であればステップＳ２２８が実行され、ＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号（２×ｉ−１）に対応する要素はＵｓｅＬｉｓｔ要素番号［２×ｉ] となり、要素番号（２×ｉ）に対応する要素はＵｓｅＬｉｓｔ要素番号［２×ｉ−１] となる。即ち、ＴｈｕｍｂｎａｉｌＬｉｓｔにおいてＵｓｅＬｉｓｔ要素番号の順番が入れ替わる。ステップＳ２２６またはステップＳ２２８の実行後、ステップＳ２３０においてｉがインクリメントされ、ステップＳ２１６に戻る。
【００７９】
ステップＳ２１６において、ループカウンタｉがｉｍａｘより大きい、即ち全ペアについてステップＳ２１８〜Ｓ２３０が実行されたと判定されると、ステップＳ２３２に進み、ここでさらにＵｓｅＬｉｓｔの要素数が奇数であるか否かが判定される。奇数の場合、ステップＳ２３４においてＵｓｅＬｉｓｔの最後の要素番号［２×ｉｍａｘ＋１］がＴｈｕｍｂｎａｉｌＬｉｓｔの最後の要素番号（２×ｉｍａｘ＋１）の要素として格納される。偶数の場合はステップＳ２３４は実行されない。以上で左右画像決定サブルーチンが終了する。
【００８０】
図１２は、ペア表示領域表示更新サブルーチン（ステップＳ２４０；図８）の詳細を示すフローチャートである。
【００８１】
まず、ステップＳ２４２において要素数を示すパラメータｋｍａｘにはＵｓｅＬｉｓｔの要素数が代入され、ループカウンタｋに初期値１が代入される。ステップＳ２４４ではループカウンタｋがｋｍａｘ以下か否かが判定され、ｋｍａｘ以下であればステップＳ２４６〜Ｓ２５２が実行される。即ち、ステップＳ２４６〜Ｓ２５２はＵｓｅＬｉｓｔ要素数（ｋｍａｘ）の回数分だけ繰り返し実行される。ループカウンタｋがパラメータｍａｘより大きければ、ペア表示領域表示更新サブルーチンは直ちに終了する。
【００８２】
ステップＳ２４６では、ｋ番目のＴｈｕｍｂｎａｉｌＬｉｓｔの要素がＵｓｅＳｅｌＮｕｍに一致するか否かが判定され、一致する場合にはステップＳ２４８において対応するオブジェクトがペア表示領域ＧＤＡに反転表示され、一致しない場合にはステップＳ２５０においてオブジェクトは通常の色でペア表示領域ＧＤＡに表示される。ステップＳ２４８またはステップＳ２５０の終了後、ステップＳ２５２においてループカウンタｋが１インクリメントされ、ステップＳ２４４に戻る。
【００８３】
ＵｓｅＳｅｌＮｕｍには、ペア表示領域ＧＤＡでオブジェクトが指定された場合には対応するＴｈｕｍｂｎａｉｌＬｉｓｔの要素であるＵｓｅＬｉｓｔ要素番号が、指定されていない場合には０が代入されており、ステップＳ２４６〜２５０により指定されたオブジェクトのみを反転表示させることができる。
【００８４】
以上のように、ペア表示領域表示更新サブルーチンの実行によってモニタ画面のペア表示領域ＧＤＡには、ＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号順にオブジェクトが表示される。
【００８５】
図１３は、一時退避領域表示更新サブルーチン（ステップＳ２６０；図８）の詳細を示すフローチャートである。一時退避領域表示更新サブルーチンは、ＵｎＵｓｅＬｉｓｔについて処理を行う点以外は実質的にペア表示領域表示更新サブルーチンと同じであり、同一または対応する処理にはステップ数に２０を加算して示し、詳細を省く。
【００８６】
一時退避領域表示更新サブルーチンにおいては、ＵｎＵｓｅＬｉｓｔの各要素に対応するオブジェクトが、要素番号順に一時退避領域ＴＭＰＡに表示されるが、このときＵｎＵｓｅＳｅｌＮｕｍに一致するオブジェクトは反転表示され、逸れ以外は通常に表示される。一時退避領域ＴＭＰＡにおいてオブジェクトが指定されていない場合にはＵｎＵｓｅＳｅｌＮｕｍは０であり、何れのオブジェクトも反転表示されない。
【００８７】
具体例をあげて説明すると、画像ＩＭ１〜１１が読み込まれて、初めて左右画像決定サブルーチン（ステップＳ２１０）が実行された場合には、まずペア数ｉｍａｘは５に定められる。そして仮のペアｉ(=1)の画像ＩＭ１およびＩＭ２について、画像ＩＭ１が右画像に画像ＩＭ２が左画像に判定されて、ＴｈｕｍｂｎａｉｌＬｉｓｔにおいてＵｓｅＬｉｓｔ要素番号は、［２］、［１］の順に格納される。
【００８８】
これにより、ＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号（１）に対応した画像名は「ＩＭ２」、要素番号（２）に対応した画像名は「ＩＭ１」となり、ペア表示領域ＧＤＡの一番上の左画像表示領域ＬＤＡにオブジェクトＯＢ２を、右画像表示領域ＲＤＡにオブジェクトＯＢ１を表示することができる。
【００８９】
続いて、ペア２〜５について上述の処理が繰り返し行われ、ペア２、ペア３およびペア４についてはＵｓｅＬｉｓｔ要素番号の順番は逆になり、それぞれ［４］および［３］、［６］および［５］、［８］および［７］の順に格納され、ペア５についてはそのまま［９］および［１０］の順で格納される。そしてペアとならない「画像ＩＭ１１」即ちＵｓｅＬｉｓｔ要素番号［１１］については、ＴｈｕｍｂｎａｉｌＬｉｓｔの１１番目に格納される。
【００９０】
左右画像決定サブルーチンの実行の結果、ＴｈｕｍｂｎａｉｌＬｉｓｔの要素であるＵｓｅＬｉｓｔ要素番号は図１０（ｂ）に示すように、先頭から順に［２］［１］［４］［３］［６］［５］［８］［７］［９］［１０］［１１］となり、対応する画像名の順番は「ＩＭ２」「ＩＭ１」「ＩＭ４」「ＩＭ３」「ＩＭ６」「ＩＭ５」「ＩＭ８」「ＩＭ７」「ＩＭ９」「ＩＭ１０」「ＩＭ１１」となる。
【００９１】
そして、ペア表示領域表示更新サブルーチン（ステップＳ２４０）および一時退避領域表示更新サブルーチン（ステップＳ２６０）が順に実行されることにより、図６に示す初期画面においてペア表示領域ＧＤＡにＴｈｕｍｂｎａｉｌＬｉｓｔのＵｓｅＬｉｓｔ要素番号順にオブジェクトＯＢ１〜１１が表示され、一時退避領域ＴＭＰＡには何も表示されない。このとき、ＵｓｅＳｅｌＮｕｍおよびＵｎＵｓｅＳｅｌＮｕｍは初期値０であり、何れの画像も反転表示されない。
【００９２】
図１４は、第１の分岐サブルーチンＥ（ステップＳ３００；図９）の詳細を示すフローチャートである。第１の分岐サブルーチンＥは、完了ボタンＣＩＢがクリックされたときに実行される。
【００９３】
ステップＳ３０２では、ペア数を示すパラメータｉｍａｘにはＵｓｅＬｉｓｔの要素数を２で割った商が代入され、ループカウンタｉには初期値１が代入される。ステップＳ３０４はループカウンタｉがｉｍａｘ以下か否かが判定され、ｉｍａｘ以下であればステップＳ３０６が実行される。即ち、ステップＳ３０６はペア数ｉｍａｘの回数分だけ繰り返し実行される。ｉｍａｘより大きければ第１の分岐サブルーチンＥが終了する。
【００９４】
ステップＳ３０６では、現在表示されているペアの組合せが正しいものとして、ＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号（２×ｉ−１）に対応するＵｓｅＬｉｓｔ要素番号および画像名が左画像、ＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号（２×ｉ）に対応するＵｓｅＬｉｓｔ要素番号および画像名が右画像として特定され、これらがｉ番目のペアとして確定される。
【００９５】
図１５は、第２の分岐サブルーチンＡ１（ステップＳ４００；図９）における処理を示す。第２の分岐サブルーチンＡ１は、ペア表示領域ＧＤＡがクリックされた場合に実行される。
【００９６】
ステップＳ４０２において、クリック場所がペア表示領域ＧＤＡのいずれか１個のオブジェクトスコープ内であると判定されればそのオブジェクトが指定されたとみなされ、ステップＳ４０４において指定されたオブジェクトに対応するＴｈｕｍｂｎａｉｌＬｉｓｔ要素番号がパラメータＳｅｌＴｈｕｍｂｎａｉｌＮｕｍに代入される。
【００９７】
さらにステップＳ４０６において、ＴｈｕｍｂｎａｉｌＬｉｓｔの要素番号がＳｅｌＴｈｕｍｂｎａｉｌＮｕｍに一致する要素、即ち指定されたオブジェクトに対応するＵｓｅＬｉｓｔ要素番号がＵｓｅＳｅｌＮｕｍに登録されて終了する。ステップＳ４０２においてクリック場所がオブジェクトスコープ内でなかったと判定されるとステップＳ４０２は実行されず、何れの要素番号もＵｓｅＳｅｌＮｕｍに登録されずに終了する。
【００９８】
図１６は、第３の分岐サブルーチンＡ２（ステップＳ５００；図９）の詳細を示すフローチャートである。第３の分岐サブルーチンＡ２は一時退避表示領域ＴＭＰＡがクリックされたときに実行される。
【００９９】
ステップＳ５０２では、クリック場所がいずれか１個のオブジェクトスコープ内か否か、即ち一時退避表示領域ＴＭＰＡ内のオブジェクトの１つが指定されたか否かが判定される。オブジェクトスコープ内であると判定されれば、そのオブジェクトが指定されたとみなされてステップＳ５０４が実行され、指定されたオブジェクトに対応したＵｎＵｓｅＬｉｓｔ要素番号がＵｎＵｓｅＳｅｌＮｕｍに登録されて終了する。一方、ステップＳ５０２においてクリック場所がオブジェクトスコープ内でなかったと判定されると、ＵｎＵｓｅＳｅｌＮｕｍには何れの要素番号も登録されずに終了する。
【０１００】
図１７は、第４の分岐サブルーチンＢ１（ステップＳ６００；図９）の詳細を示すフローチャートである。第４の分岐Ｂ１サブルーチンは、第１移動ボタンＭＢ１がクリックされたときに実行される。
【０１０１】
ペア表示領域ＧＤＡ内でいずれか１個のオブジェクトが指定されていたとき、即ちステップＳ６０２においてＵｓｅＳｅｌＮｕｍが０でないと判定されるとステップＳ６０４〜ステップＳ６１０が実行される。なお、ステップＳ６０２においてペア表示領域ＧＤＡ内で何れのオブジェクトも指定されていない（ＵｓｅＳｅｌＮｕｍ＝０）と判定された場合には、直ちに終了する。
【０１０２】
詳述すると、ステップＳ６０４においてＵｓｅＬｉｓｔからＵｓｅＳｅｌＮｕｍが示す要素番号に一致する画像名が削除され、ステップＳ６０６において削除された画像名はＵｎＵｓｅＬｉｓｔの末尾に追加される。即ち指定されたオブジェクトは、ペア表示領域ＧＤＡから削除されて一時退避表示領域ＴＭＰＡへ加えられる。
【０１０３】
ここで一時退避表示領域ＴＭＰＡ内のオブジェクトがペア表示領域ＧＤＡ内に移動する可能性が生じるので、ステップＳ６０８において一時退避表示領域ＴＭＰＡで指定されたオブジェクトとして、追加されたオブジェクトに対応する要素番号がＵｎＵｓｅＳｅｌＮｕｍに格納され、ペア表示領域ＧＤＡのオブジェクト指定を解除すべくＵｓｅＳｅｌＮｕｍが初期化される。即ち、ペア表示領域ＧＤＡで指定されたオブジェクトは、一時退避表示領域ＴＭＰＡに退避した後も指定された状態のままである。そして、ステップＳ６１０において第２移動ボタンＭＢ２および第３移動ボタンＭＢ３がイネーブル状態に設定されて終了する。
【０１０４】
図１８は、第５の分岐サブルーチンＢ２（ステップＳ７００；図９）の詳細を示すフローチャートである。第５の分岐サブルーチンＢ２は、クリック場所が第２移動ボタンＭＢ２であったときに実行される。
【０１０５】
ステップＳ７０２においてＵｓｅＳｅｌＮｕｍが０でないと判定され、かつステップＳ７０４においてＵｎＵｓｅＳｅｌＮｕｍが０でないと判定された場合、即ちペア表示領域ＧＤＡ内でいずれか１個のオブジェクトが指定され、なおかつ一時退避表示領域ＴＭＰＡ内でいずれか１個のオブジェクトが指定されていたときには、ステップＳ７０６〜Ｓ７１２が実行される。それ以外の場合、即ちペア表示領域ＧＤＡまたは一時退避表示領域ＴＭＰＡのどちらか一方、あるいは双方ともオブジェクトが指定されていなかったときは、直ちに終了する。
【０１０６】
ステップＳ７０６では、ＵｎＵｓｅＬｉｓｔからＵｎＵｓｅＳｅｌＮｕｍに一致する要素番号の画像名が削除される。そして、ステップＳ７０８では削除された画像名はＵｓｅＬｉｓｔにおいて、ＵｓｅＳｅｌＮｕｍに一致する要素番号の画像名の前に追加される。このように、指定されたオブジェクトは一時退避表示領域ＴＭＰＡから削除され、ペア表示領域ＧＤＡで指定されたオブジェクトの前に追加される。
【０１０７】
以上の処理の結果、一時退避表示領域ＴＭＰＡにオブジェクトが存在しなくなったときは、ステップＳ７１０において第２移動ボタンＭＢ２および第３移動ボタンＭＢ３が再びディスエーブルに設定される。
【０１０８】
そしてステップＳ７１２においてＵｓｅＳｅｌＮｕｍには追加された要素の要素番号が代入され、一時退避表示領域ＴＭＰＡにおけるオブジェクトの指定を解除すべくＵｎＵｓｅＳｅｌＮｕｍが０に初期化され、終了する。即ち、一時退避表示領域ＴＭＰＡで指定されたオブジェクトは、ペア表示領域ＧＤＡに移動した後も指定状態のままである。
【０１０９】
図１９は、第６の分岐サブルーチンＢ３（ステップＳ８００；図９）の詳細を示すフローチャートである。第６の分岐Ｂ３サブルーチンは、クリック場所が第３移動ボタンＭＢ３であったときに実行される。
【０１１０】
始めにステップＳ８０２においてＵｎＵｓｅＳｅｌＮｕｍが０か否かが判定され、ＵｎＵｓｅＳｅｌＮｕｍが０でない、即ち一時退避表示領域ＴＭＰＡ内でいずれか１個のオブジェクトが指定されていると判定された場合にはステップＳ８０４〜Ｓ８１０が実行される。ＵｎＵｓｅＳｅｌＮｕｍが０の場合には直ちに終了する。
【０１１１】
ステップＳ８０４においては、ＵｎＵｓｅＬｉｓｔからＵｎＵｓｅＳｅｌＮｕｍに一致する要素番号の要素、即ち画像名が削除され、ステップＳ８０６において削除された画像名はＵｓｅＬｉｓｔの末尾に追加される。即ち指定されたオブジェクトは、一時退避表示領域ＴＭＰＡから削除されて、ペア表示領域ＧＤＡへ加えられる。
【０１１２】
以上の処理の結果、一時退避表示領域ＴＭＰＡにオブジェクトが存在しなくなったときは、ステップＳ８０８において第２移動ボタンＭＢ２および第３移動ボタンＭＢ３がディスエーブルに設定される。そしてステップＳ８１０が実行されてペア表示領域ＧＤＡにおいて指定されたオブジェクトとして、ＵｓｅＳｅｌＮｕｍに追加された要素の要素番号が代入され、一時退避表示領域ＴＭＰＡのオブジェクトの指定を解除すべくＵｎＵｓｅＳｅｌＮｕｍが０に初期化され、終了する。
【０１１３】
図２０は、第７の分岐サブルーチンＣ（ステップＳ９００；図９）における処理を示す。第７の分岐サブルーチンＣは、中止ボタンＣＳＢがクリックされた場合に実行される。
【０１１４】
ここでは、指定されたオブジェクトの反転表示を解除すべくＵｓｅＳｅｌＮｕｍおよびＵｎＵｓｅＳｅｌＮｕｍが初期化される。即ち、ステップＳ９０２においてＵｓｅＳｅｌＮｕｍに０が代入され、ステップＳ９０４においてＵｎＵｓｅＳｅｌＮｕｍに０が代入される。
【０１１５】
以上のように、ペア編集処理においてはペアの組合せと左右画像の決定とが同時に行われ、測量図作成処理においてペア画像における像点の対応付けが非常に容易になる。また、左右画像の決定が写真測量用画像処理装置において自動的に行われることにより、撮影方向の順番を定めなくてもよく、撮影の自由度が向上する。
【０１１６】
図２１はペア編集処理後に実行される測量図作成処理（ステップＳ１１２；図５）のモニタ画面を概念的に示す図である。モニタ画面には１組のペア画像を表示するための画像表示領域ＩＭＡが設けられ、この画像表示領域ＩＭＡはさらに左画像表示領域ＬＩＡおよびその水平方向右側に並列した右画像表示領域ＲＩＡに分割される。
【０１１７】
図２１においては、左画像表示領域ＬＩＡにはペア１の左画像である画像ＩＭ２が表示され、右画像表示領域ＲＩＡにはペア１の右画像である画像ＩＭ１が表示される。この表示の順番は、ペア編集サブルーチンにより決定されたＵｓｅＬｉｓｔの要素順に基づいており、左画像表示領域ＬＩＡに表示され得る画像は先頭から奇数番目の画像、右画像表示領域ＲＩＡに表示され得る画像は先頭から偶数番目の画像である。なお、第１画像ＩＭ１および第２画像ＩＭ２は測量画像データに含まれるデジタル画素データに基づいて表示される。
【０１１８】
画像表示領域ＩＭＡの上方には画像表示領域ＩＭＡに表示すべきペア画像を選択するためのペア選択タグＰＩＭＴが設けられる。また、画像表示領域ＩＭＡの下側には作図領域ＤＲＡが設けられ、全画像ＩＭ１〜１８に基づいて作図された測量図、具体的には道路の外形ＲＧを示す実線ＬＧが描かれる。測量図は道路を鉛直上方から見た水平面図である。
【０１１９】
このモニタ画面では、画像ＩＭ１およびＩＭ２に共通して写し込まれた測量点ｑが指定され、作図領域ＤＲＡに点表示される。例えば、道路の角の測量点ｑ1 について画像ＩＭ１および画像ＩＭ２上の像点、即ち第１像点ＡＱ11および第２像点ＡＱ12を特定すると、測量点ｑ1 の基準座標が算出されて作図領域ＤＲＡに点表示される。同様に、第１像点ＡＱ11および第２像点ＡＱ12を特定することにより対応する測量点ｑ2 が作図領域ＤＲＡに表示される。なお、２つの像点から測量点の基準座標を算出する方法は公知であり、ここでは説明を省略する。
【０１２０】
モニタ画面の左方にはメニューＭＭが設けられ、種々のコマンドの選択や、測量図のの表示倍率や表示方向等を適宜指定し得る。また作図領域ＤＲＡ内には作図のためのメニューＤＲＭが設けられ、このメニューＤＲＭにおいて描画線の線種や色等が指定される。例えば「直線描画」が指定されている場合、測量点ｑ1 およびｑ2 が連続して指定されると、この２点ｑ1 およびｑ2 を結ぶ直線Ｌ１が自動的に作成され、作図領域ＤＲＡに表示される。
【０１２１】
本実施形態においては、測量図作成処理の前にペア画像における左右画像の決定が行われているので、左画像表示領域ＬＩＡに左画像を、右画像表示領域ＲＩＡに右画像を確実に表示し得る。従って、両画像における像点を見出し易くなり、測量図作成処理に要する時間を大幅に短縮できる。
【０１２２】
【発明の効果】
本発明によれば、写真測量において撮影の自由度を阻害することなく、かつ測量点の指定作業を大幅に効率化し得る。
【図面の簡単な説明】
【図１】本発明に係る写真測量方法の一実施形態における撮影状況を示す概念図である。
【図２】図１に示す撮影状況により得られた画像を示す概念図である。
【図３】図１に示す撮影状況におけるカメラ位置およびターゲットの関係を模式的に示す水平面図である。
【図４】写真測量画像処理装置の全体構成を示すブロック図である。
【図５】写真測量画像処理装置において実行される写真測量用画像処理プログラムのメインルーチンを示すフローチャートである。
【図６】ペア編集処理の初期状態のモニタ画面を示す概念図である。
【図７】ペア編集完了状態のモニタ画面を示す概念図である。
【図８】図５に示すペア編集処理サブルーチンの前半部分を示すフローチャートである。
【図９】図５に示すペア編集処理サブルーチンの後半部分を示すフローチャートである。
【図１０】ペア編集処理におけるリストの変遷を示す表である。
【図１１】図８に示す左右画像決定サブルーチンの詳細を示すフローチャートである。
【図１２】図８に示すペア画像表示領域表示更新サブルーチンの詳細を示すフローチャートである。
【図１３】図８に示す一時退避表示領域表示更新サブルーチンの詳細を示すフローチャートである。
【図１４】図９に示す第１の分岐サブルーチンＥの詳細を示すフローチャートである。
【図１５】図９に示す第２の分岐サブルーチンＡ１の詳細を示すフローチャートである。
【図１６】図９に示す第３の分岐サブルーチンＡ２の詳細を示すフローチャートである。
【図１７】図９に示す第４の分岐サブルーチンＢ１の詳細を示すフローチャートである。
【図１８】図９に示す第５の分岐サブルーチンＢ２の詳細を示すフローチャートである。
【図１９】図９に示す第６の分岐サブルーチンＢ３の詳細を示すフローチャートである。
【図２０】図９に示す第７の分岐サブルーチンＣの詳細を示すフローチャートである。
【図２１】測量図作成処理のモニタ画面を概念的に示す図である。
【符号の説明】
１０  ターゲット
２０  カメラ
２００  写真測量用画像処理装置
２１４  モニタ装置
ＩＭ１〜ＩＭ１１  画像
Ｍ１〜Ｍ１１  カメラ位置
ＬＤＡ、ＬＩＡ  左画像表示領域
ＲＤＡ、ＲＩＡ  右画像表示領域
【図１】
0003766578.tif 000002
【図２】
0003766578.tif 000003
【図３】
0003766578.tif 000004
【図４】
0003766578.tif 000005
【図５】
0003766578.tif 000006
【図６】
0003766578.tif 000007
【図７】
0003766578.tif 000008
【図８】
0003766578.tif 000009
【図９】
0003766578.tif 000010
【図１０】
0003766578.tif 000011
【図１１】
0003766578.tif 000012
【図１２】
0003766578.tif 000013
【図１３】
0003766578.tif 000014
【図１４】
0003766578.tif 000015
【図１５】
0003766578.tif 000016
【図１６】
0003766578.tif 000017
【図１７】
0003766578.tif 000018
【図１８】
0003766578.tif 000019
【図１９】
0003766578.tif 000020
【図２０】
0003766578.tif 000021
【図２１】
0003766578.tif 000022