(57)【要約】【課題】画像の奥行き方向の被写体の傾きをユーザに知らせることができる画像処理装置、内視鏡装置、内視鏡システム、およびプログラムを提供する。【解決手段】ＣＰＵ５０７は、被写体を撮像して得られた映像信号に基づく画像における被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する。続いて、ＣＰＵ５０７は、３点以上の空間座標から被写体の表面を近似する平面を算出する。続いて、ＣＰＵ５０７は、平面上の複数点の空間座標に対応した複数点の画像座標を算出する。続いて、ＣＰＵ５０７は、映像信号に基づく画像において、複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する。【選択図】図３
2010102113.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像して得られた映像信号に基づく画像における前記被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、
前記３点以上の空間座標から前記被写体の表面を近似する平面を算出する平面算出部と、
前記平面上の複数点の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、
前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する表示信号生成部と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記第２の座標算出部は、所定距離だけ離れた２点を含む前記平面上の複数点の空間座標に対応した複数点の画像座標を算出し、
前記表示信号生成部は、前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形を表示すると共に、前記２点の空間座標に対応した画像座標の位置に前記図形の少なくとも一部を表示するための表示信号を生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記平面算出部は、前記３点以上の空間座標から２直線を算出し、当該２直線を含む平面を算出することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記平面算出部はさらに、ユーザからの指示に基づいて、基準に対する前記２直線の角度を設定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第２の座標算出部は、前記平面上の直線上に等間隔に設定した複数点の空間座標を算出し、当該複数点の空間座標に対応した複数点の画像座標を算出することを特徴とする請求項１〜請求項４のいずれかに記載の画像処理装置。
【請求項６】
前記第２の座標算出部はさらに、前記３点以上の空間座標の少なくともいずれかから求まる、結像面から前記被写体までの距離と、前記映像信号に基づく画像上の所定の長さとに基づいて前記複数点の間隔を設定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記第２の座標算出部は、前記平面上の基準点から当該平面上で所定距離だけ離れた複数点の空間座標を算出し、当該複数点の空間座標に対応した複数点の画像座標を算出することを特徴とする請求項１〜請求項４のいずれかに記載の画像処理装置。
【請求項８】
前記第２の座標算出部はさらに、前記３点以上の空間座標の少なくともいずれかから求まる、前記内視鏡の結像面から前記被写体までの距離と、前記映像信号に基づく画像上の所定の長さとに基づいて前記所定距離を設定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記第１の座標算出部はさらに、ユーザからの指示に基づいて前記３点以上の画像座標の間隔を設定することを特徴とする請求項１〜請求項８のいずれかに記載の画像処理装置。
【請求項１０】
前記第１の座標算出部はさらに、前記映像信号に基づく画像における前記被写体上の画像座標に対応した空間座標から求まる、前記内視鏡の結像面から前記被写体までの距離に基づいて前記３点以上の画像座標の間隔を設定することを特徴とする請求項１〜請求項８のいずれかに記載の画像処理装置。
【請求項１１】
被写体を撮像し撮像信号を生成する電子内視鏡と、
前記撮像信号に基づいて映像信号を生成する映像信号生成部と、
前記映像信号に基づく画像における前記被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、
前記３点以上の空間座標から前記被写体の表面を近似する平面を算出する平面算出部と、
前記平面上の複数点の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、
前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する表示信号生成部と、
を備えたことを特徴とする内視鏡装置。
【請求項１２】
内視鏡装置および画像処理装置を備えた内視鏡システムであって、
前記内視鏡装置は、
被写体を撮像し撮像信号を生成する電子内視鏡と、
前記撮像信号に基づいて映像信号を生成する映像信号生成部と、
前記映像信号を外部へ送信する送信部と、を有し、
前記画像処理装置は、
前記映像信号を受信する受信部と、
前記映像信号に基づく画像における前記被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、
前記３点以上の空間座標から前記被写体の表面を近似する平面を算出する平面算出部と、
前記平面上の複数点の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、
前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する表示信号生成部と、を有する
ことを特徴とする内視鏡システム。
【請求項１３】
被写体を撮像して得られた映像信号に基づく画像における前記被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、
前記３点以上の空間座標から前記被写体の表面を近似する平面を算出する平面算出部と、
前記平面上の複数点の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、
前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する表示信号生成部と、
としてコンピュータを機能させるためのプログラム。
【請求項１４】
被写体を撮像し撮像信号を生成する電子内視鏡と、
前記撮像信号に基づいて映像信号を生成する映像信号生成部と、
前記映像信号に基づく画像における前記被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、
前記３点以上の空間座標から前記被写体の表面を近似する平面を算出する平面算出部と、
前記平面上の複数点の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、
前記映像信号に基づく画像を表示すると共に、前記複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する表示信号生成部と、
として内視鏡装置を機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体を撮像して得られた映像信号を処理する画像処理装置、内視鏡装置、内視鏡システム、およびプログラムに関する。
【背景技術】
【０００２】
工業用内視鏡は、ボイラー、タービン、エンジン、化学プラント、水道配管等の内部の傷や腐食等の観察や検査に使用されている。工業用内視鏡では、多様な観察物を観察および検査することができるようにするため、複数種類の光学アダプタが用意されており、内視鏡の先端部分は交換可能となっている。
【０００３】
上記の光学アダプタとして、観察光学系が左右２つの視野を形成するステレオ光学アダプタがある。特許文献１には、ステレオ光学アダプタを使用し、被写体像を左右の光学系で捉えたときの左右の光学系測距点の座標に基づいて、三角測量の原理を使用して被写体の三次元空間座標を求め、ライブ状態の撮影画像から被写体距離をリアルタイムでユーザに提供する内視鏡装置が記載されている。
【特許文献１】特開２００６−１３６７０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載された内視鏡装置では、ユーザが被写体距離を知ることはできるが、実際に被写体の詳細な計測を行うまで、画像の奥行き方向の被写体の傾き（画像内で手前の方にある被写体の部分と奥の方にある被写体の部分とがなす空間的な傾き）は分からなかった。また、被写体の大きさも分からなかった。
【０００５】
本発明は、上述した課題に鑑みてなされたものであって、画像の奥行き方向の被写体の傾きをユーザに知らせることができる画像処理装置、内視鏡装置、内視鏡システム、およびプログラムを提供することを第１の目的とする。また、本発明は、画像の奥行き方向の被写体の傾きと共に被写体の大きさをユーザに知らせることができる画像処理装置、内視鏡装置、内視鏡システム、およびプログラムを提供することを第２の目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するためになされたもので、被写体を撮像して得られた映像信号に基づく画像における前記被写体上の３点（後述するサンプル点に対応）以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、前記３点以上の空間座標から前記被写体の表面を近似する平面（後述するゲージ平面に対応）を算出する平面算出部と、前記平面上の複数点（後述するゲージ目盛り点、ゲージ周囲点に対応）の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形（後述するゲージに対応）を表示するための表示信号を生成する表示信号生成部と、を備えたことを特徴とする画像処理装置である。
【０００７】
また、本発明の画像処理装置において、前記第２の座標算出部は、所定距離だけ離れた２点を含む前記平面上の複数点の空間座標に対応した複数点の画像座標を算出し、前記表示信号生成部は、前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形を表示すると共に、前記２点の空間座標に対応した画像座標の位置に前記図形の少なくとも一部を表示するための表示信号を生成することを特徴とする。
【０００８】
また、本発明の画像処理装置において、前記平面算出部は、前記３点以上の空間座標から２直線を算出し、当該２直線を含む平面を算出することを特徴とする。
【０００９】
また、本発明の画像処理装置において、前記平面算出部はさらに、ユーザからの指示に基づいて、基準に対する前記２直線の角度を設定することを特徴とする。
【００１０】
また、本発明の画像処理装置において、前記第２の座標算出部は、前記平面上の直線上に等間隔に設定した複数点（後述するゲージ目盛り点に対応）の空間座標を算出し、当該複数点の空間座標に対応した複数点の画像座標を算出することを特徴とする。
【００１１】
また、本発明の画像処理装置において、前記第２の座標算出部はさらに、前記３点以上の空間座標の少なくともいずれかから求まる、結像面から前記被写体までの距離と、前記映像信号に基づく画像上の所定の長さとに基づいて前記複数点の間隔を設定することを特徴とする。
【００１２】
また、本発明の画像処理装置において、前記第２の座標算出部は、前記平面上の基準点（後述する計測点に対応）から当該平面上で所定距離だけ離れた複数点（後述するゲージ周囲点）の空間座標を算出し、当該複数点の空間座標に対応した複数点の画像座標を算出することを特徴とする。
【００１３】
また、本発明の画像処理装置において、前記第２の座標算出部はさらに、前記３点以上の空間座標の少なくともいずれかから求まる、前記内視鏡の結像面から前記被写体までの距離と、前記映像信号に基づく画像上の所定の長さとに基づいて前記所定距離を設定することを特徴とする。
【００１４】
また、本発明の画像処理装置において、前記第１の座標算出部はさらに、ユーザからの指示に基づいて前記３点以上の画像座標の間隔を設定することを特徴とする。
【００１５】
また、本発明の画像処理装置において、前記第１の座標算出部はさらに、前記映像信号に基づく画像における前記被写体上の画像座標に対応した空間座標から求まる、前記内視鏡の結像面から前記被写体までの距離に基づいて前記３点以上の画像座標の間隔を設定することを特徴とする。
【００１６】
また、本発明は、被写体を撮像し撮像信号を生成する電子内視鏡と、前記撮像信号に基づいて映像信号を生成する映像信号生成部と、前記映像信号に基づく画像における前記被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、前記３点以上の空間座標から前記被写体の表面を近似する平面を算出する平面算出部と、前記平面上の複数点の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する表示信号生成部と、を備えたことを特徴とする内視鏡装置である。
【００１７】
また、本発明は、内視鏡装置および画像処理装置を備えた内視鏡システムであって、前記内視鏡装置は、被写体を撮像し撮像信号を生成する電子内視鏡と、前記撮像信号に基づいて映像信号を生成する映像信号生成部と、前記映像信号を外部へ送信する送信部と、を有し、前記画像処理装置は、前記映像信号を受信する受信部と、前記映像信号に基づく画像における前記被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、前記３点以上の空間座標から前記被写体の表面を近似する平面を算出する平面算出部と、前記平面上の複数点の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する表示信号生成部と、を有することを特徴とする内視鏡システムである。
【００１８】
また、本発明は、被写体を撮像して得られた映像信号に基づく画像における前記被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、前記３点以上の空間座標から前記被写体の表面を近似する平面を算出する平面算出部と、前記平面上の複数点の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、前記映像信号に基づく画像において、前記複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する表示信号生成部と、としてコンピュータを機能させるためのプログラムである。
【００１９】
また、本発明は、被写体を撮像し撮像信号を生成する電子内視鏡と、前記撮像信号に基づいて映像信号を生成する映像信号生成部と、前記映像信号に基づく画像における前記被写体上の３点以上の画像座標に対応した３点以上の空間座標を算出する第１の座標算出部と、前記３点以上の空間座標から前記被写体の表面を近似する平面を算出する平面算出部と、前記平面上の複数点の空間座標に対応した複数点の画像座標を算出する第２の座標算出部と、前記映像信号に基づく画像を表示すると共に、前記複数点の画像座標で決まる位置に図形を表示するための表示信号を生成する表示信号生成部と、として内視鏡装置を機能させるためのプログラムである。
【００２０】
上記において、括弧で括った部分の記述は、後述する本発明の実施形態と本発明の構成要素とを便宜的に対応付けるためのものであり、この記述によって本発明の内容が限定されるわけではない。
【発明の効果】
【００２１】
本発明によれば、被写体の表面を近似する平面上の複数点の空間座標に対応した複数点の画像座標で決まる位置に図形を表示するための表示信号が生成される。この図形の形状は、画像の奥行き方向の被写体の傾きを反映したものとなるので、画像の奥行き方向の被写体の傾きをユーザに知らせることができる。
【００２２】
また、本発明によれば、所定距離だけ離れた２点の空間座標に対応した画像座標の位置に図形を表示するための表示信号が生成される。この図形から把握される２点間の距離が被写体の大きさの基準となるので、被写体の大きさをユーザに知らせることができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照し、本発明の実施形態を説明する。図１は、本実施形態による内視鏡システムの全体構成を示している。本内視鏡システムは、内視鏡装置１と、それに搭載された挿入部２と、タービンブレード等の計測対象物３と、通信回線であるネットワーク４（ＬＡＮやインターネット等）と、情報通信端末であるＰＣ（パーソナルコンピュータ）５とから構成されている。
【００２４】
本内視鏡システムによれば、挿入部２において撮像された計測対象物（被写体）の画像（以下、内視鏡画像とする）を、ネットワーク４を介して、ＰＣ５に受信させることができる。さらに、ＰＣ５に記憶されたソフトウェアを使用することで、ユーザは、受信した内視鏡画像をリアルタイムで閲覧することができ、さらにその内視鏡画像に対してゲージ計測を行うことができる。ゲージ計測とは、ステレオ計測と呼ばれる３次元計測機能を応用して、計測対象物の３次元の傾きや大きさを示すゲージ（定規）を画像上に重畳表示した状態で、ユーザがそのゲージを参照して計測対象物のサイズを測る機能のことである。ゲージ計測の詳細については、後述する。
【００２５】
以下、内視鏡装置１およびＰＣ５の構成を説明する。まず、内視鏡装置１の構成を説明する。
【００２６】
図２は、本実施形態による内視鏡装置１の構成を示している。図２に示すように、内視鏡装置１は、挿入部２と、光学アダプタ１１ａ，１１ｂ，１１ｃと、コントロールユニット１０１と、リモートコントローラ１０２（入力部）と、液晶モニタ１０３と、内視鏡ユニット１０４と、ＣＣＵ（カメラコントロールユニット）１０５と、制御ユニット１０６とから構成されている。
【００２７】
細長の挿入部２は、計測対象物を撮像し撮像信号を生成する電子内視鏡を構成している。挿入部２は、先端側から順に、硬質な先端部２１と、例えば上下左右に湾曲可能な湾曲部２２と、柔軟性を有する可撓管部２３とを連設して構成されている。挿入部２の基端部は内視鏡ユニット１０４に接続されている。先端部２１は、観察視野を２つ有するステレオ用の光学アダプタ１１ａ，１１ｂ（以下、ステレオ光学アダプタと記載）あるいは観察視野が１つだけの通常観察光学アダプタ１１ｃ等、各種の光学アダプタが例えば螺合によって着脱自在な構成になっている。
【００２８】
コントロールユニット１０１は、内視鏡ユニット１０４と、ＣＣＵ１０５と、制御ユニット１０６とを内部に備えている。内視鏡ユニット１０４は、観察時に必要な照明光を供給する光源装置と、挿入部２を構成する湾曲部２２を湾曲させる湾曲装置とを備えている。ＣＣＵ１０５は、挿入部２の先端部２１に内蔵されている固体撮像素子２ａから出力された撮像信号を入力し、これをＮＴＳＣ信号等の映像信号に変換して制御ユニット１０６に供給する。
【００２９】
制御ユニット１０６は、音声信号処理回路１０７と、映像信号処理回路１０８と、ＲＯＭ１０９と、ＲＡＭ１１０と、ＰＣカードＩ／Ｆ（ＰＣカードインターフェース）１１１と、ＵＳＢ Ｉ／Ｆ（ＵＳＢインターフェース）１１２と、ＲＳ−２３２Ｃ Ｉ／Ｆ（ＲＳ−２３２Ｃインターフェース）１１３と、計測処理部１１４と、ネットワークＩ／Ｆ（ネットワークインターフェース）１１５と、ＥＥＰＲＯＭ１１６とから構成されている。
【００３０】
マイク３４によって集音された音声信号や、メモリカード等の記録媒体を再生して得られる音声信号、あるいは計測処理部１１４によって生成された音声信号が音声信号処理回路１０７に供給される。映像信号処理回路１０８は、ＣＣＵ１０５から供給された内視鏡画像とグラフィックによる操作メニューとを合成した合成画像を表示するために、ＣＣＵ１０５からの映像信号を、計測処理部１１４の制御により生成される操作メニュー等のためのグラフィック画像信号と合成する処理を行う。また、映像信号処理回路１０８は、液晶モニタ１０３の画面上に映像を表示するために合成後の映像信号に所定の処理を施して液晶モニタ１０３に供給する。
【００３１】
ＰＣカードＩ／Ｆ１１１は、ＰＣＭＣＩＡメモリカード３２やフラッシュメモリカード３３等のメモリカード（記録媒体）を自由に着脱できるようになっている。メモリカードを装着することにより、計測処理部１１４の制御に従って、このメモリカードに記憶されている制御処理情報や、画像情報、各種光学アダプタの光学情報である光学データ等を取り込んだり、制御処理情報や、画像情報、光学データ等をメモリカードに記録したりすることができる。
【００３２】
ＵＳＢ Ｉ／Ｆ１１２は、コントロールユニット１０１とＰＣ３１とを電気的に接続するためのインターフェースである。このＵＳＢ Ｉ／Ｆ１１２を介してコントロールユニット１０１とＰＣ３１とを電気的に接続することにより、ＰＣ３１側で内視鏡画像の表示の指示や計測時における画像処理等の各種の制御指示を行うことが可能となる。また、コントロールユニット１０１とＰＣ３１との間で各種の処理情報やデータを入出力することが可能となる。
【００３３】
ＲＳ−２３２Ｃ  Ｉ／Ｆ１１３には、ＣＣＵ１０５および内視鏡ユニット１０４が接続されると共に、これらＣＣＵ１０５や内視鏡ユニット１０４等の制御および動作指示を行うリモートコントローラ１０２が接続されている。ユーザがリモートコントローラ１０２を操作すると、その操作内容に基づいて、ＣＣＵ１０５および内視鏡ユニット１０４を動作制御する際に必要な通信が行われる。
【００３４】
計測処理部１１４は、ＲＯＭ１０９に格納されているプログラムを実行することによって、映像信号処理回路１０８から映像信号を取り込み、映像信号に基づいて計測処理を実行する。ＲＡＭ１１０は、計測処理部１１４によって、データの一時格納用の作業領域として使用される。
【００３５】
ネットワークＩ／Ｆ１１５は、ネットワーク４と有線または無線で接続し、ネットワーク通信を行うためのインターフェースである。ネットワークＩ／Ｆ１１５がネットワーク４と有線で接続する場合、ネットワークＩ／Ｆ１１５に設けられたコネクタにネットワークケーブル（ＬＡＮケーブルやインターネットケーブル等）を接続することによって、ネットワーク通信を行うことが可能となる。また、ネットワークＩ／Ｆ１１５がネットワーク４と無線で接続する場合は、ネットワークＩ／Ｆ１１５に設けられたアンテナ（無線ＬＡＮ等）によって、ネットワーク通信を行うことが可能となる。このネットワーク４を介して、ネットワークＩ／Ｆ１１５と、後述するＰＣ５のネットワークＩ／Ｆとを接続することにより、内視鏡装置１とＰＣ５との間でネットワーク通信が可能となり、各種データを送受信することができる。
【００３６】
内視鏡装置１とＰＣ５との間で送受信されるデータとして、ネットワークアドレス、環境データ、画像データの３種類がある。ネットワークアドレスは、内視鏡装置ごとに割り当てられた固有のアドレスであり、文字列データとしてＥＥＰＲＯＭ１１６に記憶されている。内視鏡装置１は、ＰＣ５からネットワーク接続要求を受信すると、そのネットワーク接続要求に含まれるネットワークアドレスが、ＥＥＰＲＯＭ１１６に記憶されたネットワークアドレスと一致しているか否かを確認し、さらにその応答として、接続が正常に行われたかどうかをＰＣ５に対して送信する。
【００３７】
環境データは、ステレオ計測を行う際に使用するデータであり、ステレオ光学アダプタの光学的歪みを補正するためのデータ等が含まれる。環境データは、特開２００１−２７５９３４号公報に記載されているものと同様である。環境データもネットワークアドレスと同様にＥＥＰＲＯＭ１１６に記憶されている。内視鏡装置１は、ＰＣ５からの環境データ送信要求を受信すると、その応答として、ＥＥＰＲＯＭ１１６に記憶された環境データをＰＣ５に送信する。
【００３８】
画像データは、映像情報処理回路１０８から供給される１フレーム分の映像信号のデータである。内視鏡装置１は、ＰＣ５からの画像データ送信要求を受信すると、その応答として、映像情報処理回路１０８から供給される画像データをＰＣ５に送信する。
【００３９】
次に、ＰＣ５の構成を説明する。図３はＰＣ５の構成を示している。ＰＣ５は、ＰＣ本体５０１と、モニタ５０２と、キーボードやマウス等の操作部５０３とから構成されている。ＰＣ本体５０１には制御用コンピュータ５０４が内蔵されている。制御用コンピュータ５０４は、ＲＡＭ５０５と、ＨＤＤ５０６と、ＣＰＵ５０７と、ネットワークＩ／Ｆ（ネットワークインターフェース）５０８と、ＵＳＢ  Ｉ／Ｆ５０９とから構成されている。
【００４０】
ＲＡＭ５０５は、ソフトウェア動作に必要な画像情報等のデータを一時記憶するために使用される。ＨＤＤ５０６には、ＰＣ５を制御するための一連のソフトウェア（プログラム）が記憶されており、後述するネットワーク計測ソフトもＨＤＤ５０６内に記憶される。ＣＰＵ５０７は、ＨＤＤ５０６に記憶されているソフトウェアの命令コードに従って、ＲＡＭ５０５に記憶されたデータを用いて各種制御のための演算等を実行する。
【００４１】
ネットワークＩ／Ｆ５０８は、通信回線であるネットワーク４と有線または無線で接続し、ネットワーク通信を行うためのインターフェースである。ネットワークＩ／Ｆ５０８がネットワーク４と有線で接続する場合、ネットワークＩ／Ｆ５０８に設けられたコネクタにネットワークケーブル（ＬＡＮケーブルやインターネットケーブル等）を接続することによって、ネットワーク通信を行うことが可能となる。また、ネットワークＩ／Ｆ５０８がネットワーク４と無線で接続する場合は、ネットワークＩ／Ｆ５０８に設けられたアンテナ（無線ＬＡＮ等）によって、ネットワーク通信を行うことが可能となる。このネットワーク４を介して、ネットワークＩ／Ｆ５０８と内視鏡装置１のネットワークＩ／Ｆ１１５とを接続することにより、内視鏡装置１から送信された、映像信号を構成する各フレームの画像データをＰＣ５で受信し、ＰＣ５に入力することができる。
【００４２】
ＵＳＢ Ｉ／Ｆ５０９は、ＰＣ本体５０１と操作部５０３とを電気的に接続するためのインターフェースである。ユーザが操作部５０３を操作すると、操作結果に応じた信号がＵＳＢ  Ｉ／Ｆ５０９を介してＣＰＵ５０７に入力される。ＣＰＵ５０７は、この信号に基づいてＰＣ５の各種制御を実行する。
【００４３】
上述したように、ＰＣ５のＨＤＤ５０５には、ネットワーク計測ソフトが記憶されている。ネットワーク計測ソフトをＰＣ５で動作させることにより、ネットワーク４を介して内視鏡装置１から順次画像データを受信して画像を表示し、さらにその画像データに対して後述するゲージ計測を行うことができる。
【００４４】
次に、ネットワーク計測ソフトの画面および動作について説明する。まず、ネットワーク計測ソフトのメインウィンドウおよびそのＧＵＩ（グラフィカルユーザインターフェース）について説明する。
【００４５】
図４は、ネットワーク計測ソフトのメインウィンドウを示している。ユーザがネットワーク計測ソフトを起動すると、図４に示すメインウィンドウ４００が表示される。メインウィンドウ４００の表示は、ＣＰＵ５０７による制御に従って行われる。ＣＰＵ５０７は、メインウィンドウ４００を表示するためのグラフィック画像信号（表示信号）を生成し、モニタ５０２へ出力する。また、内視鏡装置１で撮像された計測対象物の画像をメインウィンドウ４００上に重畳表示する場合には、ＣＰＵ５０７は、内視鏡装置１から受信した画像データをグラフィック画像信号に重畳する処理を行い、処理後の信号をモニタ５０２へ出力する。
【００４６】
ユーザは、ＧＵＩ機能を利用して、操作部５０３を介してメインウィンドウ４００を操作することにより、内視鏡画像の閲覧やゲージ計測を行うことができる。以下、各ＧＵＩ機能を説明する。
【００４７】
メインウィンドウ４００の上部には、複数のツールボタン４０１が並んで配置されている。ツールボタン４０１は、ネットワーク計測ソフトの各種操作を行うためのボタンである。各ボタンの説明は以下の通りである。
【００４８】
ボタン４０１ａ（以下、[Live]ボタンもしくは[Freeze]ボタンと記載）は、内視鏡装置１とネットワーク接続を行い、さらに、内視鏡装置１に対して画像データの送信要求を行って画像データを受信し、受信した画像データを後述するピクチャボックス４０４に表示するためのボタンである。[Live]ボタンが押下されると、内視鏡装置１から受信した画像データが順次ピクチャボックス４０４に表示され、ユーザはその画像を閲覧することができる。その際、[Live]ボタンの表示は[Freeze]ボタンに切り替わる。[Live]ボタンおよび[Freeze]ボタンが押下された時のネットワーク計測ソフトによる動作の詳細については、後述する。
【００４９】
ボタン４０１ｂ（以下、[Stereo-On]ボタンもしくは[Stereo-Off]ボタンと記載）は、内視鏡装置１に対して環境データの送信要求を行って環境データを受信し、さらに、受信した環境データおよび画像データに基づいてゲージ計測を行うためのボタンである。[Stereo-On]ボタンが押下されると、ピクチャボックス４０４に表示された画像に対して、ユーザはゲージ計測を行うことができる。その際、[Stereo-On]ボタンの表示は[Stereo-Off]ボタンに切り替わる。[Stereo-On]ボタンおよび[Stereo-Off]ボタンが押下された時のネットワーク計測ソフトによる動作の詳細については、後述する。
【００５０】
ボタン４０１ｃ（以下、[Snap]ボタンと記載）は、受信した環境データおよび画像データを用いて、ステレオ計測用画像ファイル（以下、計測ファイルと記載）を作成し、ＰＣ５のＨＤＤ５０６に記録するためのボタンである。[Snap]ボタンが押下されると、計測ファイルが所定のフォルダに所定のファイル名および拡張子で保存される。[Snap]ボタンが押下された時のネットワーク計測ソフトによる動作の詳細説明については、省略する。
【００５１】
ボタン４０１ｄ（以下、[Image File]ボタンと記載）は、ＰＣ５のＨＤＤ５０６に記録された計測ファイルを開くためのボタンである。[Image File]ボタンが押下されると、図示しないファイルオープンダイアログが開く。そして、このファイルオープンダイアログにおいて、開きたい計測ファイルをユーザが選択すると、計測ファイルの画像がピクチャボックス４０４に表示され、ユーザはその画像に対してステレオ計測を行うことができる。[Image File]ボタンが押下された時のネットワーク計測ソフトによる動作の詳細説明については、省略する。
【００５２】
ボタン４０１ｅ（以下、[Tool]ボタンと記載）は、ネットワーク計測ソフトの各種設定を行うためのボタンである。[Tool]ボタンが押下されると、図示しない設定ダイアログが開く。そして、この設定ダイアログにおいてユーザは、ネットワークの通信条件や、計測ファイルの保存フォルダ、ファイル名、拡張子等を設定することができる。[Tool]ボタンが押下された時のネットワーク計測ソフトによる動作の詳細説明については、省略する。
【００５３】
メインウィンドウ４００の右上部には、ステータスボックス４０２が配置されている。ステータスボックス４０２は、ネットワーク計測ソフトのステータスを表示するためのボックスである。表示されるステータスの内容、および表示が切り替わるタイミングについては、後述する。
【００５４】
ツールボタン４０１の下には、アドレスボックス４０３が配置されている。アドレスボックス４０３は、内視鏡装置１のネットワークアドレスを入力するためのボックスである。アドレスボックス４０３に入力されたネットワークアドレスは、内視鏡装置１とネットワーク接続を行う際に使用される。
【００５５】
アドレスボックス４０３の下には、ピクチャボックス４０４が配置されている。ピクチャボックス４０４は、内視鏡装置１から受信した画像データを順次表示するためのボックスであり、ユーザはその画像を閲覧することができる。また、ユーザはピクチャボックス４０４上にカーソル４０５を移動させることにより、ステレオ計測およびゲージ計測を行うことができる。
【００５６】
ネットワーク計測ソフトのステータスが、後述するライブ-ステレオ状態もしくはフリーズ-ステレオ状態であるとき、ピクチャボックス４０４に表示された画像４０６上に、計測領域４０７、計測アイコン４０８、マッチングアイコン４０９、およびゲージ４１０が重畳表示される。画像４０６は、ステレオ光学アダプタを通して結像された２つの被写体像に対応した左右２つの画像で構成される。以下では、左側に表示される画像を左画像と記載し、右側に表示される画像を右画像と記載する。計測領域４０７は、画像４０６内においてステレオ計測を行うことが可能な領域であり、左右一対の矩形線で表示される。計測領域４０７の大きさ等の情報は環境データに記録されている。以下では、左画像上の計測領域を左側計測領域と記載し、右画像上の計測領域を右側計測領域と記載する。
【００５７】
計測アイコン４０８は、カーソル４０５が示す左側計測領域内の位置と同じ位置に×印で表示されるアイコンである。マッチングアイコン４０９は、右側計測領域内のマッチング点（左画像上のカーソル４０５が示す位置に対応する右画像上の点）の位置に×印で表示されるアイコンである。
【００５８】
ゲージ４１０は、カーソル４０５が左側計測領域内にある場合に、カーソル４０５の周囲に表示される円状の３次元定規のことである。ユーザはこのゲージ４１０を用いて、計測対象物のサイズを測ることができる。ゲージ４１０は、カーソル４０５の上下左右に並んで表示されるゲージ目盛り線４１０ａと、カーソル４０５の周囲に表示されるゲージ周囲線４１０ｂとから構成される。ゲージ４１０は、直線、線分、折れ線、曲線、円、楕円等を１または複数有する図形であればよく、その表示形態は本実施形態に限定されない。ゲージ４１０の算出方法および表示の詳細については、後述する。
【００５９】
ピクチャボックス４０４の左下には、カーソル座標ボックス４１１が配置されている。カーソル座標ボックス４１１は、カーソル４０５が示す座標を表示するためのボックスである。カーソル４０５がピクチャボックス４０４内にある場合に、カーソル４０５が示す位置のＸ座標とＹ座標（以下、カーソル座標と記載）がカーソル座標ボックス４１１にピクセル単位で表示される。さらに、ユーザがカーソル４０５を移動させると、カーソル座標ボックス４１１のカーソル座標がリアルタイムに更新される。カーソル座標の表示に関する、ネットワーク計測ソフトによる動作の詳細説明については、省略する。
【００６０】
ピクチャボックス４０４の右下には、フレームレートボックス４１２が配置されている。フレームレートボックス４１２は、フレームレートを表示するためのボックスである。ネットワーク計測ソフトのステータスがライブ状態である場合に、ピクチャボックス４０４に表示された画像のフレームレートがfps（frame per sec）単位でフレームレートボックス４１２に表示される。さらに、フレームレートボックス４１２に表示されたフレームレートはリアルタイムに更新される。フレームレートの算出およびフレームレートの表示に関する、ネットワーク計測ソフトによる動作の詳細説明については、省略する。
【００６１】
メインウィンドウ４００の右上部には、対象物距離ボックス４１３が配置されている。対象物距離ボックス４１３は、挿入部２の先端の固体撮像素子２ａの結像面から計測対象物までの距離を表示するためのボックスである。カーソル４０５が左側計測領域内にある場合に、カーソル４０５の示す位置における計測対象物の奥行き方向の距離が対象物距離として対象物距離ボックス４１３に表示される。対象物距離は、ステレオ計測を行うことによって算出される。さらに、ユーザがカーソル４０５を移動させると、対象物距離ボックス４１３の対象物距離がリアルタイムに更新される。対象物距離ボックス４１３の表示内容の詳細については、後述する。
【００６２】
メインウィンドウ４００の右上部には、インジケータ４１４が配置されている。インジケータ４１４の表示は、対象物距離ボックス４１３に表示された対象物距離に応じて、９段階に切り替わる。インジケータ４１４の表示の詳細については、後述する。
【００６３】
メインウィンドウ４００の右部には、ゲージ設定ボックス４１５が配置されている。ゲージ設定ボックス４１５は、ピクチャボックス４０４に表示されるゲージ４１０の各種設定を行うためのボックスである。ゲージ設定ボックス４１５内には、上からゲージイラスト４１６、ゲージ径設定ボックス４１７、およびゲージ目盛り設定ボックス４１８が配置されている。
【００６４】
ゲージ径設定ボックス４１７は、ゲージ４１０のゲージ周囲線４１０ｂの半径を設定するためのボックスである。ゲージ径設定ボックス４１７は、コンボボックス形式となっており、ユーザはマウス操作により、リストから設定項目を選択できるようになっている。ゲージ目盛り設定ボックス４１８は、ゲージ４１０のゲージ目盛り線４１０ａの目盛り間隔を設定するためのボックスである。ゲージ目盛り設定ボックス４１８も、コンボボックス形式となっており、ユーザはマウス操作により、リストから設定項目を選択できるようになっている。
【００６５】
メインウィンドウ４００の右下部には、単位設定ボックス４１９が配置されている。単位設定ボックス４１９は、対象物距離ボックス４１３、ゲージ径設定ボックス４１７、およびゲージ目盛り設定ボックス４１８の表示単位を切り替えるためのボックスである。単位設定ボックス４１９内には、[mm] ラジオボタン４１９ａおよび[inch]ラジオボタン４１９ｂが配置されており、ユーザはこれらのボタンを選択することにより、対象物距離ボックス４１３、ゲージ径設定ボックス４１７、およびゲージ目盛り設定ボックス４１８の表示単位をmmもしくはinchのいずれかに切り替えることができる。
【００６６】
メインウィンドウ４００の右下部には、[Exit]ボタン４２０が配置されている。[Exit]ボタン４２０は、ネットワーク計測ソフトを終了するためのボタンである。[Exit]ボタン４２０が押下されると、全てのソフト動作が終了し、メインウィンドウ４００が閉じられる。
【００６７】
次に、ネットワーク計測ソフトのステータスについて説明する。ネットワーク計測ソフトのステータスには、未接続状態、ライブ状態、フリーズ状態、ライブ-ステレオ状態、フリーズ-ステレオ状態の５つのステータスがある。各ステータスの説明は以下の通りである。
【００６８】
未接続状態は、ネットワーク計測ソフトの初期ステータスであり、ＰＣ５と内視鏡装置１がネットワーク接続されていない状態である。ライブ状態は、内視鏡装置１から受信した画像データがピクチャボックスに順次表示されている状態である。フリーズ状態とは、内視鏡装置１からの画像データの受信が一時停止し、ピクチャボックスに静止画が表示されている状態である。
【００６９】
ライブ-ステレオ状態は、内視鏡装置１から受信した画像データがピクチャボックスに順次表示されている状態であり、かつ表示された画像に対してステレオ計測およびゲージ計測を行うことが可能な状態である。フリーズ−ステレオ状態とは、内視鏡装置１からの画像データの受信が一時停止し、ピクチャボックスに静止画が表示されている状態であり、かつ表示された画像に対してステレオ計測およびゲージ計測を行うことが可能な状態である。
【００７０】
図５は、メインウィンドウ内の各種ツールボタンが押下されたときに、ネットワーク計測ソフトのステータスがどのように遷移するかを示したものである。以下に、ステータス遷移について説明する。
【００７１】
ネットワーク計測ソフトが起動されると、ステータスは、初期ステータスである未接続状態Ａとなる。未接続状態Ａにおいて、アドレスボックス４０３に内視鏡装置１のネットワークアドレスが入力された状態で、[Live]ボタンが押下されると、ステータスはライブ状態Ｂに移行する。このとき、[Live]ボタンは[Freeze]ボタンに切り替わる。
【００７２】
ライブ状態Ｂにおいて、[Freeze]ボタンが押下されると、ステータスはフリーズ状態Ｃに移行する。このとき、[Freeze]ボタンは[Live]ボタンに切り替わる。また、ライブ状態Ｂにおいて、[Stereo-On]ボタンが押下されると、ステータスはライブ-ステレオ状態Ｄに移行する。このとき、[Stereo-On]ボタンは[Stereo-Off]ボタンに切り替わる。
【００７３】
フリーズ状態Ｃにおいて、[Live]ボタンが押下されると、ステータスはライブ状態Ｂに移行する。このとき、[Live]ボタンは[Freeze]ボタンに切り替わる。また、フリーズ状態Ｃにおいて、[Stereo-On]ボタンが押下されると、ステータスはフリーズ-ステレオ状態Ｅに移行する。このとき、[Stereo-On]ボタンは[Stereo-Off]ボタンに切り替わる。
【００７４】
ライブ-ステレオ状態Ｄにおいて、[Freeze]ボタンが押下されると、ステータスはフリーズ-ステレオ状態Ｅに移行する。このとき、[Freeze]ボタンは[Live]ボタンに切り替わる。また、ライブ-ステレオ状態Ｄにおいて、[Stereo-Off]ボタンが押下されると、ステータスはライブ状態Ｂに移行する。このとき、[Stereo-Off]ボタンは[Stereo-On]ボタンに切り替わる。
【００７５】
フリーズ-ステレオ状態Ｅにおいて、[Live]ボタンが押下されると、ステータスはライブ-ステレオ状態Ｄに移行する。このとき、[Live]ボタンは[Freeze]ボタンに切り替わる。また、フリーズ-ステレオ状態Ｅにおいて、[Stereo-Off]ボタンが押下されると、ステータスはフリーズ状態Ｃに移行する。このとき、[Stereo-Off]ボタンは[Stereo-On]ボタンに切り替わる。
【００７６】
図６は、各ステータスにおいてステータスボックスがどのように表示されるかを示したものである。ステータスボックスには、未接続状態では「Non-Connected」と表示され、ライブ状態では「Live」と表示され、フリーズ状態では「Freeze」と表示され、ライブ-ステレオ状態では「Live-Stereo」と表示され、フリーズ-ステレオ状態では「Freeze-Stereo」と表示される。
【００７７】
次に、ネットワーク計測ソフトによる動作について説明する。図７〜図９は、ネットワーク計測ソフトが起動した後の処理の流れを示している。ＰＣ５のＣＰＵ５０７は、ＨＤＤ５０６からネットワーク計測ソフトを読み出して起動した後、図７〜図９に示す手順で各種制御を実行する。
【００７８】
まず、ステップＳ０において、ＣＰＵ５０７はステータスフラグを、ネットワーク計測ソフトの初期ステータスである「未接続状態」に設定する。ステータスフラグとは、ネットワーク計測ソフトの現在のステータスを記憶するためのフラグであり、ＰＣ５内のＲＡＭ５０５に記憶されている。後述するように、ＣＰＵ５０７は、現在のステータスをチェックする場合もしくはステータスを切り替える場合に、ステータスフラグを使用する。
【００７９】
ステップＳＡ１〜ＳＥ６は、各ステータスにおいてユーザが各種ＧＵＩ操作（主にツールボタン４０１の操作）を行った際の処理を示している。ステップＳＡ１〜ＳＡ５は未接続状態における処理を示し、ステップＳＢ１〜ＳＢ８はライブ状態における処理を示し、ステップＳＣ１〜ＳＣ７はフリーズ状態における処理を示し、ステップＳＤ１〜ＳＤ８はライブ-ステレオ状態における処理を示し、ステップＳＥ１〜ＳＥ６はフリーズ-ステレオ状態における処理を示している。
【００８０】
まず、未接続状態における処理の流れ（ステップＳＡ１〜ＳＡ５）について説明する。まず、ステップＳＡ１では、ＣＰＵ５０７はステータスが未接続状態であるか否かを確認する。ステータスが未接続状態である場合、処理はステップＳＡ２に移行し、ステータスが未接続状態でない場合、処理はステップＳＢ１に移行する。
【００８１】
ステップＳＡ２では、ＣＰＵ５０７は[Live]ボタンが押下されたか否かを確認する。ステップＳＡ２およびこれ以降のステップで各ボタンの押下の有無を確認する場合、ＣＰＵ５０７は、操作部５０３から出力される信号を監視することによって確認を行う。[Live]ボタンが押下された場合、処理はステップＳＡ３に移行し、[Live]ボタンが押下されなかった場合、処理はステップＳＢ１に移行する。
【００８２】
ステップＳＡ３では、ＣＰＵ５０７はＰＣ５と内視鏡装置１とのネットワーク接続を開始する処理（接続開始処理）を行う。ステップＳＡ３の詳細については、後述する。ステップＳＡ３の後、処理はステップＳＡ４に移行する。
【００８３】
ステップＳＡ４では、ＣＰＵ５０７は、上記ステップＳＡ３における処理の結果、ネットワーク接続ができたか否かを確認する。ネットワーク接続ができた場合、処理はステップＳＡ５に移行し、ネットワーク接続ができなかった場合、処理はステップＳＢ１に移行する。
【００８４】
ステップＳＡ５では、ＣＰＵ５０７はステータスをライブ状態に切り替える。ステップＳＡ５の詳細については、後述する。
【００８５】
次に、ライブ状態における処理の流れ（ステップＳＢ１〜ＳＢ８）について説明する。まず、ステップＳＢ１では、ＣＰＵ５０７はステータスがライブ状態であるか否かを確認する。ステータスがライブ状態である場合、処理はステップＳＢ２に移行し、ステータスがライブ状態でない場合、処理はステップＳＣ１に移行する。
【００８６】
ステップＳＢ２では、ＣＰＵ５０７は内視鏡装置１から画像データの受信を行う。ステップＳＢ２の詳細については、後述する。ステップＳＢ２の後、処理はステップＳＢ３に移行する。
【００８７】
ステップＳＢ３では、ＣＰＵ５０７は[Freeze]ボタンが押下されたか否かを確認する。[Freeze]ボタンが押下された場合、処理はステップＳＢ４に移行し、[Freeze]ボタンが押下されなかった場合、処理はステップＳＢ５に移行する。
【００８８】
ステップＳＢ４では、ＣＰＵ５０７はステータスをフリーズ状態に切り替える。ステップＳＢ４の詳細については、後述する。ステップＳＢ４の終了後、処理はステップ ＳＣ１に移行する。
【００８９】
ステップＳＢ５では、ＣＰＵ５０７は[Stereo-On]ボタンが押下されたか否かを確認する。[Stereo-On]ボタンが押下された場合、処理はステップＳＢ６に移行し、[Stereo-On]ボタンが押下されなかった場合、処理はステップＳＣ１に移行する。
【００９０】
ステップＳＢ６では、ＣＰＵ５０７は内視鏡装置１から環境データの受信を行う。ステップＳＢ６の詳細については、後述する。ステップＳＢ６の後、処理はステップＳＢ７に移行する。
【００９１】
ステップＳＢ７では、ＣＰＵ５０７は、上記ステップＳＢ６における処理の結果、環境データを受信できたか否かを確認する。環境データを受信できた場合、処理はステップＳＢ８に移行し、環境データを受信できなかった場合、処理はステップＳＣ１に移行する。
【００９２】
ステップＳＢ８では、ＣＰＵ５０７はステータスをライブ-ステレオ状態に切り替える。ステップＳＢ８の詳細については、後述する。
【００９３】
次に、フリーズ状態における処理の流れ（ステップＳＣ１〜ＳＣ７）について説明する。まず、ステップＳＣ１では、ＣＰＵ５０７はステータスがフリーズ状態であるか否かを確認する。ステータスがフリーズ状態である場合、処理はステップＳＣ２に移行し、ステータスがフリーズ状態でない場合、処理はステップＳＤ１に移行する。
【００９４】
ステップＳＣ２では、ＣＰＵ５０７は[Live]ボタンが押下されたか否かを確認する。[Live]ボタンが押下された場合、処理はステップＳＣ３に移行し、[Live]ボタンが押下されなかった場合、処理はステップＳＣ４に移行する。
【００９５】
ステップＳＣ３では、ＣＰＵ５０７はステータスをライブ状態に切り替える。ステップＳＣ３の詳細については、後述する。ステップＳＣ３の終了後、処理はステップＳＤ１に移行する。
【００９６】
ステップＳＣ４では、ＣＰＵ５０７は[Stereo-On]ボタンが押下されたか否かを確認する。[Stereo-On]ボタンが押下された場合、処理はステップＳＣ５に移行し、[Stereo-On]ボタンが押下されなかった場合、処理はステップＳＤ１に移行する。
【００９７】
ステップＳＣ５では、ＣＰＵ５０７は内視鏡装置１から環境データの受信を行う。ステップＳＣ５の詳細については、後述する。ステップＳＣ５の後、処理はステップＳＣ６に移行する。
【００９８】
ステップＳＣ６では、ＣＰＵ５０７は、上記ステップＳＣ５における処理の結果、環境データを受信できたか否かを確認する。環境データを受信できた場合、処理はステップＳＣ７に移行し、環境データを受信できなかった場合、処理はステップＳＤ１に移行する。
【００９９】
ステップＳＣ７では、ＣＰＵ５０７はステータスをフリーズ-ステレオ状態に切り替える。ステップＳＣ７の詳細については、後述する。
【０１００】
次に、ライブ-ステレオ状態における処理の流れ（ステップＳＤ１〜ＳＤ８）について説明する。まず、ステップＳＤ１では、ＣＰＵ５０７はステータスがライブ-ステレオ状態であるか否かを確認する。ステータスがライブ-ステレオ状態である場合、処理はステップＳＤ２に移行し、ステータスがライブ-ステレオ状態でない場合、処理はステップＳＥ１に移行する。
【０１０１】
ステップＳＤ２では、ＣＰＵ５０７は内視鏡装置１から画像データの受信を行う。ステップＳＤ２の詳細については、後述する。ステップＳＤ２の後、処理はステップＳＤ３に移行する。
【０１０２】
ステップＳＤ３では、ＣＰＵ５０７は、上記ステップＳＤ２における処理の結果、画像データを受信できたか否かを確認する。画像データを受信できた場合、処理はステップＳＤ４に移行し、画像データを受信できなかった場合、処理はステップＳＤ５に移行する。
【０１０３】
ステップＳＤ４では、ＣＰＵ５０７は、内視鏡装置１から受信した環境データおよび画像データに基づいて、ゲージ計測を行う。ステップＳＤ４の詳細については、後述する。ステップＳＤ４の後、処理はステップＳＤ５に移行する。
【０１０４】
ステップＳＤ５では、ＣＰＵ５０７は[Freeze]ボタンが押下されたか否かを確認する。[Freeze]ボタンが押下された場合、処理はステップＳＤ６に移行し、[Freeze]ボタンが押下されなかった場合、処理はステップＳＤ７に移行する。
【０１０５】
ステップＳＤ６では、ＣＰＵ５０７はステータスをフリーズ-ステレオ状態に切り替える。ステップＳＤ６の詳細については、後述する。ステップＳＤ６の終了後、処理はステップＳＥ１に移行する。
【０１０６】
ステップＳＤ７では、ＣＰＵ５０７は[Stereo-Off]ボタンが押下されたか否かを確認する。[Stereo-Off]ボタンが押下された場合、処理はステップＳＤ８に移行し、[Stereo-Off]ボタンが押下されなかった場合、処理はステップＳＥ１に移行する。
【０１０７】
ステップＳＤ８では、ＣＰＵ５０７はステータスをライブ状態に切り替える。ステップＳＤ８の詳細については、後述する。
【０１０８】
次に、フリーズ-ステレオ状態における処理の流れ（ステップＳＥ１〜ＳＥ６）について説明する。まず、ステップＳＥ１では、ＣＰＵ５０７はステータスがフリーズ-ステレオ状態であるか否かを確認する。ステータスがフリーズ-ステレオ状態である場合、処理はステップＳＥ２に移行し、ステータスがフリーズ-ステレオ状態でない場合、処理はステップＳＦ１に移行する。
【０１０９】
ステップＳＥ２では、ＣＰＵ５０７は、内視鏡装置１から受信した環境データおよび画像データに基づいて、ゲージ計測を行う。ステップＳＥ２の詳細については、後述する。ステップＳＥ２の終了後、処理はステップＳＥ３に移行する。
【０１１０】
ステップＳＥ３では、ＣＰＵ５０７は[Live]ボタンが押下されたか否かを確認する。[Live]ボタンが押下された場合、処理はステップＳＥ４に移行し、[Live]ボタンが押下されなかった場合、処理はステップＳＥ５に移行する。
【０１１１】
ステップＳＥ４では、ＣＰＵ５０７はステータスをライブ-ステレオ状態に切り替える。ステップＳＥ４の詳細については、後述する。ステップＳＥ４の終了後、処理はステップＳＦ１に移行する。
【０１１２】
ステップＳＥ５では、ＣＰＵ５０７は[Stereo-Off]ボタンが押下されたか否かを確認する。[Stereo-Off]ボタンが押下された場合、処理はステップＳＥ６に移行し、[Stereo-Off]ボタンが押下されなかった場合、処理はステップＳＦ１に移行する。
【０１１３】
ステップＳＥ６では、ＣＰＵ５０７はステータスをフリーズ状態に切り替える。ステップＳＥ６の詳細については、後述する。
【０１１４】
次に、上記のステップＳＡ１〜ＳＥ６の後の処理の流れ（ステップＳＦ１〜ＳＦ４）を説明する。まず、ステップＳＦ１では、ＣＰＵ５０７は[Exit]ボタンが押下されたか否かを確認する。[Exit]ボタンが押下された場合、処理はステップＳＦ２に移行し、[Exit]ボタンが押下されなかった場合、処理は再度ステップＳＡ１に移行する。
【０１１５】
ステップＳＦ２では、ＣＰＵ５０７はステータスが未接続状態であるか否かを確認する。ステータスが未接続状態である場合、処理はステップＳＦ４に移行し、ステータスが未接続状態でない場合、処理はステップＳＦ３に移行する。
【０１１６】
ステップＳＦ３では、ＣＰＵ５０７は、ＰＣ５と内視鏡装置１とのネットワーク接続を終了する処理（接続終了処理）を行う。ステップＳＦ３の詳細については、後述する。ステップＳＦ３の終了後、処理はステップＳＦ４に移行する。
【０１１７】
ステップＳＦ４では、ＣＰＵ５０７はメインウィンドウを非表示とし、ネットワーク計測ソフトによる一連の処理を終了する。
【０１１８】
次に、上述した処理において呼び出される各種処理について説明する。図１０〜図１３は、各ステータスの切替時の処理の流れを示している。図１０はステータスをライブ状態に切り替える際の処理の流れを示し、図１１はステータスをフリーズ状態に切り替える際の処理の流れを示し、図１２はステータスをライブ-ステレオ状態に切り替える際の処理の流れを示し、図１３はステータスをフリーズ-ステレオ状態に切り替える際の処理の流れを示している。各処理の説明は以下の通りである。
【０１１９】
図１０は、図７のステップＳＡ５、図８のステップＳＣ３，ＳＤ８で行われる処理の流れを示している。まず、ステップＳ１００では、ＣＰＵ５０７は[Live]ボタンの表示を[Freeze]に切り替える。
【０１２０】
続いて、ステップＳ１０１では、ＣＰＵ５０７は[Stereo-On]ボタンもしくは[Stereo-Off]ボタンを有効化する。有効化とは、ボタンが押下できない状態（例えばグレー状態）から押下可能な状態に切り替えることである。ただし、このステップＳ１０１が開始される時点で、既にボタンが有効であるならば、特に有効化は行わない。
【０１２１】
続いて、ステップＳ１０２では、ＣＰＵ５０７はステータスボックスの表示を「Live」に切り替える。続いて、ステップＳ１０３では、ＣＰＵ５０７はステータスフラグを「ライブ状態」に設定し、ステータスの切替に関する処理を終了する。
【０１２２】
図１１は、図７のステップＳＢ４、図９のステップＳＥ６で行われる処理の流れを示している。まず、ステップＳ１１０では、ＣＰＵ５０７は[Freeze]ボタンの表示を[Live]に切り替える。続いて、ステップＳ１１１では、ＣＰＵ５０７はステータスボックスの表示を「Freeze」に切り替える。続いて、ステップＳ１１２では、ＣＰＵ５０７はステータスフラグを「フリーズ状態」に設定し、ステータスの切替に関する処理を終了する。
【０１２３】
図１２は、図７のステップＳＢ８、図９のステップＳＥ４で行われる処理の流れを示している。まず、ステップＳ１２０では、ＣＰＵ５０７は[Live]ボタンの表示を[Freeze]に切り替える。ただし、このステップＳ１２０が開始される時点で、既にボタンが[Freeze]の表示になっているならば、特に表示の切り替えは行わない。
【０１２４】
続いて、ステップＳ１２１では、ＣＰＵ５０７は[Stereo-On]ボタンの表示を[Stereo-Off]に切り替える。ただし、このステップＳ１２１が開始される時点で、既にボタンが[Stereo-Off]の表示になっているならば、特に表示の切り替えは行わない。
【０１２５】
続いて、ステップＳ１２２では、ＣＰＵ５０７はステータスボックスの表示を「Live-Stereo」に切り替える。続いて、ステップＳ１２３では、ＣＰＵ５０７はステータスフラグを「ライブ-ステレオ状態」に設定し、ステータスの切替に関する処理を終了する。
【０１２６】
図１３は、図８のステップＳＣ７，ＳＤ６で行われる処理の流れを示している。まず、ステップＳ１３０では、ＣＰＵ５０７は[Freeze]ボタンの表示を[Live]に切り替える。ただし、このステップＳ１３０が開始される時点で、既にボタンが[Freeze]の表示になっているならば、特に表示の切り替えは行わない。
【０１２７】
続いて、ステップＳ１３１では、ＣＰＵ５０７は[Stereo-On]ボタンの表示を[Stereo-Off]に切り替える。ただし、このステップＳ１３１が開始される時点で、既にボタンが[Stereo-Off]の表示になっているならば、特に表示の切り替えは行わない。
【０１２８】
続いて、ステップＳ１３２では、ＣＰＵ５０７はステータスボックスの表示を「Freeze-Stereo」に切り替える。続いて、ステップＳ１３３では、ＣＰＵ５０７はステータスフラグを「フリーズ-ステレオ状態」に設定し、ステータスの切替に関する処理を終了する。
【０１２９】
図１４〜図１７は、通信時の処理の流れを示している。図１４は内視鏡装置１とのネットワーク接続を開始する際の処理の流れを示し、図１５は内視鏡装置１から環境データを受信する際の処理の流れを示し、図１６は内視鏡装置１から画像データを受信する際の処理の流れを示し、図１７は内視鏡装置１とのネットワーク接続を終了する際の処理の流れを示している。各処理の説明は以下の通りである。
【０１３０】
図１４は、図７のステップＳＡ３で行われる処理の流れを示している。まず、ステップＳ１４０では、ＣＰＵ５０７は、アドレスボックス４０３に入力されたネットワークアドレスを取得する。続いて、ステップＳ１４１では、ＣＰＵ５０７は、ネットワーク４を介して内視鏡装置１に対してネットワーク接続要求を送信する。ネットワーク接続要求には、ネットワークアドレスの文字列データも含まれる。続いて、ステップＳ１４２では、ＣＰＵ５０７は、ネットワーク４を介して内視鏡装置１から受信した、ネットワーク接続要求に対する応答の内容を確認する。
【０１３１】
続いて、ステップＳ１４３では、ＣＰＵ５０７は、ネットワーク接続要求に対する応答の内容に基づいて、内視鏡装置１と正常に接続されたか否かを確認する。内視鏡装置１と正常に接続できた場合、ＣＰＵ５０７は、ネットワーク接続の開始に関する処理を終了する。また、内視鏡装置１と正常に接続できなかった場合、処理はステップＳ１４４に移行する。ステップＳ１４４では、ＣＰＵ５０７は、ネットワーク接続に失敗したことを、図示しないエラーメッセージボックスに表示する処理を行う。エラーメッセージボックスが閉じられると、ＣＰＵ５０７は、ネットワーク接続の開始に関する処理を終了する。
【０１３２】
図１５は、図７のステップＳＢ６、図８のステップＳＣ５で行われる処理の流れを示している。まず、ステップＳ１５０では、ＣＰＵ５０７は、ネットワーク４を介して内視鏡装置１に対して環境データ送信要求を送信する。続いて、ステップＳ１５１では、ＣＰＵ５０７は、ネットワーク４を介して内視鏡装置１から受信した環境データの内容を確認する。
【０１３３】
続いて、ステップＳ１５２では、ＣＰＵ５０７は、内視鏡装置１から環境データを正常に受信できたか否かを確認する。環境データを正常に受信できた場合、処理はステップＳ１５３に移行する。ステップＳ１５３では、ＣＰＵ５０７は、受信した環境データをＲＡＭ５０５に記憶し、環境データの受信に関する処理を終了する。また、環境データを正常に受信できなかった場合、処理はステップＳ１５４に移行する。ステップＳ１５４では、ＣＰＵ５０７は、環境データの受信に失敗したことを、図示しないエラーメッセージボックスに表示する処理を行う。エラーメッセージボックスが閉じられると、ＣＰＵ５０７は、環境データの受信に関する処理を終了する。
【０１３４】
図１６は、図７のステップＳＢ２、図８のステップＳＤ２で行われる処理の流れを示している。まず、ステップＳ１６０では、ＣＰＵ５０７は、ネットワーク４を介して内視鏡装置１に対して画像データ送信要求を送信する。続いて、ステップＳ１６１では、ＣＰＵ５０７は、内視鏡装置１から受信した画像データの内容を確認する。
【０１３５】
続いて、ステップＳ１６２では、ＣＰＵ５０７は、内視鏡装置１から画像データを正常に受信できたか否かを確認する。画像データを正常に受信できた場合、処理はステップＳ１６３に移行する。ステップＳ１６３では、ＣＰＵ５０７は、受信した画像データをＲＡＭ５０５に記憶する。ＲＡＭ５０５に既に画像データが記憶されている場合には、ＣＰＵ５０７は画像データを上書きで記憶する。
【０１３６】
続いて、ステップＳ１６４では、ＣＰＵ５０７は、受信した画像データをピクチャボックスに表示する処理を行い、画像データの受信に関する処理を終了する。また、ステップＳ１６２において、画像データを正常に受信できなかったと判定した場合も、ＣＰＵ５０７は、画像データの受信に関する処理を終了する。画像データの受信は連続して行われるため、受信に失敗した場合でも、その度にエラーメッセージボックスを表示することはしない。
【０１３７】
図１７は、図９のステップＳＦ３で行われる処理の流れを示している。まず、ステップＳ１７０では、ＣＰＵ５０７は、ネットワーク４を介して内視鏡装置１に対してネットワーク接続終了要求を送信する。続いて、ステップＳ１７１では、ＣＰＵ５０７は、内視鏡装置１から受信した、ネットワーク接続終了要求に対する応答の内容を確認する。
【０１３８】
続いて、ステップＳ１７２では、ＣＰＵ５０７は、ネットワーク接続要求に対する応答の内容に基づいて、内視鏡装置１とのネットワーク接続が正常に終了したか否かを確認する。ネットワーク接続が正常に終了した場合、ＣＰＵ５０７は、ネットワーク接続の終了に関する処理を終了する。また、ネットワーク接続が正常に終了しなかった場合、処理はステップＳ１７３に移行する。ステップＳ１７３では、ＣＰＵ５０７は、ネットワーク接続に失敗したことを、図示しないエラーメッセージボックスに表示する処理を行う。エラーメッセージボックスが閉じられると、ＣＰＵ５０７は、ネットワーク接続の終了に関する処理を終了する。
【０１３９】
次に、図８および図９に示した処理において呼び出されるゲージ計測について説明する。図１８は、図８のステップＳＤ４、図９のステップＳＥ２で行われる処理の流れを示している。ゲージ計測では、モニタ５０２の画面にメインウィンドウが表示され、このメインウィンドウ内に、内視鏡装置１で撮像された計測対象物の画像やゲージ等が表示される。前述したように、ゲージ等を含むメインウィンドウを表示する場合、ＣＰＵ５０７は、メインウィンドウを表示するためのグラフィック画像信号（表示信号）に、内視鏡装置１から受信した画像データを重畳する処理を行い、処理後の信号をモニタ５０２へ出力する。
【０１４０】
図１８に示すゲージ計測において、まず、ステップＳ２００では、ＣＰＵ５０７は、ＲＡＭ５０５に記憶されている環境データを読み込む。続いて、ステップＳ２０１では、ＣＰＵ５０７は、ＲＡＭ５０５に記憶されている画像データを読み込む。続いて、ステップＳ２０２では、ＣＰＵ５０７は、環境データに記録された計測領域を線としてメインウィンドウに表示する処理を行う。続いて、ステップＳ２０３では、ＣＰＵ５０７は、操作部５０３から出力される信号に基づいてカーソル座標を取得する。
【０１４１】
続いて、ステップＳ２０４では、ＣＰＵ５０７は、カーソル座標が左側計測領域内にあるか否かを確認する。カーソル座標が左側計測領域内にある場合、処理はステップＳ２０５に移行し、カーソル座標が左側計測領域内にない場合、ＣＰＵ５０７は、ゲージ計測に関する処理を終了する。以下では、左側計測領域内のカーソル座標に位置する点を計測点と記載する。
【０１４２】
続いて、ステップＳ２０５では、ＣＰＵ５０７は、環境データに基づいて画像データの補正処理を行う。この補正処理は、特開平１０−２４８８０６号公報に記載されているものと同様である。続いて、ステップＳ２０６では、ＣＰＵ５０７は、画像データに基づいて、左側計測領域内の計測点の画像座標（以下、計測点座標と記載）に対応した、右側計測領域内のマッチング点の画像座標（以下、マッチング点座標と記載）を算出する。より具体的には、ＣＰＵ５０７は、計測点座標に基づいてパターンマッチング処理を実行し、左右２画像の対応点であるマッチング点座標を算出する。このパターンマッチング処理の方法は、特開２００４−４９６３８号公報に記載されたものと同様である。
【０１４３】
続いて、ステップＳ２０７では、ＣＰＵ５０７は、計測点座標およびそのマッチング点座標に基づいて、空間座標（現実の空間上の３次元座標）を算出する。空間座標の計算方法は、特開２００４−４９６３８号公報に記載されているものと同様である。この空間座標のＺ方向の座標が、挿入部２の先端の固体撮像素子２ａの結像面から計測対象物までの距離（対象物距離）となる。
【０１４４】
続いて、ステップＳ２０８では、ＣＰＵ５０７は、左側計測領域内の計測点座標の位置に計測アイコンを表示し、右側計測領域内のマッチング点座標にマッチングアイコンを表示する処理を行う。続いて、ステップＳ２０９では、ＣＰＵ５０７は、ステップＳ２０７で算出した対象物距離に基づいて、インジケータ数を算出する。インジケータ数とは、表示するインジケータの数であり、1〜9の値をもつ。
【０１４５】
続いて、ステップＳ２１０では、ＣＰＵ５０７は、インジケータ数に基づいてインジケータを表示する処理を行う。続いて、ステップＳ２１１では、ＣＰＵ５０７は、ステップＳ２０７で算出した対象物距離に基づいて、対象物距離を表示する処理を行う。上記のインジケータの表示（ステップＳ２１０）および対象物距離の表示（ステップＳ２１１）の詳細については、後述する。
【０１４６】
続いて、ステップＳ２１２では、ＣＰＵ５０７は、ゲージ計測を行うためのサンプル点の画像座標（以下、サンプル点座標と記載）を算出する。サンプル点座標は、例えば図１９に示すように、計測点１９００から見て上下左右の方向に、10、20、30、40pixel離れた点（計16点）の座標として算出される。以下では、計測点の上側に並んだサンプル点を上側サンプル点（図１９の点１９１０）と記載し、計測点の下側に並んだサンプル点を下側サンプル点（図１９の点１９２０）と記載し、計測点の左側に並んだサンプル点を左側サンプル点（図１９の点１９３０）と記載し、計測点の右側に並んだサンプル点を右側サンプル点（図１９の点１９４０）と記載する。サンプル点は、計測対象物の表面を近似する平面（後述するゲージ平面）を算出するために必要なものなので、３点以上のサンプル点を用いることが望ましい。また、サンプル点は、特にピクチャボックス４０４上には表示されない。
【０１４７】
続いて、ステップＳ２１３では、ＣＰＵ５０７は、左側計測領域内のサンプル点座標に対応した、右側計測領域内のマッチング点座標を算出する。続いて、ステップＳ２１４では、ＣＰＵ５０７は、サンプル点座標およびそのマッチング点座標に基づいて空間座標を算出する。
【０１４８】
続いて、ステップＳ２１５では、ＣＰＵ５０７は、計測点の空間座標およびサンプル点の空間座標に基づいて、ゲージ平面を算出する。ゲージ平面は、ゲージの属する空間平面であり、計測対象物の表面を近似する平面である。後述するゲージ目盛り点およびゲージ周囲点の空間座標は、このゲージ平面上に位置する。ゲージ平面およびその算出方法の詳細については、後述する。
【０１４９】
続いて、ステップＳ２１６では、ＣＰＵ５０７は、ゲージ径設定ボックスに設定されたゲージ半径を取得し、ＲＡＭ５０５に記憶する。続いて、ステップＳ２１７では、ＣＰＵ５０７は、ゲージ目盛り設定ボックスに設定されたゲージ目盛り間隔を取得し、ＲＡＭ５０５に記憶する。
【０１５０】
続いて、ステップＳ２１８では、ＣＰＵ５０７は、ゲージ平面、ゲージ半径、およびゲージ目盛り間隔に基づいて、ゲージ目盛り点の空間座標を算出する。ゲージ目盛り点は、ゲージ目盛り線を構成する点である。ゲージ目盛り点の空間座標の算出方法の詳細については、後述する。
【０１５１】
続いて、ステップＳ２１９では、ＣＰＵ５０７は、ゲージ平面およびゲージ半径に基づいて、ゲージ周囲点の空間座標を算出する。ゲージ周囲点は、ゲージ周囲線を構成する点である。ゲージ周囲点の空間座標の算出方法の詳細については、後述する。
【０１５２】
続いて、ステップＳ２２０では、ＣＰＵ５０７は、ゲージ目盛り点およびゲージ周囲点の空間座標に基づいて、空間上のゲージ目盛り点およびゲージ周囲点を左側計測領域内の画像平面に投影した点の画像座標を算出する。投影座標は、３次元空間から、挿入部２の先端の固体撮像素子２ａが位置する撮像平面（結像面）への透視変換によって算出することができる。
【０１５３】
続いて、ステップＳ２２１では、ＣＰＵ５０７は、ゲージ目盛り点の画像座標に基づいて、左側計測領域内の画像上にゲージ目盛り線を重畳表示する処理を行う。ゲージ目盛り線の表示の詳細については、後述する。続いて、ステップＳ２２２では、ＣＰＵ５０７は、ゲージ周囲点の画像座標に基づいて、左側計測領域内の画像上にゲージ周囲線を重畳表示する処理を行う。ゲージ周囲線の表示の詳細については、後述する。ステップＳ２２２の後、ＣＰＵ５０７は、ゲージ計測に関する処理を終了する。
【０１５４】
次に、図２０を用いて、ステップＳ２１０，Ｓ２１１における、インジケータおよび対象物距離の表示の詳細を説明する。前述したように、インジケータ数は、対象物距離に比例して変化し、1〜9の値をもつ。
【０１５５】
図２０（ａ）は、対象物距離が小さい場合（例えば15mm以下）のインジケータおよび対象物距離の表示例である。この場合、インジケータ数は、対象物距離に比例して1〜3の値をもつ。インジケータ２０００ａおよび対象物距離２０１０ａの背景は、例えば緑色となっている。これは、対象物距離が小さく、計測対象物の画像がステレオ計測およびゲージ計測に適している状態にあることを示している。
【０１５６】
図２０（ｂ）は、対象物距離が少し大きい場合（例えば15mm〜30mm）のインジケータおよび対象物距離の表示例である。この場合、インジケータ数は、対象物距離に比例して4〜6の値をもつ。インジケータ２０００ｂおよび対象物距離２０１０ｂの背景は、例えば黄色となっている。これは、対象物距離が少し大きく、ステレオ計測およびゲージ計測にあまり適さない状態にあることを示している。
【０１５７】
図２０（ｃ）は、対象物距離が非常に大きい場合（例えば30mm以上）のインジケータおよび対象物距離の表示例である。この場合、インジケータ数は、対象物距離に比例して7〜9の値をもつ。インジケータ２０００ｃおよび対象物距離２０１０ｃの背景は、例えば赤色となっている。これは、対象物距離が非常に大きく、ステレオ計測およびゲージ計測に適さない状態にあることを示している。
【０１５８】
次に、ステップＳ２１５における、ゲージ平面およびその算出方法の詳細を説明する。ゲージ平面は、計測点の空間点を通り、かつサンプル点の空間点から算出される２本の空間直線（空間直線Ｌ１，Ｌ２とする）を含む平面として算出される。
【０１５９】
まず、図２１を用いて、空間直線Ｌ１の算出方法を説明する。空間直線Ｌ１は、計測点の空間点、左側サンプル点の空間点、および右側サンプル点の空間点から求まる。図２１（ａ）には、計測点の空間点Ｐ、４つの左側サンプル点の空間点Ｓｌ１〜Ｓｌ４、４つの右側サンプル点の空間点Ｓｒ１〜Ｓｒ４が示されている。図２１（ｂ）には、点Ｓｌ１〜Ｓｌ４から点ＰへのベクトルＶｌ１〜Ｖｌ４、および点Ｐから点Ｓｒ１〜Ｓｒ４へのベクトルＶｒ１〜Ｖｒ４が示されている。
【０１６０】
点Ｐ、点Ｓｌ１〜Ｓｌ４、および点Ｓｒ１〜Ｓｒ４の空間座標をそれぞれ（Ｐｘ，Ｐｙ，Ｐｚ）、(Ｓｌｘｉ，Ｓｌｙｉ，Ｓｌｚｉ)、（Ｓｒｘｉ，Ｓｒｙｉ，Ｓｒｚｉ）とすると（ｉ=１〜４）、ベクトルＶｌ１〜Ｖｌ４，Ｖｒ１〜Ｖｒ４の式は、以下の（１）式および（２）式のようになる。
Ｖｌｉ=（Ｐｘ−Ｓｌｘｉ，Ｐｙ−Ｓｌｙｉ，Ｐｚ−Ｓｌｚｉ)  ・・・（１）
Ｖｒｉ＝（Ｓｒｘｉ−Ｐｘ，Ｓｒｙｉ−Ｐｙ，Ｓｒｚｉ−Ｐｚ）  ・・・（２）
【０１６１】
図２１（ｃ）には、ベクトルＶｌ１〜Ｖｌ４，Ｖｒ１〜Ｖｒ４を平均化した平均ベクトルＶａ１が示されている。平均ベクトルＶａ１は、以下の（３）式のようになる。
【０１６２】
【数１】
2010102113.tif 000003
【０１６３】
図２１（ｄ）には、点Ｐを通り、かつベクトルＶａ１に平行な空間直線Ｌ１が示されている。ベクトルＶａ１を（Ｖａ１ｘ，Ｖａ１ｙ，Ｖａ１ｚ）とすると、空間直線Ｌ１の式は、以下の（４）式のようになる。
【０１６４】
【数２】
2010102113.tif 000004
【０１６５】
次に、図２２を用いて、空間直線Ｌ２の算出方法を説明する。空間直線Ｌ２は、計測点の空間点、上側サンプル点の空間点、および下側サンプル点の空間点から求まる。図２２（ａ）には、計測点の空間点Ｐ、４つの上側サンプル点の空間点Ｓｕ１〜Ｓｕ４、４つの下側サンプル点の空間点Ｓｄ１〜Ｓｄ４が示されている。図２２（ｂ）には、点Ｐから点Ｓｕ１〜Ｓｕ４へのベクトルＶｕ１〜Ｖｕ４、および点Ｓｄ１〜Ｓｄ４から点ＰへのベクトルＶｄ１〜Ｖｄ４が示されている。
【０１６６】
点Ｐ、点Ｓｕ１〜Ｓｕ４、および点Ｓｄ１〜Ｓｄ４の空間座標をそれぞれ（Ｐｘ，Ｐｙ，Ｐｚ）、（Ｓｕｘｉ，Ｓｕｙｉ，Ｓｕｚｉ）、（Ｓｄｘｉ，Ｓｄｙｉ，Ｓｄｚｉ）とすると（ｉ＝１〜４）、ベクトルＶｕ１〜Ｖｕ４，Ｖｄ１〜Ｖｄ４の式は、以下の（５）式および（６）式のようになる。
Ｖｕｉ＝（Ｓｕｘｉ−Ｐｘ，Ｓｕｙｉ−Ｐｙ，Ｓｕｚｉ−Ｐｚ）  ・・・（５）
Ｖｄｉ＝（Ｐｘ−Ｓｄｘｉ，Ｐｙ−Ｓｄｙｉ，Ｐｚ−Ｓｄｚｉ）  ・・・（６）
【０１６７】
図２２（ｃ）には、ベクトルＶｕ１〜Ｖｕ４，Ｖｄ１〜Ｖｄ４を平均化した平均ベクトルＶａ２が示されている。平均ベクトルＶａ２は、以下の（７）式のようになる。
【０１６８】
【数３】
2010102113.tif 000005
【０１６９】
図２２（ｄ）には、点Ｐを通り、かつベクトルＶａ２に平行な空間直線Ｌ２が示されている。ベクトルＶａ２を（Ｖａ２ｘ，Ｖａ２ｙ，Ｖａ２ｚ）とすると、空間直線Ｌ２の式は、以下の（８）式のようになる。
【０１７０】
【数４】
2010102113.tif 000006
【０１７１】
図２３（ａ）には、計測点の空間点Ｐ、上記のようにして算出した空間直線Ｌ１，Ｌ２、ゲージ平面Ｓが示されている。上述したように、ゲージ平面Ｓは、点Ｐを通り、かつ空間直線Ｌ１，Ｌ２を含む平面として算出される。以下にその算出方法を示す。
【０１７２】
まず、ゲージ平面Ｓの式を以下の（９）式のように定義する。
Ｓ：Ａｘ＋Ｂｙ＋Ｃｚ＝１  ・・・（９）
【０１７３】
ゲージ平面は点Ｐを通るので、以下の（１０）式が成り立つ。
Ａ・Ｐｘ＋Ｂ・Ｐｙ＋Ｃ・Ｐｚ＝１  ・・・（１０）
【０１７４】
また、ゲージ平面Ｓの法線ベクトルＶｐは（Ａ，Ｂ，Ｃ）である。図２３（ｂ）より、ベクトルＶｐは空間直線Ｌ１の方向ベクトルに垂直であると共に空間直線Ｌ２の方向ベクトルにも垂直であることがわかる。空間直線Ｌ１，Ｌ２の方向ベクトルは、上記のようにして算出した平均ベクトルＶａ１，Ｖａ２であり、ベクトルＶｐと平均ベクトルＶａ１，Ｖａ２との内積が０であることから、以下の（１１）式および（１２）式が成り立つ。
Ａ・Ｖａ１ｘ＋Ｂ・Ｖａ１ｙ＋Ｃ・Ｖａ１ｚ＝０  ・・・（１１）
Ａ・Ｖａ２ｘ＋Ｂ・Ｖａ２ｙ＋Ｃ・Ｖａ２ｚ＝０  ・・・（１２）
【０１７５】
（１０）式〜（１２）式より、Ａ，Ｂ，Ｃを求めることで、ゲージ平面Ｓを算出することができる。
【０１７６】
次に、ステップＳ２１８における、ゲージ目盛り点の空間座標の算出方法の詳細を説明する。まず、図２４を用いて、左右に並んだゲージ目盛り点の空間座標の算出方法を説明する。左右に並んだゲージ目盛り点の空間座標は、計測点の空間点Ｐ、空間直線Ｌ１、およびゲージ目盛り間隔から求まる。
【０１７７】
図２４（ａ）には、計測点の空間点Ｐ、空間直線Ｌ１、左右に並んだゲージ目盛り点の空間点Ｄｌ，Ｄｒ、ゲージ平面Ｓが示されている。点Ｄｌ，Ｄｒは、空間直線Ｌ１上にあり、かつ点Ｐからゲージ目盛り間隔Ｒだけ離れた位置にある２点である。
【０１７８】
このような点を求める場合は、図２４（ｂ）のように、点Ｐを中心とし、かつゲージ目盛り間隔Ｒを半径とする球Ｏを設定する。そして、この球Ｏと空間直線Ｌ１との交点が点Ｄｌ，Ｄｒとなる。球Ｏの式は、以下の（１３）式のようになる。
【０１７９】
【数５】
2010102113.tif 000007
【０１８０】
点Ｄｌ，Ｄｒの空間座標は、（４）式および（１３）式によって算出することができる。ここで、Ｒの値を変更することによって、複数のゲージ目盛り点の空間座標を算出することができる。例えば、ユーザが設定したゲージ半径が2.0mm、ゲージ目盛り間隔が0.5mmであった場合、Ｒの値を0.5mm間隔で0.5、1.0、1.5、2.0mmに設定することで、図２４（ｃ）のように、合計8点のゲージ目盛り点の空間座標を算出することができる。
【０１８１】
次に、図２５を用いて、上下に並んだゲージ目盛り点の空間座標の算出方法を説明する。上下に並んだゲージ目盛り点は、計測点の空間点Ｐ、空間直線Ｌ２、およびゲージ目盛り間隔から求まる。
【０１８２】
図２５（ａ）には、計測点の空間点Ｐ、空間直線Ｌ２、左右に並んだゲージ目盛り点の空間点Ｄｕ，Ｄｄ、ゲージ平面Ｓが示されている。点Ｄｕ，Ｄｄは、空間直線Ｌ２上にあり、かつ点Ｐからゲージ目盛り間隔Ｒだけ離れた位置にある２点である。
【０１８３】
点Ｄｕ，Ｄｄの空間座標は、（８）式および（１３）式によって算出することができる。ここで、Ｒの値を変更することによって、複数のゲージ目盛り点の空間座標を算出することができる。例えば、上記と同様に、ユーザが設定したゲージ目盛り間隔が0.5mm、ゲージ半径が2.0mmであった場合、Ｒの値を0.5mm間隔で0.5、1.0、1.5、2.0mmに設定することで、図２５（ｂ）のように、合計8点のゲージ目盛り点の空間座標を算出することができる。
【０１８４】
次に、図２６および図２７を用いて、ステップＳ２１９における、ゲージ周囲点の空間座標の算出方法の詳細を説明する。ゲージ周囲点は、計測点の空間点Ｐ、空間直線Ｌ１，Ｌ２、およびゲージ半径ｒから求まる。
【０１８５】
図２６（ａ）には、計測点の空間点Ｐ、空間直線Ｌ１，Ｌ２、上下左右に並んだゲージ周囲点の空間点Ｒｌ，Ｒｒ，Ｒｕ，Ｒｄ、ゲージ平面Ｓが示されている。点Ｒｌ，Ｒｒは、空間直線Ｌ１上にあり、かつ点Ｐからゲージ半径ｒだけ離れた位置にある２点である。点Rｌ，Ｒｒの空間座標は、（４）式と、（１３）式の右辺のRをrとした式とによって算出することができる。また、点Ｒｕ，Ｒｄは、空間直線Ｌ２上にあり、かつ点Ｐからゲージ半径ｒだけ離れた位置にある２点である。点Ｒｕ，Ｒｄの空間座標は、（８）式および（１３）式によって算出することができる。そして、これらの４点Ｒｌ，Ｒｒ，Ｒｕ，Ｒｄに基づいて、ゲージ周囲点の空間点をより細かい間隔で求めていく。
【０１８６】
図２６（ｂ）には、点Ｐから点Ｒｌ，ＲｕへのベクトルＶＲｌ，ＶＲｕが示されている。点Ｒｌ，Ｒｕの空間座標をそれぞれ（Ｒｌｘ，Ｒｌｙ，Ｒｌｚ）、（Ｒｕｘ，Ｒｕｙ，Ｒｕｚ）とすると、ベクトルＶＲｌ，ＶＲｕは、以下の（１４）式および（１５）式のようになる。
ＶＲｌ＝（Ｒｌｘ−Ｐｘ，Ｒｌｙ−Ｐｙ，Ｒｌｚ−Ｐｚ）  ・・・（１４）
ＶＲｕ＝（Ｒｕｘ−Ｐｘ，Ｒｕｙ−Ｐｙ，Ｒｕｚ−Ｐｚ）  ・・・（１５）
【０１８７】
図２６（ｃ）には、ベクトルＶＲｌ，ＶＲｕを平均化した平均ベクトルＶＡが示されている。平均ベクトルＶＡは、 以下の（１６）式のようになる。
【０１８８】
【数６】
2010102113.tif 000008
【０１８９】
図２６（ｄ）には、点Ｐを通り、かつ平均ベクトルＶＡを方向ベクトルとしてもつ空間直線ＬＡが示されている。ベクトルＶＡ１を（ＶＡｘ，ＶＡｙ，ＶＡｚ）とすると、空間直線ＬＡの式は、以下の（１７）式のようになる。
【０１９０】
【数７】
2010102113.tif 000009
【０１９１】
図２７（ａ）には、空間直線ＬＡ上にあり、かつ点Ｐからゲージ半径r分だけ離れた空間点Ｒｌｕ，Ｒｒｄが示されている。点Ｒｌｕ，Ｒｒｄの空間座標は、（１３）式の右辺のRをrとした式と（１７）式とによって算出することができる。これにより、点Ｒｌ，Ｒｕの間に位置するゲージ周囲点の空間点Ｒｌｕ、および点Ｒｒ，Ｒｄの間に位置するゲージ周囲点の空間点Ｒｒｄを算出することができる。さらに、これらのゲージ周囲点の空間点Ｒｌｕ，Ｒｒｄに基づいて、ゲージ周囲点の空間点をより細かい間隔で求めていく。
【０１９２】
図２７（ｂ）には、点Ｐから点ＲｌｕへのベクトルＶＲｌｕが示されている。ベクトルＶＲｌ，ＶＲｕおよびベクトルＶＲｌｕを用いて、上記と同様の方法で、ゲージ周囲点の空間点を求めると、図２７（ｃ）のように、点Ｒｌ，Ｒｌｕの間に位置するゲージ周囲点の空間点Ｒｌｌｕ、および点Ｒｌｕ，Ｒｕの間に位置するゲージ周囲点の空間点Ｒｌｕｕを算出することができる。このような処理を繰り返すことで、最終的に、図２７（ｄ）のように、合計３２点のゲージ周囲点の空間点が求められ、その空間座標が算出される。なお、ここでは合計３２点のゲージ周囲点の空間点が示されているが、より多くの点を求めても良い。
【０１９３】
次に、図２８を用いて、ステップＳ２２１，Ｓ２２２における、ゲージ目盛り線およびゲージ周囲線の表示の詳細を説明する。上下方向に並んだゲージ目盛り線に関しては、図２８（ａ）のように、ゲージ目盛り点２８００を中心に所定の長さの直線２８１０が左右方向に描画される。また、左右方向に並んだゲージ目盛り線に関しては、図２８（ｂ）のように、ゲージ目盛り点２８００を中心に所定の長さの直線２８２０が上下方向に描画される。このように、ゲージ目盛り点上に描画された直線がゲージ目盛り線となる。
【０１９４】
また、ゲージ周囲線に関しては、図２８（ｃ）のように、隣り合うゲージ周囲点２８３０を互いにつなぐように線２８４０（例えば直線）が描画される。このように、ゲージ周囲点を互いにつないで描画された線が、図２８（ｄ）に示すゲージ周囲線２８５０となる。
【０１９５】
図２９は、計測アイコン２９１０、ゲージ目盛り線２９２０、ゲージ周囲線２９３０を含むゲージ２９００の全体を示している。実際に左側計測領域内の画像上に表示されるのは図２９のようなゲージであり、図２８のようなゲージ目盛り点およびゲージ周囲点は表示されない。
【０１９６】
また、対象物距離に応じてインジケータおよび対象物距離の背景が変化するのと同様に、対象物距離に応じてゲージの表示色が変化する。表示色を変化させる理由は、インジケータおよび対象物距離の背景の表示色を変化させる理由と同様である。対象物距離が小さい場合（例えば15mm以下）、ゲージは緑色となる。対象物距離が少し大きい場合（例えば15mm〜30mm）、ゲージは黄色となる。対象物距離が非常に大きい場合（例えば30mm以上）、ゲージは赤色となる。
【０１９７】
また、計測点周辺の計測対象物の３次元的な形状や傾きに応じてゲージの形状が変化する。ゲージの形状が変化するのは、計測点周辺のサンプル点の空間座標に応じて、ゲージ平面の傾きが変化するためである。
【０１９８】
図３０（ａ）は、計測点周辺の計測対象物の表面が、挿入部２の先端に位置する固体撮像素子２ａの結像面に対してほぼ平行である場合（正対視）のゲージを示している。この場合、ゲージ平面も固体撮像素子２ａの結像面に対してほぼ平行となるため、ゲージ目盛り線３０００はほぼ等間隔に並んでおり、かつゲージ周囲線３０１０もほぼ円状になっている。
【０１９９】
図３０（ｂ）は、計測点周辺の計測対象物の表面が、固体撮像素子２ａの結像面に対して傾いている場合のゲージを示している。より具体的には、計測点周辺の計測対象物の上側に向かうほど、対象物距離が大きくなっている場合である。この場合、上下方向に並んだゲージ目盛り線３０２０は、上側に向かうほど間隔が小さくなっており、かつゲージ周囲線３０３０も、上側に向かうほど楕円状につぶれた形状になっている。
【０２００】
図３０（ｃ）も、計測点周辺の計測対象物の表面が、固体撮像素子２ａの結像面に対して傾いている場合のゲージを示している。より具体的には、計測点周辺の計測対象物の左側に向かうほど、対象物距離が大きくなっている場合である。この場合、左右方向に並んだゲージ目盛り線３０４０は、左側に向かうほど間隔が小さくなっており、かつゲージ周囲線３０５０も、左側に向かうほど楕円状につぶれた形状になっている。
【０２０１】
また、メインウィンドウでユーザが設定したゲージ半径およびゲージ目盛り間隔に応じて、ゲージのサイズが変化する。図３１（ａ）は、ゲージ半径が2.0mm、ゲージ目盛り間隔が0.5mm場合のゲージを示している。図３１（ｂ）は、ゲージ半径が4.0mm、ゲージ目盛り間隔が1.0mm場合のゲージを示している。図３１（ａ）の場合と比べて、ゲージ周囲線が広がり、かつゲージ目盛り間隔も大きくなっていることがわかる。図３１（ｃ）は、ゲージ半径が1.0mm、ゲージ目盛り間隔が0.2mm場合のゲージを示している。図３１（ａ）の場合と比べて、ゲージ周囲線が縮まり、かつゲージ目盛り間隔も小さくなっていることがわかる。
【０２０２】
上述したように、本実施形態によれば、計測対象物の表面を近似する平面上の複数点の空間座標に対応した複数点の画像座標で決まる位置にゲージが表示される。このゲージの形状は、画像の奥行き方向の計測対象物の傾きを反映したものとなるので、画像の奥行き方向の被写体の傾きをユーザに知らせることができる。
【０２０３】
また、本実施形態によれば、ゲージ目盛り間隔だけ離れた２点（ゲージ目盛り点）の空間座標に対応した画像座標の位置にゲージ目盛り線が表示される。さらに、計測点の空間座標に対応した画像座標の位置に計測アイコンが表示され、計測点からゲージ半径だけ離れた点（ゲージ周囲点）の空間座標に対応した画像座標の位置にゲージ周囲線が表示される。ゲージ目盛り線やゲージ周囲線から把握される距離は計測対象物の大きさの基準となるので、計測対象物の大きさをユーザに知らせることができる。また、ゲージ目盛り間隔やゲージ半径はメインウィンドウ内の所定位置に表示されるため、ユーザはゲージ目盛り間隔やゲージ半径を知ることが可能である。したがって、ユーザは、そのゲージ目盛り間隔やゲージ半径を頼りに計測対象物の大きさを計測することができる。
【０２０４】
また、本実施形態によれば、以下の効果も得られる。従来の内視鏡装置では、搭載されるＣＰＵの性能やＲＡＭの容量の限界から、内視鏡装置上で動画像を用いてリアルタイムに計測を行うことが困難であった。しかし、本実施形態によれば、内視鏡装置１からネットワーク経由で動画像をＰＣ５に伝送し、ＰＣ５上でリアルタイムに計測を行うことができる。本実施形態では、ＰＣ５上でゲージ計測を行うようにしているが、ＣＰＵの性能やＲＡＭの容量が十分であれば、内視鏡装置１の計測処理部１１４が、本実施形態と同様のゲージ計測に関する処理を行うようにしてもよい。
【０２０５】
次に、本実施形態の変形例を説明する。まず、第１の変形例を説明する。上記では、ゲージの角度（傾き）は固定であったが、本変形例ではゲージの角度を任意に変更することができる。
【０２０６】
図３２は、本変形例におけるゲージ計測で行われる処理の流れを示している。図１８に示した処理と異なるのは、ステップＳ２３０，Ｓ２３１，Ｓ２３２が追加されていることと、ステップＳ２１２のサンプル点座標の算出方法が異なっていることである。これらのステップの処理について、以下に説明する。
【０２０７】
ステップＳ２３０では、ＣＰＵ５０７は、カーソルが左側計測領域内にある状態で、操作部５０３の有するマウスが左クリックされたか否かを確認する。マウスが左クリックされた場合、処理はステップＳ２３１に移行し、マウスが左クリックされなかった場合、処理はステップＳ２０５に移行する。ステップＳ２３１では、ＣＰＵ５０７は、ＲＡＭ５０５に記憶されたゲージ角度をインクリメント（増加）する。ゲージ角度の初期値は0deg（0°）であり、本変形例では例えばゲージ角度が30deg単位でインクリメントされる。
【０２０８】
ステップＳ２３２では、ＣＰＵ５０７は、ＲＡＭ５０５に記憶されたゲージ角度を読み込む。続いて、ステップＳ２１２では、ＣＰＵ５０７は、ゲージ計測を行うためのサンプル点座標を算出する。図１９では、計測点から上下左右に見た方向に並んだ点をサンプル点としていた。これに対して、本変形例では、図３３のように、図１９のサンプル点を、計測点を中心にゲージ角度だけ時計回りに回転させた点をサンプル点としている。
【０２０９】
上下左右の４方向を基準方向とすると、図３３（ａ）では、計測点３３００を中心に、基準方向から30deg分、時計回りに回転した方向にサンプル点３３１０が並んでいることがわかる。また、ステップＳ２３０において、再度マウスが左クリックされた場合は、ステップＳ２３１において、再度ゲージ角度が30degインクリメントされるので、ゲージ角度は60degとなる。この場合、図３３（ｂ）のように、計測点３３２０を中心に、上下左右の基準方向から60deg分、時計回りに回転した方向にサンプル点３３３０が並んでいることがわかる。
【０２１０】
さらに、ステップＳ２３０において、再度マウスが左クリックされた場合は、ステップＳ２３１において、再度ゲージ角度が30degインクリメントされるので、ゲージ角度は90degとなる。この場合、図３３（ｂ）のように、計測点３３４０を中心に、上下左右の基準方向から90deg分、時計回りに回転した方向にサンプル点３３５０が並ぶことになるが、見た目上は、ゲージ角度が0degの状態に戻ることになる。
【０２１１】
計測点座標を中心にサンプル点座標が回転するということは、それに伴って、算出される空間直線Ｌ１，Ｌ２およびゲージ平面も３次元空間上で回転するということである。そのため、ゲージも、計測点を中心に回転して表示されることになる。
【０２１２】
図３４（ａ）は、ゲージ角度が30degの場合に左側計測領域内の画像上に表示されたゲージを示している。計測点を中心にしてゲージが回転していることがわかる。図３４（ｂ）は、ゲージ角度が60degの場合に左側計測領域内の画像上に表示されたゲージを示している。計測点を中心にしてゲージが図３４（ａ）の場合よりもさらに回転していることがわかる。図３４（ｃ）は、ゲージ角度が90degの場合に左側計測領域内の画像上に表示されたゲージを示している。計測点を中心にしてゲージが図３４（ｂ）の場合よりもさらに回転し、元の角度に戻っていることがわかる。
【０２１３】
このように、ゲージの角度を任意に変更することで、画面に写っている計測対象物の角度に合わせて、ゲージによるサイズ計測を行うことができる。本変形例では、ゲージ角度を30degずつインクリメントさせていたが、他の角度を用いてもでも良い。ただし、インクリメントする角度は、15deg、30deg、45degなど、90degの約数を用いると良い。そうすれば、ゲージ角度をインクリメントしていくと、ゲージ角度はいずれ90degとなり、見た目上は、ゲージ角度が0degの状態に戻ることになる。
【０２１４】
本変形例によれば、計測対象物が所定の方向に対して傾いて映っていた場合でも、ユーザは、ゲージを任意に回転させることで、精度の高いゲージ計測を行うことができる。
【０２１５】
次に、本実施形態の第２の変形例を説明する。本変形例では、対象物距離が変化しても、ゲージ半径、ゲージ目盛り間隔が常に適切なサイズで表示されるように、ネットワーク計測ソフトがゲージ半径、ゲージ目盛り間隔の設定を自動的に変更する機能を備えている。本実施形態では、ユーザがゲージ設定ボックスにより設定するゲージ半径、ゲージ目盛り間隔は、３次元空間上の固定された長さであるため、対象物距離に応じて、２次元平面（固体撮像素子２ａの結像面）に投影したそれらの長さが以下のように変化する。
【０２１６】
図３５は、本実施形態における、対象物距離に応じたゲージの表示サイズの変化を示している。図３５（a）は、対象物距離が小さい場合のゲージの表示例である。この場合、表示されたゲージ３５００のゲージ半径、ゲージ目盛り間隔が共に非常に大きくなっている。このようなゲージ３５００は、ゲージ目盛り間隔が大きすぎて計測対象物のサイズを詳細に測れなかったり、ゲージ３５００が計測領域３５１０からはみ出したりするなど、必ずしも計測対象物のサイズを測る上で有効ではないことがある。
【０２１７】
図３５（ｂ）は、対象物距離が少し大きい場合のゲージの表示例である。この場合、表示されたゲージ３５２０のゲージ半径、ゲージ目盛り間隔が適切な大きさとなっている。図３５（ｃ）は、対象物距離が非常に大きい場合のゲージの表示例である。この場合、表示されたゲージ３５３０のゲージ半径、ゲージ目盛り間隔が共に非常に小さくなっている。このようなゲージ３５３０は、計測対象物のサイズを測る上で明らかに有効ではない。
【０２１８】
このように、本実施形態では、対象物距離に応じて、ゲージ半径、ゲージ目盛り間隔の大きさが変化してしまうため、計測対象物のサイズを測る上で必ずしも有効ではないことがあった。そこで、本変形例では、対象物距離が変化しても、ゲージ半径、ゲージ目盛り間隔が常に適切なサイズで表示されるように、ネットワーク計測ソフトがゲージ半径、ゲージ目盛り間隔の設定を自動的に変更する機能を備えている。
【０２１９】
図３６は、本変形例におけるゲージ設定ボックスを示している。ゲージ設定ボックスの下側には、前述したゲージ径設定ボックス３６００、ゲージ目盛り設定ボックス３６１０に加えて、pixel単位で長さを設定するゲージ半径設定ボックス３６２０、ゲージ目盛り設定ボックス３６３０が配置されている。
【０２２０】
さらにゲージ設定ボックスの左側には、ラジオボタン３６４０，３６５０も配置されている。ユーザは、これらのラジオボタン３６４０，４６５０によって、ゲージ半径およびゲージ目盛り間隔をmm（もしくはinch）単位で設定するか、pixel単位で設定するかを選択することができる。
【０２２１】
ユーザが上側のラジオボタン３６４０を選択した場合、ゲージ設定ボックスは図３６（ａ）のような状態となり、ネットワーク計測ソフトの動作モードは、ゲージ半径およびゲージ目盛り間隔をmm（もしくはinch）単位で設定するモードとなる。pixel単位で設定するゲージ径設定ボックス３６２０、ゲージ目盛り設定ボックス３６３０は無効状態となり、数値も表示されない。これは、本実施形態と同じモードである。
【０２２２】
一方、ユーザが下側のラジオボタン３６５０を選択した場合、ゲージ設定ボックスは図３６（ｂ）のような状態となり、ネットワーク計測ソフトの動作モードは、ゲージ半径およびゲージ目盛り間隔をpixel単位で設定する状態となる。mm（もしくはinch）単位で設定するゲージ径設定ボックス３６００、ゲージ目盛り設定ボックス３６１０は無効状態となる。ただし、数値は表示される。本変形例では、このモードを選択する。
【０２２３】
図３７は、本変形例におけるゲージ計測で行われる処理の流れを示している。図１８に示したゲージ計測で行われる処理と異なるのは、単位長さの算出（ステップＳ２４０）とゲージ半径およびゲージ目盛り間隔の表示（ステップＳ２４３，Ｓ２４４）が追加されていること、ステップＳ２１６，Ｓ２１７の代わりにゲージ半径およびゲージ目盛り間隔をpixel単位で取得する（ステップＳ２４１，Ｓ２４２）ようになっていること、ゲージ目盛り点およびゲージ周囲点の空間座標の算出方法（ステップＳ２１８，Ｓ２１９）である。これらのステップについて、以下に説明する。
【０２２４】
まず、図３８を用いて、ステップＳ２４０における単位長さの算出方法を説明する。単位長さとは、計測画面における1pixelに対応した、空間上におけるmm（もしくはinch）単位の長さのことであり、後述するゲージ目盛り点およびゲージ周囲点の空間座標を算出する際に使用する。単位長さは、対象物距離に応じて変化する。概して、対象物距離が大きいほど単位長さは小さくなり、対象物距離が小さいほど単位長さは大きくなる。
【０２２５】
図３８（ａ）には、計測点の空間点Ｐ、４つの左側サンプル点の空間点Ｓｌ１〜Ｓｌ４、４つの右側サンプル点の空間点Ｓｒ１〜Ｓｒ４が示されている。図３８（ｂ）には、点Ｓｌ１〜Ｓｌ４と点Ｐとの距離Ｌｌ１〜Ｌｌ４、および点Ｓｒ１〜Ｓｒ４と点Ｐとの距離Ｌｒ１〜Ｌｒ４が示されている。点Ｐ、点Ｓｌ１〜Ｓｌ４、および点Ｓｒ１〜Ｓｒ４の空間座標をそれぞれ（Ｐｘ，Ｐｙ，Ｐｚ）、（Ｓｌｘｉ，Ｓｌｙｉ，Ｓｌｚｉ）、（Ｓｒｘｉ，Ｓｒｙｉ，Ｓｒｚｉ）とすると（ｉ＝１〜４）、距離Ｌｌ１〜Ｌｌ４，Ｌｒ１〜Ｌｒ４の式は、以下の（１８）式および（１９）式のようになる。
【０２２６】
【数８】
2010102113.tif 000010
【０２２７】
【数９】
2010102113.tif 000011
【０２２８】
ここで、距離Ｌｌ１は点Ｓｌ１と点Ｐとの距離であり、点Ｓｌ１は計測点から10pixel離れたサンプル点から算出された空間点であるので、単位長さはＬｌ１／１０となる。また、距離Ｌｌ２は点Ｓｌ２と点Ｐとの距離であり、点Ｓｌ２は計測点から20pixel離れたサンプル点から算出された空間点であるので、単位長さはＬｌ２／２０となる。同様に、距離Ｌｌ３、Ｌｌ４については、単位長さはそれぞれＬｌ３／３０、Ｌｌ４／４０となる。さらに、距離Ｌｒ１〜Ｌｒ４については、単位長さはそれぞれＬｒ１／１０、Ｌｒ２／２０、Ｌｒ３／３０、Ｌｒ４／４０となる。これらの平均を取ることにより、左側サンプル点および右側サンプル点の空間点から求めた単位長さＬｌｒｐは、以下の（２０）式のようになる。
【０２２９】
【数１０】
2010102113.tif 000012
【０２３０】
図３８（ｃ）には、計測点の空間点Ｐ、４つの上側サンプル点の空間点Ｓｕ１〜Ｓｕ４、４つの下側サンプル点の空間点Ｓｄ１〜Ｓｄ４が示されている。図３８（ｄ）には、点Ｓｕ１〜Ｓｕ４と点Ｐとの距離Ｌｕ１〜Ｌｕ４、および点Ｓｄ１〜Ｓｄ４と点Ｐとの距離Ｌｄ１〜Ｌｄ４が示されている。点Ｓｕ１〜Ｓｕ４，点Ｓｄ１〜Ｓｄ４の空間座標をそれぞれ（Ｓｕｘｉ，Ｓｕｙｉ，Ｓｕｚｉ）、（Ｓｄｘｉ，Ｓｄｙｉ，Ｓｄｚｉ）とすると（ｉ＝１〜４）、距離Ｌｕ１〜Ｌｕ４，Ｌｄ１〜Ｌｄ４の式は、以下の（２１）式および（２２）式のようになる。
【０２３１】
【数１１】
2010102113.tif 000013
【０２３２】
【数１２】
2010102113.tif 000014
【０２３３】
また、上記と同様に、上側サンプル点および下側サンプル点の空間点から求めた単位長さＬｕｄｐは、以下の（２３）式のようになる。
【０２３４】
【数１３】
2010102113.tif 000015
【０２３５】
上記において求めた単位長さＬｌｒｐ，Ｌｕｄｐのうち、より大きい方を採用し、これを単位長さＬｐとする。これは、単位長さが大きいほうが、上下方向に並んだサンプル点の空間点、および左右方向に並んだサンプル点の空間点のうち、挿入部２の先端に位置する固体撮像素子２ａの結像面に対して、より平行に近い方向に並んでいると考えられるからである。言い換えると、上下方向に並んだサンプル点の空間点、および左右方向に並んだサンプル点の空間点のうち、単位長さが大きいほうに対応した空間点のほうが、挿入部２の先端に位置する固体撮像素子２ａの結像面に対して、より平行に近い方向に並んでいると考えられるからである。
【０２３６】
ステップＳ２４１では、ＣＰＵ５０７は、pixel単位のゲージ径設定ボックス３６２０に設定されたゲージ半径を取得し、ＲＡＭ５０５に記憶する。ステップＳ２４２では、ＣＰＵ５０７は、pixel単位のゲージ目盛り設定ボックス３６３０に設定されたゲージ目盛り間隔を取得し、ＲＡＭ５０５に記憶する。
【０２３７】
ステップＳ２１８では、ＣＰＵ５０７は、ゲージ平面、ゲージ半径、およびゲージ目盛り間隔に基づいて、ゲージ目盛り点の空間座標を算出する。ただし、ステップＳ２４１，Ｓ２４２で取得したゲージ半径およびゲージ目盛り間隔はpixel単位であるので、ＣＰＵ５０７は、これらに単位長さＬｐを乗算して、mm（もしくはinch）単位に変換する。これ以降、ＣＰＵ５０７は、前述した方法と同様の方法でゲージ目盛り点の空間座標を算出する。
【０２３８】
ステップＳ２１９では、ＣＰＵ５０７は、ゲージ平面およびゲージ半径に基づいて、ゲージ周囲点の空間座標を算出する。ただし、ステップＳ２４１で取得したゲージ半径はpixel単位であるので、ＣＰＵ５０７は、これに単位長さＬｐを乗算して、mm（もしくはinch）単位に変換する。これ以降、ＣＰＵ５０７は、前述した方法と同様の方法でゲージ周囲点の空間座標を算出する。
【０２３９】
ステップＳ２４３では、ＣＰＵ５０７は、mm（もしくはinch）単位に変換されたゲージ半径をmm（もしくはinch）単位のゲージ径設定ボックス３６００に表示する処理を行う。ステップＳ２４４では、ＣＰＵ５０７は、mm（もしくはinch）単位に変換されたゲージ目盛り間隔をmm（もしくはinch）単位のゲージ目盛り設定ボックス３６１０に表示する処理を行う。
【０２４０】
図３９は、本変形例における、対象物距離に応じたゲージの表示サイズの変化を示している。図３９（ａ）は、対象物距離が小さい場合のゲージの表示例である。図３９（ｂ）は、対象物距離が図３９（ａ）の場合よりも少し大きい場合のゲージの表示例である。図３９（ｃ）は、図３９（ａ）の場合よりも対象物距離が非常に大きい場合のゲージの表示例である。図３９（ａ）〜（ｃ）に示すように、対象物距離が変化してもゲージ３９００の表示サイズは変化せず、ほぼ一定である。これは、対象物距離が変化しても、pixel単位のゲージ半径およびゲージ目盛り間隔が一定になるように、mm（もしくはinch）単位のゲージ半径およびゲージ目盛り間隔が変更されるからである。
【０２４１】
図４０は、本変形例における、対象物距離に応じたゲージ設定ボックスの表示の変化を示している。図４０（ａ）、（ｂ）、（ｃ）は、それぞれ対象物距離が小さい場合、少し大きい場合、非常に大きい場合のゲージ設定ボックスの表示例である。対象物距離に応じて、mm（もしくはinch）単位のゲージ径設定ボックス４０００、ゲージ目盛り設定ボックス４０１０の値が変化することがわかる。
【０２４２】
本変形例によれば、対象物距離が変化しても、ゲージ半径、ゲージ目盛り間隔が常に適切なサイズで表示されるので、ユーザは、ゲージを用いて、効率的に計測対象物のサイズを測ることができる。
【０２４３】
次に、本実施形態の第３の変形例を説明する。本実施形態では、サンプル点間隔は常に一定であったが、本変形例では、ユーザがサンプル点間隔を任意に変更することができる。さらに、本変形例では、対象物距離に応じて、ネットワーク計測ソフトがサンプル点間隔を自動的に変更する機能を備えている。
【０２４４】
本実施形態では、サンプル点間隔は常に一定であった。そのため、図４１（ａ）のように、丸くくぼんだ領域４１００をもつ計測対象物に対してゲージ計測を行う際、カーソルの位置によっては、図４１（ｂ）のように、サンプル点４１１０が、くぼんだ領域４１００とそうでない領域とにまたがって設定され、正確なゲージ平面を算出できないことがあった。そこで、サンプル点として用いる範囲を設定できるように、本変形例では、ユーザがサンプル点間隔を任意に変更することができる。
【０２４５】
ゲージ計測中に、ユーザが左側計測領域内でマウスを右クリックすると、一定期間ゲージが非表示となり、図４２（ａ）のように、サンプル点４２００が表示される。この状態で、ユーザがマウスを一定期間右クリックしないままでおくと、サンプル点４２００が非表示となり、ゲージが再度表示される。
【０２４６】
図４２（ａ）の状態から、ユーザがマウスを右クリックすると、図４２（ｂ）のように、サンプル点間隔が小さくなって、サンプル点４２００が表示される。この状態で、ユーザがマウスを一定期間右クリックしないままでおくと、サンプル点が非表示となり、ゲージが再度表示される。このとき、間隔が小さくなったサンプル点を用いて、ゲージの計算が行われる。
【０２４７】
図４２（ｂ）の状態から、ユーザがマウスを右クリックすると、図４２（ｃ）のように、サンプル点間隔が大きくなって、サンプル点４２００が表示される。この状態で、ユーザがマウスを一定期間右クリックしないままでおくと、サンプル点が非表示となり、ゲージが再度表示される。このとき、間隔が大きくなったサンプル点を用いて、ゲージの計算が行われる。図４２（ｃ）の状態から、再度ユーザがマウスを右クリックすると、図４２（ｄ）のように、サンプル点間隔が元に戻り、図４２（ａ）と同じ状態になる。
【０２４８】
このように、ユーザが左側計測領域内でマウスを右クリックすることにより、サンプル点間隔を任意に変更することができる。ＣＰＵ５０７は、ユーザによるマウスの操作結果に応じて操作部５０３から出力される信号に基づいてサンプル点間隔を設定する。なお、上記の例では、サンプル点間隔は３段階しか変化していないが、より多くの段階にサンプル点間隔を変化させることができるようにしても良い。
【０２４９】
上記の方法では、ユーザがサンプル点間隔を任意に変更していたが、他の方法として、対象物距離に応じて、ネットワーク計測ソフトがサンプル点間隔を自動的に変更する機能を備えていても良い。この方法を以下に説明する。
【０２５０】
図４３は、ネットワーク計測ソフトが保持しているサンプル点間隔テーブルの一例を示している。サンプル点間隔テーブルは、対象物距離とサンプル点間隔との関係を示したものである。サンプル点間隔テーブルでは、対象物距離が大きくなるに従って、サンプル点間隔が大きくなっていることがわかる。
【０２５１】
一般的に、対象物距離に関係なく、サンプル点の空間点は、空間上においてできるだけ一定の大きさの領域に分布していることが望ましい。そのほうが、ゲージ平面の算出条件が、対象物距離によって変化しないからである。そのため、サンプル点間隔テーブルでは、対象物距離が大きくなるに従って、サンプル点間隔が大きくなるように設定されている。
【０２５２】
図４４は、サンプル点間隔テーブルを用いた場合に、サンプル点間隔がどのように変化するかを示している。図４４（ａ）は、対象物距離が小さい場合のサンプル点であり、サンプル点間隔は大きくなっている。図４４（ｂ）は、対象物距離が少し大きい場合のサンプル点間隔であり、サンプル点間隔は中くらいである。図４４（ｃ）は、対象物距離が非常に大きい場合のサンプル点間隔であり、サンプル点間隔は小さくなっている。図４４では、サンプル点を表示しているが、実際には、サンプル点は表示されない。このように、対象物距離に応じて、ネットワーク計測ソフトがサンプル点間隔を自動的に変更する機能を備えているので、ユーザはマウスカーソルを移動させるだけで、適切なサンプル点間隔を設定することができる。
【０２５３】
本変形例によれば、ユーザがサンプル点間隔を任意に変更する、または、対象物距離に応じて、ネットワーク計測ソフトがサンプル点間隔を自動的に変更することによって、ユーザは、ゲージを用いて、効率的にかつ精度良く計測対象物のサイズを測ることができる。
【０２５４】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【図面の簡単な説明】
【０２５５】
【図１】本発明の一実施形態による内視鏡システムの構成を示す構成図である。
【図２】本発明の一実施形態による内視鏡装置の構成を示すブロック図である。
【図３】本発明の一実施形態によるパーソナルコンピュータの構成を示すブロック図である。
【図４】本発明の一実施形態におけるネットワーク計測ソフトのメインウィンドウを示す参考図である。
【図５】本発明の一実施形態におけるネットワーク計測ソフトのステータス遷移を示す参考図である。
【図６】本発明の一実施形態におけるネットワーク計測ソフトのメインウィンドウ内に表示されるステータスボックスの表示状態を示す参考図である。
【図７】本発明の一実施形態におけるネットワーク計測ソフトによる処理の手順を示すフローチャートである。
【図８】本発明の一実施形態におけるネットワーク計測ソフトによる処理の手順を示すフローチャートである。
【図９】本発明の一実施形態におけるネットワーク計測ソフトによる処理の手順を示すフローチャートである。
【図１０】本発明の一実施形態におけるネットワーク計測ソフトによるステータス切替時の処理の手順を示すフローチャートである。
【図１１】本発明の一実施形態におけるネットワーク計測ソフトによるステータス切替時の処理の手順を示すフローチャートである。
【図１２】本発明の一実施形態におけるネットワーク計測ソフトによるステータス切替時の処理の手順を示すフローチャートである。
【図１３】本発明の一実施形態におけるネットワーク計測ソフトによるステータス切替時の処理の手順を示すフローチャートである。
【図１４】本発明の一実施形態におけるネットワーク計測ソフトによる通信時の処理の手順を示すフローチャートである。
【図１５】本発明の一実施形態におけるネットワーク計測ソフトによる通信時の処理の手順を示すフローチャートである。
【図１６】本発明の一実施形態におけるネットワーク計測ソフトによる通信時の処理の手順を示すフローチャートである。
【図１７】本発明の一実施形態におけるネットワーク計測ソフトによる通信時の処理の手順を示すフローチャートである。
【図１８】本発明の一実施形態におけるネットワーク計測ソフトによるゲージ計測時の処理の手順を示すフローチャートである。
【図１９】本発明の一実施形態におけるサンプル点を示す参考図である。
【図２０】本発明の一実施形態におけるインジケータおよび対象物距離の表示状態を示す参考図である。
【図２１】本発明の一実施形態におけるゲージ平面の算出方法を説明するための参考図である。
【図２２】本発明の一実施形態におけるゲージ平面の算出方法を説明するための参考図である。
【図２３】本発明の一実施形態におけるゲージ平面の算出方法を説明するための参考図である。
【図２４】本発明の一実施形態におけるゲージ目盛り点の算出方法を説明するための参考図である。
【図２５】本発明の一実施形態におけるゲージ目盛り点の算出方法を説明するための参考図である。
【図２６】本発明の一実施形態におけるゲージ周囲点の算出方法を説明するための参考図である。
【図２７】本発明の一実施形態におけるゲージ周囲点の算出方法を説明するための参考図である。
【図２８】本発明の一実施形態におけるゲージ目盛り線およびゲージ周囲線の表示方法を説明するための参考図である。
【図２９】本発明の一実施形態におけるゲージの表示方法を説明するための参考図である。
【図３０】本発明の一実施形態におけるゲージの形状が変化する様子を示す参考図である。
【図３１】本発明の一実施形態におけるゲージの大きさが変化する様子を示す参考図である。
【図３２】本発明の一実施形態におけるネットワーク計測ソフトによるゲージ計測時の処理の手順を示すフローチャートである。
【図３３】本発明の一実施形態におけるサンプル点の変化を示す参考図である。
【図３４】本発明の一実施形態におけるゲージの角度の変化を示す参考図である。
【図３５】本発明の一実施形態におけるゲージの表示サイズの変化を示す参考図である。
【図３６】本発明の一実施形態におけるゲージ設定ボックスを示す参考図である。
【図３７】本発明の一実施形態におけるネットワーク計測ソフトによるゲージ計測時の処理の手順を示すフローチャートである。
【図３８】本発明の一実施形態における単位長さの算出方法を説明するための参考図である。
【図３９】本発明の一実施形態におけるゲージの表示サイズの変化を示す参考図である。
【図４０】本発明の一実施形態におけるゲージ設定ボックスの変化を示す参考図である。
【図４１】本発明の一実施形態におけるサンプル点の設定の様子を示す参考図である。
【図４２】本発明の一実施形態におけるサンプル点の設定方法を説明するための参考図である。
【図４３】本発明の一実施形態におけるサンプル点間隔テーブルの内容を示す参考図である。
【図４４】本発明の一実施形態におけるサンプル点間隔の変化を示す参考図である。
【符号の説明】
【０２５６】
１・・・内視鏡装置、２・・・挿入部（電子内視鏡）、３・・・計測対象物、４・・・ネットワーク、５・・・ＰＣ（画像処理装置）、１０５・・・ＣＣＵ（映像信号生成部）、１０８・・・映像信号処理回路（表示信号生成部）、１１４・・・計測処理部（座標算出部、平面算出部）、１１５・・・ネットワークＩ／Ｆ（送信部）、５０７・・・ＣＰＵ（座標算出部、平面算出部、表示信号生成部）、５０８・・・ネットワークＩ／Ｆ（受信部）
【図１】
2010102113.tif 000016
【図２】
2010102113.tif 000017
【図３】
2010102113.tif 000018
【図４】
2010102113.tif 000019
【図５】
2010102113.tif 000020
【図６】
2010102113.tif 000021
【図７】
2010102113.tif 000022
【図８】
2010102113.tif 000023
【図９】
2010102113.tif 000024
【図１０】
2010102113.tif 000025
【図１１】
2010102113.tif 000026
【図１２】
2010102113.tif 000027
【図１３】
2010102113.tif 000028
【図１４】
2010102113.tif 000029
【図１５】
2010102113.tif 000030
【図１６】
2010102113.tif 000031
【図１７】
2010102113.tif 000032
【図１８】
2010102113.tif 000033
【図１９】
2010102113.tif 000034
【図２０】
2010102113.tif 000035
【図２１】
2010102113.tif 000036
【図２２】
2010102113.tif 000037
【図２３】
2010102113.tif 000038
【図２４】
2010102113.tif 000039
【図２５】
2010102113.tif 000040
【図２６】
2010102113.tif 000041
【図２７】
2010102113.tif 000042
【図２８】
2010102113.tif 000043
【図２９】
2010102113.tif 000044
【図３０】
2010102113.tif 000045
【図３１】
2010102113.tif 000046
【図３２】
2010102113.tif 000047
【図３３】
2010102113.tif 000048
【図３４】
2010102113.tif 000049
【図３５】
2010102113.tif 000050
【図３６】
2010102113.tif 000051
【図３７】
2010102113.tif 000052
【図３８】
2010102113.tif 000053
【図３９】
2010102113.tif 000054
【図４０】
2010102113.tif 000055
【図４１】
2010102113.tif 000056
【図４２】
2010102113.tif 000057
【図４３】
2010102113.tif 000058
【図４４】
2010102113.tif 000059