以下、図面を参照し、本発明の実施形態を説明する。以下では、3次元画像表示装置が内視鏡装置である例を説明する。3次元画像表示装置は、画像表示機能を有する装置でありさえすればよく、内視鏡装置に限らない。被写体は、工業製品である。
(第1の実施形態)
図1は、本発明の第1の実施形態の内視鏡装置1(3次元画像表示装置)の全体構成を示す。図2は、内視鏡装置1の内部構成を示す。内視鏡装置1は、被写体を撮像し、画像を使用して被写体の幾何学的特徴を計測する。検査者は、種々の被写体の観察と計測とを行うために、挿入部2の先端20に装着される光学アダプターの交換と、内蔵された計測処理プログラムの選択と、計測処理プログラムの追加とを行うことが可能である。
図1に示す内視鏡装置1は、挿入部2、本体3、操作部4、および表示部5を有する。
挿入部2は、被写体の内部に挿入される。挿入部2は、先端20から基端部にわたって屈曲可能な細長い管状である。挿入部2は、計測部分を撮像し、かつ撮像信号を本体3に出力する。挿入部2の先端20には、光学アダプターが装着される。本体3は、挿入部2を収納する収納部を備えた制御装置である。操作部4は、内視鏡装置1に対する操作をユーザーから受ける。表示部5は、表示画面を有し、かつ挿入部2によって取得された被写体の画像および操作メニュー等を表示画面に表示する。
操作部4は、ユーザーインタフェースである。例えば、操作部4は、ボタン、スイッチ、キー、マウス、ジョイスティック、タッチパッド、トラックボール、およびタッチパネルの少なくとも1つを含む。表示部5は、LCD(Liquid Crystal Display)等のモニタ(ディスプレイ)である。表示部5は、タッチパネルであってもよい。その場合、操作部4および表示部5は一体化される。
図2に示す本体3は、内視鏡ユニット8、CCU(Camera Control Unit)9、および制御装置10を有する。内視鏡ユニット8は、図示していない光源装置および湾曲装置を有する。光源装置は、観察に必要な照明光を供給する。湾曲装置は、図示していない湾曲機構を湾曲させる。挿入部2の先端20には撮像素子28が内蔵されている。撮像素子28は、イメージセンサである。撮像素子28は、光学アダプターによって形成された被写体像(光学像)を光電変換し、かつ撮像信号を生成する。CCU9は、撮像素子28を駆動する。撮像素子28から出力された撮像信号がCCU9に入力される。CCU9は、撮像素子28によって取得された撮像信号に対して、増幅およびノイズ除去等を含む前処理を行う。CCU9は、処理された撮像信号をNTSC信号等の映像信号に変換する。
制御装置10は、映像信号処理回路12、ROM(Read Only Memory)13、RAM(Random Access Memory)14、カードインタフェース15、外部機器インタフェース16、制御インタフェース17、およびCPU(Central Processing Unit)18を有する。
映像信号処理回路12は、CCU9から出力された映像信号に対して、所定の映像処理を施す。例えば、映像信号処理回路12は、視認性向上に関わる映像処理を行う。例えば、その映像処理は、色再現、階調補正、ノイズ抑制、および輪郭強調などである。映像信号処理回路12は、計測実行時には、計測性能を向上させるための処理も行う。また、映像信号処理回路12は、CCU9から出力された映像信号と、CPU18によって生成されたグラフィック画像信号とを合成する。グラフィック画像信号は、操作画面の画像および計測情報等を含む。計測情報は、計測結果等を含む。映像信号処理回路12は、合成された映像信号を表示部5に出力する。また、映像信号処理回路12は、CCU9から出力された映像信号に基づく画像データをCPU18に出力する。
ROM13は、CPU18が内視鏡装置1の動作を制御するためのプログラムが記録された不揮発性の記録媒体である。RAM14は、CPU18が内視鏡装置1の制御のために使用する情報を一時的に記憶する揮発性の記録媒体である。CPU18は、ROM13に記録されたプログラムに基づいて内視鏡装置1の動作を制御する。
着脱可能な記録媒体であるメモリカード42がカードインタフェース15に接続される。カードインタフェース15は、メモリカード42に記憶されている制御処理情報および画像情報等を制御装置10に取り込む。また、カードインタフェース15は、内視鏡装置1によって生成された制御処理情報および画像情報等をメモリカード42に記録する。
USB機器等の外部機器が外部機器インタフェース16に接続される。例えば、パーソナルコンピュータ41が外部機器インタフェース16に接続される。外部機器インタフェース16は、パーソナルコンピュータ41へ情報を送信し、かつパーソナルコンピュータ41から情報を受信する。これによって、パーソナルコンピュータ41のモニタが情報を表示することができる。また、ユーザーは、パーソナルコンピュータ41に指示を入力することにより、内視鏡装置1の制御に関する操作を行うことができる。
制御インタフェース17は、操作部4、内視鏡ユニット8、およびCCU9と動作制御のための通信を行う。制御インタフェース17は、ユーザーによって操作部4に入力された指示をCPU18に通知する。制御インタフェース17は、光源装置および湾曲装置を制御するための制御信号を内視鏡ユニット8に出力する。制御インタフェース17は、撮像素子28を制御するための制御信号をCCU9に出力する。
CPU18が実行するプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。この記録媒体に記録されたプログラムを内視鏡装置1以外のコンピュータが読み込み、かつ実行してもよい。例えば、パーソナルコンピュータ41がプログラムを読み込んで実行してもよい。パーソナルコンピュータ41は、プログラムに従って、内視鏡装置1を制御するための制御情報を内視鏡装置1に送信することにより内視鏡装置1を制御してもよい。あるいは、パーソナルコンピュータ41は、内視鏡装置1から映像信号を取得し、かつ取得された映像信号を使用して計測を実行してもよい。
上述したプログラムは、そのプログラムを保持するコンピュータから、伝送媒体を経由して、あるいは伝送媒体中の伝送波により内視鏡装置1に伝送されてもよい。プログラムを伝送する「伝送媒体」は、情報を伝送する機能を有する媒体である。情報を伝送する機能を有する媒体は、インターネット等のネットワーク(通信網)および電話回線等の通信回線(通信線)を含む。上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、差分ファイル(差分プログラム)であってもよい。コンピュータに既に記録されているプログラムと差分プログラムとの組合せが、前述した機能を実現してもよい。
上記のように、内視鏡装置1は、撮像素子28(画像取得部)およびCPU18を有する。撮像素子28は、被写体を撮像し、かつ撮像信号を生成する。撮像信号は、被写体の画像を含む。したがって、撮像素子28は、被写体を撮像することにより生成された、その被写体の画像を取得する。撮像素子28は、画像取得ステップにおいて、第1の視点から第1の方向に見た被写体の2次元画像(第1の画像)を取得する。撮像素子28によって取得された画像は映像信号処理回路12を経由してCPU18に入力される。
撮像素子28は、被写体の画像を取得する画像取得部の機能を有する。画像取得部は、画像入力装置であってもよい。例えば、パーソナルコンピュータ41が3次元画像表示装置として動作する場合、画像取得部は、内視鏡装置1と通信を実行する通信インタフェース(通信機)である。画像取得部は無線通信機であってもよい。画像取得部は、画像が記録された記録媒体から画像を読み出す読み出し回路であってもよい。
第1の実施形態の内視鏡装置1は、線基準計測機能を有する。第1の実施形態において、2つの基準点および1つの計測点がユーザーによって指定される。2つの基準点の各々は、線基準計測における基準線を算出するための基準位置を示す。計測点は、被写体の寸法を計測する位置を示す。
例えば、内視鏡装置1はステレオ計測を実行する。ステレオ計測では、2つの異なる視点に対応する2つの被写体像に基づいて三角測量の原理で被写体の計測が行われる。内視鏡装置1に適用される計測方式は、ステレオ計測に限らない。例えば、内視鏡装置1は、空間的な位相が異なる複数の縞パターンが投影された被写体の画像を使用する位相シフト法による計測を行ってもよい。あるいは、内視鏡装置1は、ランダムパターンが投影された被写体の画像を使用する計測を行ってもよい。
図3は、CPU18の機能構成を示す。制御部180、表示制御部181、点設定部182、座標算出部183、基準図形算出部184、視点算出部185、画像生成部186、および計測部187によってCPU18の機能が構成されている。図3に示すブロックの少なくとも1つがCPU18とは別の回路で構成されてもよい。
図3に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。例えば、プロセッサは、CPU、DSP(Digital Signal Processor)、およびGPU(Graphics Processing Unit)の少なくとも1つである。例えば、論理回路は、ASIC(Application Specific Integrated Circuit)およびFPGA(Field−Programmable Gate Array)の少なくとも1つである。図3に示す各部は、1つまたは複数のプロセッサを含むことができる。図3に示す各部は、1つまたは複数の論理回路を含むことができる。
図3に示す構成の概略を説明する。座標算出部183は、座標算出ステップにおいて、撮像素子28によって取得された第1の画像に基づいて被写体上の複数の点の3次元座標を算出する。表示制御部181は、第1の表示ステップにおいて、第2の画像を表示部5に表示する。第2の画像は、第1の視点から第1の方向に見た被写体の画像である。第2の画像は、第1の画像と、複数の点の3次元座標に基づいて生成された被写体の3次元画像との1つである。操作部4は、入力ステップにおいて、少なくとも1つの基準点の入力を受け付ける。少なくとも1つの基準点の各々は、第2の画像に含まれる領域上にあり、かつ被写体上の複数の点の1つである。基準図形算出部184は、基準図形算出ステップにおいて、少なくとも1つの基準点に基づいて設定された少なくとも2つの点の3次元座標に基づいて、基準図形を算出する。少なくとも2つの点の各々は被写体上の複数の点の1つである。基準線が第1の実施形態における基準図形である。視点算出部185は、視点算出ステップにおいて、基準図形に基づいて、第1の方向と異なる第2の方向と、第1の視点と異なる第2の視点とを算出する。画像生成部186は、画像生成ステップにおいて、被写体上の複数の点の3次元座標に基づいて、第3の画像を生成する。第3の画像は、第2の視点から第2の方向に見た被写体の3次元画像である。表示制御部181は、第2の表示ステップにおいて、基準図形の位置を示す情報が重畳された第3の画像を表示部5に表示する。
基準図形は、直線、線分、および平面の1つである。線分は、直線の一部である。第2の方向は、直線軸に平行である。直線軸は、基準図形に垂直であり、または基準図形に平行である。第2の視点は、直線軸上にある。
直線軸は、第2の視点および第2の方向を規定する仮想的な軸であり、かつ直線である。第1の実施形態において、基準図形は直線であり、かつ直線軸は基準図形に垂直である。操作部4は、2つの基準点の入力を受け付ける。基準図形算出部184は、2つの基準点の3次元座標に基づいて、基準図形を算出する。
図3に示す構成の詳細を説明する。制御部180は、各部が実行する処理を制御する。表示制御部181は、2D画像または3D画像を表示部5に表示する。2D画像は、撮像素子28によって取得された2次元画像である。3D画像は、画像生成部186によって生成された3次元画像である。
例えば、表示制御部181は、映像信号処理回路12によって実行される処理を制御する。表示制御部181は、映像信号処理回路12によって処理された映像信号を映像信号処理回路12から表示部5へ出力させる。その映像信号は、2D画像の各画素のカラーデータを含む。表示部5は、映像信号処理回路12から出力された映像信号に基づいて2D画像を表示する。あるいは、表示制御部181は、3D映像信号を、映像信号処理回路12を経由して表示部5へ出力する。3D映像信号は、3D画像の各画素のカラーデータを含む。3D画像の各画素は、3次元座標と関連付けられている。表示部5は、映像信号処理回路12から出力された3D映像信号に基づいて3D画像を表示する。
表示制御部181は、各種情報を表示部5に表示する。つまり、表示制御部181は、画像上に各種情報を表示する。各種情報は、カーソル、マーク、基準図形、および計測結果等を含む。カーソルは、ユーザーが画像上の特定の位置を指定するためのポインターである。マークは、ユーザーが画像上で指定した位置を示す。基準図形は、基準線および基準面等である。各種情報は、基準図形以外の線を含む場合がある。各種情報は、イラスト等を含む場合がある。
例えば、表示制御部181は、各種情報のグラフィック画像信号を生成する。表示制御部181は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18から出力されたグラフィック画像信号とを合成する。これにより、各種情報が2D画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、各種情報が重畳された2D画像を表示する。あるいは、画像生成部186は、各種情報のグラフィック画像信号を生成し、かつそのグラフィック画像信号を3D映像信号に重畳する。これにより、各種情報が3D画像に重畳される。表示制御部181は、グラフィック画像信号が重畳された3D映像信号を、映像信号処理回路12を経由して表示部5に出力する。表示部5は、各種情報が重畳された3D画像を表示する。
ユーザーは、操作部4を操作することにより、カーソルの位置情報を操作部4に入力する。操作部4は、ユーザーが操作部4に入力した位置情報を受け付け、その位置情報を出力する。操作部4に入力された位置情報は、入力部である制御インタフェース17に入力される。制御インタフェース17に入力された位置情報は、CPU18に入力される。表示制御部181は、操作部4に入力された位置情報が示す位置を検出する。表示制御部181は、操作部4に入力された位置情報が示す位置にカーソルを表示する。表示部5がタッチパネルである場合、つまり表示部5および操作部4が一体化されている場合、ユーザーは表示部5の画面をタッチすることによりカーソルの位置情報を操作部4に入力する。
基準点および計測点の設定に使用される2D画像または3D画像が表示部5に表示される。その2D画像および3D画像は、3次元空間において、第1の視点から第1の方向に見た被写体の画像(第2の画像)である。2D画像または3D画像が表示部5に表示された後、点設定部182は、2D画像または3D画像に少なくとも2つの基準点を設定する。具体的には、ユーザーは、操作部4を操作することにより、基準点の位置情報を操作部4に入力する。操作部4は、ユーザーが操作部4に入力した位置情報を受け付け、その位置情報を制御インタフェース17に出力する。位置情報は、制御インタフェース17を経由してCPU18に入力される。点設定部182は、撮像素子28によって取得され、かつ表示部5に表示された2D画像において位置情報が示す位置に基準点を設定する。あるいは、点設定部182は、画像生成部186によって生成され、かつ表示部5に表示された3D画像において位置情報が示す位置に基準点を設定する。点設定部182によって設定された基準点の位置情報は、RAM14に保持される。基準点が特定の画像に関連付けられることにより、基準点が設定される。
2D画像または3D画像が表示部5に表示された後、点設定部182は、2D画像または3D画像に1つの計測点を設定する。具体的には、ユーザーは、操作部4を操作することにより、計測点の位置情報を操作部4に入力する。操作部4は、ユーザーが操作部4に入力した位置情報を受け付け、その位置情報を出力する。操作部4に入力された位置情報は、制御インタフェース17を経由してCPU18に入力される。点設定部182は、撮像素子28によって取得され、かつ表示部5に表示された2D画像において位置情報が示す位置に計測点を設定する。あるいは、点設定部182は、画像生成部186によって生成され、かつ表示部5に表示された3D画像において位置情報が示す位置に計測点を設定する。点設定部182によって設定された計測点の位置情報は、RAM14に保持される。計測点が特定の画像に関連付けられることにより、計測点が設定される。
基準点および計測点は、ユーザーの指示によって決定された注目位置の座標情報である。基準点または計測点の指定は、ユーザーが基準点または計測点を内視鏡装置1に指示することを意味する。ユーザーは、基準点または計測点をカーソルで指定することにより基準点または計測点を指定する。あるいは、ユーザーは、表示部5の画面において基準点または計測点をタッチすることにより基準点または計測点を指定する。基準点の設定は、点設定部182が基準点を画像に関連付けることを意味する。計測点の設定は、点設定部182が計測点を画像に関連付けることを意味する。
座標算出部183は、2D画像を使用して、その2D画像上の複数の点の各々の3次元座標を算出する。例えば、座標算出部183は、2D画像の各画素に対応する3次元座標を算出する。
基準図形算出部184は、点設定部182によって設定された複数の基準点の3次元座標に基づいて基準線を算出する。基準線は、3次元空間において2つの基準点の各々の3次元座標を通る直線である。
視点算出部185は、基準点の確認に使用される3D画像を表示するための第2の視点および第2の方向を算出する。第2の視点および第2の方向の具体的な算出方法については後述する。
画像生成部186は、複数の点の3次元座標に基づいて、第2の視点から第2の方向に見た被写体の3D画像(第3の画像)を生成する。3D画像は、ユーザーが3次元空間における被写体の表面を特定の視点から見たときにユーザーの目に映る被写体の光学像に相当する。3D画像が基準点および計測点の設定に使用される場合、画像生成部186は、第1の視点から第1の方向に見た被写体の3D画像を生成する。
計測部187は、被写体の3次元計測を実行する。第1の実施形態において計測部187は、基準線を使用して、被写体の3次元計測を実行する。具体的には、計測部187は、3次元の基準線と計測点の3次元座標との3次元距離を算出する。
図4を使用して、第1の実施形態における3次元計測について説明する。図4は、3次元計測の手順を示す。
撮像素子28は、被写体を撮像し、かつ撮像信号を生成することにより、被写体の2D画像を取得する。取得された2D画像(第1の画像)は、初期視点(第1の視点)から初期方向(第1の方向)に見た被写体の2次元画像である。CPU18は、映像信号処理回路12を経由して被写体の2D画像をCCU9から取得する(ステップS101)。ステップS101は、画像取得ステップに対応する。
ステップS101の後、座標算出部183は、2D画像における全画素の3次元座標を算出する(ステップS102)。ステップS102は、座標算出ステップに対応する。
ステップS102の後、画像生成部186は、ステップS102において算出された3次元座標に基づいて、初期視点から初期方向に見た被写体の3次元画像(3D画像)を生成する。表示制御部181は、3D画像(第2の画像)を表示部5に表示する(ステップS103)。ステップS103は、第1の表示ステップに対応する。ステップS103における初期視点および初期方向は、ステップS101における視点および方向とそれぞれ異なっていてもよい。ステップS101における視点とステップS103における視点とが異なる場合、ステップS103における視点が初期視点と定義される。ステップS101における方向とステップS103における方向とが異なる場合、ステップS103における方向が初期方向と定義される。
ステップS103の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが基準点として指定した位置を判断し、かつその位置に第1の基準点を設定する。表示制御部181は、第1の基準点を、ステップS103において表示された3D画像上に表示する(ステップS104)。
ステップS104の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが基準点として指定した位置を判断し、かつその位置に第2の基準点を設定する。表示制御部181は、第2の基準点を、ステップS103において表示された3D画像上に表示する(ステップS105)。ステップS104およびステップS105は、入力ステップに対応する。
ステップS105の後、基準図形算出部184は、第1の基準点および第2の基準点の各々の3次元座標を通る基準線を算出する。表示制御部181は、基準線を、ステップS103において表示された3D画像上に表示する(ステップS106)。ステップS106は、基準図形算出ステップに対応する。
図5は、ステップS106において表示部5に表示される画像の例を示す。3D画像G11が表示部5に表示される。3D画像G11は、初期視点から初期方向に見た被写体OB11の3D画像である。計測モードを示す文字CH11が3D画像G11上に表示される。文字CH11は、計測モードが線基準計測であることを示す。第1の基準点P11、第2の基準点P12、および基準線L11が3D画像G11上に表示される。各基準点は、基準点の位置を示すマークとして表示される。図5に示す例では、被写体OB11のエッジの近傍に第1の基準点P11および第2の基準点P12が設定される。
ステップS106の後、視点算出部185は、基準線に基づいて視点A(第2の視点)および方向A(第2の方向)を算出する(ステップS107)。ステップS107は、視点算出ステップに対応する。視点算出部185は、ステップS107において、以下の方法で視点Aおよび方向Aを算出する。
図6は、被写体OB11を含む3次元空間を模式的に示す。3D画像G11に含まれる範囲内の被写体OB11が図6に示されている。視点算出部185は、基準線L11が伸びる方向と同じ方向に伸びるX’軸を設定する。X’軸は、基準線L11と一致する。視点算出部185は、X’軸に垂直な方向に伸びるZ’軸を設定する。Z’軸は、カメラ位置を通る。カメラ位置は、挿入部2の先端20に装着された光学アダプター内の光学系の光学中心である。ステレオ計測に使用されるステレオ計測アダプターは、左右の2つの視点に対応する2つの光学系を有する。ステレオ計測アダプターが挿入部2の先端20に装着された場合、カメラ位置は、2つの光学系の2つの光学中心の中間点である。視点算出部185は、X’軸およびZ’軸の各々に垂直な方向に伸びるY’軸(直線軸)を設定する。
視点算出部185は、X’軸の周辺に第1の領域RG1および第2の領域RG2を設定する。第1の領域RG1および第2の領域RG2は、X’軸を中心とする円筒TU1に含まれる。第1の領域RG1および第2の領域RG2の境界は、X’−Z’平面である。方向Aは、第1の領域RG1から第2の領域RG2へ進む方向である。Y’軸は、第1の領域RG1および第2の領域RG2を通る。第1の領域RG1の体積と、第2の領域RG2の体積とは同じである。第1の領域RG1に含まれる被写体の体積は、第2の領域RG2に含まれる被写体の体積よりも少ない。つまり、第1の領域RG1における被写体OB11の3次元座標のデータ数は、第2の領域RG2における被写体OB11の3次元座標のデータ数よりも少ない。視点算出部185は、第1の領域RG1から第2の領域RG2へ進む方向をY’軸の正の方向に設定する。視点算出部185は、X’軸およびZ’軸の各々の正の方向をY’軸の正の方向に基づいて設定する。
視点算出部185は、方向AをY’軸の正の方向に設定する。視点算出部185は、被写体OB11を方向Aに見たときに被写体OB11が視野に入るような視点Aを算出する。例えば、視点AのZ’座標は0である。視点AのX’座標は、第1の基準点P11のX’座標と第2の基準点P12のX’座標との平均である。視点AのY’座標は、被写体OB11の全体が視野に入る位置である。視点AのY’座標は、少なくとも第1の基準点P11および第2の基準点P12が視野に入る位置であってもよい。例えば、視点AのY’座標は、3D画像(第3の画像)の表示領域の水平方向の長さの80%を占める部分に第1の基準点P11および第2の基準点P12が表示される位置である。
Z’軸は、カメラ位置を通り、かつ基準線L11に垂直である。方向AはZ’軸に垂直である。方向Aは、カメラ位置から基準線L11を垂直に見たときの視線の方向に垂直であるため、ユーザーは画像G12における視線の方向を直感的に理解しやすい。
ステップS107の後、画像生成部186は、ステップS102において算出された3次元座標に基づいて、視点Aから方向Aに見た被写体の3次元画像(3D画像)を生成する。このとき、画像生成部186は、3D画像を透視投影で表示するための画像データを生成する。画像生成部186は、基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する(ステップS108)。ステップS108において表示された3D画像(第3の画像)は、視点Aから方向Aに見た被写体の状態を示す。ステップS108は、画像生成ステップおよび第2の表示ステップに対応する。
図7は、ステップS108において表示部5に表示される画像の例を示す。3D画像G11aおよび3D画像G12が表示部5に表示される。表示制御部181は、ステップS108において、3D画像G12が3D画像G11aと重ならないように3D画像G12を表示部5に表示する。3D画像G11aは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11、第2の基準点P12、基準線L11、およびイラストIT11が3D画像G11a上に表示される。
3D画像G12は、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12が3D画像G12上に表示される。基準線L12は、視点Aから方向Aに見た基準線を示す。被写体OB11の表面に平行な方向に近い方向に見た被写体OB11のエッジが3D画像G12に映っている。
ユーザーは、3D画像G12に基づいて、基準線が被写体OB11のエッジ上に設定されているか否かを判断する。これにより、ユーザーは、2つの基準点の位置が妥当であるか否かを確認することができる。方向Aは基準線に垂直であるため、ユーザーは、2つの基準点の位置が妥当であるか否かを容易に確認することができる。図7に示す例では、基準線L12は被写体OB11のエッジと一致する。そのため、ユーザーは、2つの基準点の位置が妥当であると判断することができる。視点の位置および視線の方向を指定するための操作は必要ない。
表示制御部181は、視点Aおよび方向Aを示す情報を表示部5に表示する。具体的には、表示制御部181は、ステップS108において、挿入部2の先端20のイラストIT11を表示部5に表示する。ステップS108は、第3の表示ステップに対応する。イラストIT11は3D画像G11a上に表示される。イラストIT11は、視点Aに配置され方向Aを向く挿入部2の先端20を示す。例えば、イラストIT11は、筒状の図形である。その図形の先端は、挿入部2の先端20に対応する。その図形の中心軸の方向は、内視鏡装置1の光学系の光軸方向に対応する。イラストIT11が表示されるとき、表示制御部181は、その図形の先端を視点Aと一致させ、かつその図形の中心軸の方向を方向Aと一致させる。イラストIT11が表示されるため、ユーザーは視点Aおよび方向Aを確認することができる。
視点Aが3D画像G11aにおける視野内にない場合がある。その場合、方向Aを示す矢印などが3D画像G11a上に表示されてもよい。
3D画像G12が表示部5に表示されたとき、表示制御部181は3D画像G11aを非表示にしてもよい。これにより、表示制御部181は、3D画像G12を大きく表示することができる。表示制御部181は、ユーザーからの指示に基づいて第1の状態と第2の状態とを切り替えてもよい。第1の状態において、3D画像G11aのみが表示部5に表示される。第2の状態において、3D画像G12のみが表示部5に表示される。ユーザーが2つの基準点の位置の確認を終了した後、ユーザーは、所定の操作を行うことにより、3D画像G11aおよび3D画像G12を表示させてもよい。
図8は、ステップS108において表示部5に表示される画像の他の例を示す。3D画像G11bおよび3D画像G12bが表示部5に表示される。3D画像G11bは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11b、第2の基準点P12b、基準線L11b、およびイラストIT11bが3D画像G11b上に表示される。第1の基準点P11bは被写体OB11のエッジ上に設定される。第2の基準点P12bは被写体OB11上にない位置に設定される。
3D画像G12bは、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12bが3D画像G12b上に表示される。図8に示す例では、基準線L12bは被写体OB11のエッジと一致しない。そのため、ユーザーは、2つの基準点の位置が妥当ではないと判断することができる。
ステップS108の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが計測点として指定した位置を判断し、かつその位置に計測点を設定する。表示制御部181は、計測点を、ステップS102において表示された3D画像上に表示する(ステップS109)。
ステップS109の後、計測部187は、基準線と計測点の3次元座標とに基づいて、被写体の大きさを計測する。具体的には、計測部187は、基準線と計測点の3次元座標との3次元距離を算出する(ステップS110)。
ステップS110の後、表示制御部181は、計測結果を表示部5に表示する(ステップS111)。ステップS111が実行されたとき、3次元計測が終了する。
図9は、ステップS111において表示部5に表示される画像の例を示す。3D画像G11cおよび3D画像G12が表示部5に表示される。3D画像G11cは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11、第2の基準点P12、基準線L11、およびイラストIT11が3D画像G11c上に表示される。さらに、計測点P13、計測線L13、および計測結果R11が3D画像G11c上に表示される。計測点P13は、被写体OB11の欠けの最深点に設定される。計測線L13は、計測点を通り基準線に垂直な直線を示す。基準図形算出部184は、ステップS108において、計測点および基準線に基づいて計測線を算出する。計測結果R11は、基準線と計測点の3次元座標との3次元距離を示す。3D画像G12は、図6に示す3D画像G12と同じである。
ステップS104における第1の基準点の表示、ステップS105における第2の基準点の表示、およびステップS109における計測点の表示は必須ではない。ステップS106における基準線の表示は必須ではない。
ステップS109からステップS111のいずれか1つが実行された後、ステップS107が実行されてもよい。ステップS109からステップS111のいずれか1つが実行された後、ステップS108が実行されてもよい。ステップS110またはステップS111が実行された後にステップS108が実行される場合、ユーザーは、計測に使用された2つの基準点の位置が妥当であるか否かを確認することができる。
ステップS109からステップS111の各々は必須ではない。ステップS109からステップS111の各々が実行されなくてもよい。例えば、被写体の形状が所望の形状であるか否かを検査するために、ステップS101からステップS108の各々が実行されてもよい。例えば、検査対象の部位が直線状であるか否かを検査するために、ユーザーは3D画像上のその部位に2つの基準点を指定する。例えば、その部位は、検査対象のエッジである。2つの基準点を通る基準線が3D画像上に表示される。
ユーザーは、その3D画像に基づいて、基準線がその部位上に表示されているか否かを確認する。これにより、ユーザーは、2つの基準点の位置が妥当であるか否かを確認する。2つの基準点の位置が妥当であることが確認された後、ユーザーは、基準線とその部位の形状とを比較することにより、検査を実施する。
第1の実施形態において、視点Aから方向Aに見た被写体の3D画像が表示部5に表示される。そのため、内視鏡装置1は、被写体の画像上で指定された点の妥当性の判断を容易化することができる。
座標算出部183は、撮像素子28によって取得された2D画像の各画素に対応する3次元座標を算出する。画像生成部186は、被写体の表面上の全ての3次元座標の各々に対応するデータを含む3D画像を生成する。画像生成部186は、座標算出部183によって算出された3次元座標の一部のみに対応するデータを含む3D画像を生成してもよい。例えば、ユーザーは、操作部4を操作することにより、基準点の位置情報を操作部4に入力する。操作部4は、ユーザーが操作部4に入力した位置情報を受け付け、その位置情報を出力する。操作部4に入力された位置情報は、制御インタフェース17を経由してCPU18に入力される。
画像生成部186は、表示部5に表示された3D画像において位置情報が示す位置を含む領域を設定する。例えば、画像生成部186は、各基準点を中心とする球に含まれる領域を設定する。その球の半径は、所定値である。例えば、所定値は3mmである。画像生成部186は、その球内の領域の各画素に対応する3次元座標を含む3D画像を生成する。2つの基準点が設定されるため、2つの3D画像が生成される。ユーザーが基準線を指定するために必要な部分のみが拡大され、かつその部分が表示部5に表示される。そのため、ユーザーは、基準線が被写体のエッジ上に設定されているか否かを効率的に確認することができる。
視野内に障害物が存在する場合に表示部5に表示される3D画像について説明する。図10は、ステップS108において表示部5に表示される画像の例を示す。3D画像G11dおよび3D画像G12dが表示部5に表示される。3D画像G11dは、初期視点から初期方向に見た被写体OB11の3D画像である。被写体OB11の欠けが凹部OB11aとして3D画像G11dおよび3D画像G12dに写っている。文字CH11、第1の基準点P11d、第2の基準点P12d、および基準線L11dが3D画像G11d上に表示される。
3D画像G12dは、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12dが3D画像G12d上に表示される。基準線L12dは、視点Aから方向Aに見た基準線を示す。被写体OB11の表面に平行な方向に近い方向に見た被写体OB11のエッジが3D画像G12dに映っている。3D画像G12dにおいて、被写体OB11の手前に被写体OB12がある。そのため、3D画像G12dにおいて、被写体OB11の一部は被写体OB12に隠れている。ユーザーは、基準線L12dの一部が被写体OB11のエッジ上に設定されているか否かを確認することができない。
画像生成部186は、少なくとも3つの点の3次元座標に基づいて、第3の画像を生成してもよい。第3の画像は、第2の視点から第2の方向に見た被写体の3次元画像である。少なくとも3つの点の各々は被写体上の複数の点の1つである。少なくとも3つの点は、基準線を通り直線軸に垂直な平面上にある。例えば、画像生成部186は、基準線を含むX’−Z’平面の3D画像を生成する。具体的には、画像生成部186は、X’−Z’平面上の3次元座標を被写体の表面上の全ての3次元座標から抽出する。画像生成部186は、抽出された3次元座標の各々を点として表示するための3D画像を表示する。この3D画像は、X’−Z’平面を通る被写体の断面図である。X’軸は、基準線と一致する。Y’軸は直線軸である。X’−Z’平面は、基準線を通り、かつ直線軸に垂直である。
図11は、ステップS108において表示部5に表示される画像の例を示す。3D画像G11dおよび3D画像G12d1が表示部5に表示される。3D画像G11dは、図10に示す3D画像G11dと同じである。3D画像G12d1は、視点Aから方向Aに見た被写体OB11の3D画像である。X’−Z’平面上の被写体OB11の断面が3D画像G12d1上に表示される。基準線L12dが3D画像G12d1上に表示される。被写体OB12はX’−Z’平面上にない。そのため、被写体OB12は3D画像G12d1に映っていない。ユーザーは、基準線L12dが被写体OB11のエッジ上に設定されているか否かを確認することができる。
ユーザーが注目する領域以外の部分はユーザーには見えなくなる。そのため、その部分がユーザーによる確認作業を妨げない。
第3の画像を生成するための少なくとも3つの点は、基準線を通り直線軸に垂直な平面よりも第2の方向側にあってもよい。例えば、画像生成部186は、基準線から奥側の領域を含み、かつ基準線から手前側の領域を含まない3D画像を生成する。具体的には、画像生成部186は、X’−Z’平面よりもY’軸の正の方向側にある3次元座標を被写体の表面上の全ての3次元座標から抽出する。画像生成部186は、抽出された3次元座標の各々を点として表示するための3D画像を表示する。X’軸は、基準線と一致する。Y’軸は直線軸である。X’−Z’平面は、基準線を通り、かつ直線軸に垂直である。Y’軸の正の方向は、第2の方向である。
図12は、ステップS108において表示部5に表示される画像の例を示す。3D画像G11dおよび3D画像G12d2が表示部5に表示される。3D画像G11dは、図10に示す3D画像G11dと同じである。3D画像G12d2は、視点Aから方向Aに見た被写体OB11の3D画像である。X’−Z’平面よりも奥側の被写体OB11が3D画像G12d2上に表示される。基準線L12dが3D画像G12d2上に表示される。被写体OB12はX’−Z’平面上にない。そのため、被写体OB12は3D画像G12d2に映っていない。ユーザーは、基準線L12dが被写体OB11のエッジ上に設定されているか否かを確認することができる。
ユーザーが注目する領域以外の部分はユーザーには見えなくなる。そのため、その部分がユーザーによる確認作業を妨げない。
第3の画像を生成するための少なくとも3つの点は、第1の平面と第2の平面とに挟まれた領域にあってもよい。第1の平面は、基準線を通り直線軸に垂直である。第2の平面は、直線軸に垂直であり、かつ第1の平面よりも第2の方向側にある。例えば、画像生成部186は、基準線から奥側の所定範囲の領域を含み、かつ基準線から手前側の領域を含まない3D画像を生成する。具体的には、第1の平面はX’−Z’平面である。第2の平面は、X’−Z’平面からY’軸の正の方向側に所定の距離だけ離れている。画像生成部186は、これらの2つの平面に挟まれた領域にある3次元座標を被写体の表面上の全ての3次元座標から抽出する。画像生成部186は、抽出された3次元座標の各々を点として表示するための3D画像を表示する。X’軸は、基準線と一致する。Y’軸は直線軸である。X’−Z’平面は、基準線を通り、かつ直線軸に垂直である。Y’軸の正の方向は、第2の方向である。
ユーザーが注目する領域以外の部分はユーザーには見えなくなる。そのため、その部分がユーザーによる確認作業を妨げない。ユーザーが注目している領域の近傍のみがユーザーには見えるため、ユーザーは基準線が被写体のエッジ上に設定されているか否かを確認しやすい。
ステップS108において3D画像が表示された後、画像生成部186は、視点Aの位置をわずかに変更してもよく、変更された視点Aから方向Aに見た被写体の3D画像を生成してもよい。表示制御部181は、その3D画像を表示部5に表示してもよい。これにより、ユーザーは、視点を変更するための操作を行うことなく、複数の視点から見た被写体の画像に基づいて、基準線が被写体のエッジ上に設定されているか否かを確認することができる。視点の位置は、複数回、順次変更されてもよい。
表示制御部181は、ステップS108において、第3の画像の少なくとも一部が第2の画像と重なるように第3の画像を表示部5に表示してもよい。第3の画像は、第2の視点から第2の方向に見た被写体の3次元画像である。第2の画像は、第1の視点から第1の方向に見た被写体の画像である。
図13は、ステップS108において表示部5に表示される画像の例を示す。3D画像G11a1および3D画像G12a1が表示部5に表示される。第1の基準点P11a1、第2の基準点P12a1、および基準線L11a1が3D画像G11a1上に表示される。3D画像G12a1が3D画像G11a1上に表示される。3D画像G12a1は、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L11a1が3D画像G12a1上に表示される。表示制御部181は、3D画像G12a1が3D画像G11a1上の各点および各線のいずれとも重ならないように3D画像G12a1を表示部5に表示する。
3D画像G11a1が表示される領域は、図7に示す3D画像G11aが表示される領域よりも大きい。3D画像G12a1が表示される領域は、図7に示す3D画像G12が表示される領域よりも大きい。表示部5の画面が小さい場合であっても、3D画像G12a1の表示に必要な領域が確保される。そのため、表示制御部181は、表示部5の画面を有効に使用することができる。表示制御部181は、拡大された3D画像G12a1を表示してもよい。ユーザーは、基準線が被写体OB11のエッジ上に設定されているか否かを容易に判断することができる。つまり、ユーザーは、2つの基準点の位置が妥当であるか否かを容易に確認することができる。
図13に示す例では、3D画像G12a1が3D画像G11a1上に表示される。3D画像G11a1が3D画像G12a1上に表示されてもよい。その場合、3D画像G11a1の一部のみが3D画像G12a1と重なってもよい。
操作部4が計測点の入力を受け付けたとき、表示制御部181は、視点Aから方向Aに見た被写体の3D画像を非表示にしてもよい。ユーザーが基準点を確認する必要がないときに3D画像は表示されない。そのため、ユーザーが操作または確認に迷うことがなくなる。
(第1の実施形態の第1の変形例)
本発明の第1の実施形態の第1の変形例において、2つの基準点および1つの計測点は2D画像に設定される。
図14を使用して、第1の実施形態の第1の変形例における3次元計測について説明する。図14は、3次元計測の手順を示す。図4に示す処理と同じ処理の説明を省略する。
撮像素子28は、被写体を撮像し、かつ撮像信号を生成することにより、被写体の2D画像を取得する。取得された2D画像は、初期視点から初期方向に見た被写体の2次元画像である。CPU18は、映像信号処理回路12を経由して被写体の2D画像をCCU9から取得する。表示制御部181は、2D画像を表示部5に表示する(ステップS121)。ステップS121は、画像取得ステップに対応する。
ステップS121の後、ステップS102が実行される。ステップS102の後、ステップS104が実行される。点設定部182は、ステップS104において、操作部4の操作結果に基づいて、ユーザーが基準点として指定した位置を判断する。点設定部182は、表示部5に表示された2D画像において、ユーザーによって指定された位置に第1の基準点を設定する。表示制御部181は、第1の基準点を、表示部5に表示された2D画像上に表示する。
点設定部182は、ステップS105において、操作部4の操作結果に基づいて、ユーザーが基準点として指定した位置を判断する。点設定部182は、表示部5に表示された2D画像において、ユーザーによって指定された位置に第2の基準点を設定する。表示制御部181は、第2の基準点を、表示部5に表示された2D画像上に表示する。
基準図形算出部184は、ステップS106において、第1の基準点および第2の基準点の各々の3次元座標を通る基準線を算出する。表示制御部181は、基準線を、表示部5に表示された2D画像上に表示する。
点設定部182は、ステップS109において、操作部4の操作結果に基づいて、ユーザーが計測点として指定した位置を判断する。点設定部182は、表示部5に表示された2D画像において、ユーザーによって指定された位置に計測点を設定する。表示制御部181は、計測点を、表示部5に表示された2D画像上に表示する。
ステップS104からステップS106のいずれか1つが実行された後、ステップS102が実行されてもよい。ステップS106が実行された後にステップS102が実行される場合、少なくとも2つの基準点の各々に対応する3次元座標がステップS106において算出される必要がある。
(第1の実施形態の第2の変形例)
本発明の第1の実施形態の第2の変形例において、内視鏡装置1は、基準点を修正する機能を有する。操作部4は、修正された少なくとも1つの基準点の入力を受け付ける。以前に設定された2つの基準点の少なくとも1つは、修正された基準点によって置き換えられる。基準図形算出部184は、修正された少なくとも1つの基準点を含む2つの基準点の3次元座標に基づいて、基準線を算出する。
図15および図16を使用して、第1の実施形態の第2の変形例における3次元計測について説明する。図15および図16は、3次元計測の手順を示す。図4に示す処理と同じ処理の説明を省略する。
ステップS108の後、制御部180は、ステップS104において設定された第1の基準点が修正されたか否かを判断する(ステップS131)。例えば、表示部5はタッチパネルである。ユーザーは、ドラッグ操作により第1の基準点を3D画像上で移動させることができる。ユーザーが第1の基準点を移動させた場合、制御部180は、第1の基準点が修正されたと判断する。ユーザーが第1の基準点を移動させていない場合、制御部180は、第1の基準点が修正されていないと判断する。基準点の修正を開始するためのメニューが表示部5に表示されてもよい。ユーザーがメニューから基準点の修正を選択し、かつ第1の基準点を3D画像上で修正したとき、制御部180は、第1の基準点が修正されたと判断する。
ステップS131において第1の基準点が修正されたと制御部180が判断した場合、点設定部182は、第1の基準点の移動が終了した位置を判断し、かつその位置に新たな第1の基準点を設定する。このとき、以前に設定された第1の基準点はキャンセルされる。表示制御部181は、第1の基準点を、ステップS103において表示された3D画像上に表示する(ステップS132)。ステップS132の後、ステップS106が実行される。
ステップS131において第1の基準点が修正されていないと制御部180が判断した場合、制御部180は、ステップS105において設定された第2の基準点が修正されたか否かを判断する(ステップS133)。ステップS133における判断の方法は、ステップS131における判断の方法と同じである。
ステップS133において第2の基準点が修正されたと制御部180が判断した場合、点設定部182は、第2の基準点の移動が終了した位置を判断し、かつその位置に新たな第2の基準点を設定する。このとき、以前に設定された第2の基準点はキャンセルされる。表示制御部181は、第2の基準点を、ステップS103において表示された3D画像上に表示する(ステップS134)。ステップS134の後、ステップS106が実行される。
ステップS133において第2の基準点が修正されていないと制御部180が判断した場合、制御部180は、基準点の修正が終了したか否かを判断する(ステップS135)。例えば、表示部5はタッチパネルであり、かつ基準点の修正を終了するためのボタンが表示部5に表示される。ユーザーがそのボタンをタッチした場合、制御部180は、基準点の修正が終了したと判断する。ユーザーがそのボタンをタッチしていない場合、制御部180は、基準点の修正が終了していないと判断する。
ステップS135において基準点の修正が終了したと制御部180が判断した場合、ステップS109が実行される。ステップS135において基準点の修正が終了していないと制御部180が判断した場合、ステップS131が実行される。
図17は、ステップS108において表示部5に表示される画像の例を示す。3D画像G11bおよび3D画像G12bが表示部5に表示される。3D画像G11bは、図8に示す3D画像G11bと同じである。3D画像G12bは、図8に示す3D画像G12bと同じである。第1の基準点P11bは被写体OB11のエッジ上に設定される。第2の基準点P12bは被写体OB11上にない位置に設定される。
基準線L12bが3D画像G12b上に表示される。図17に示す例では、基準線L12bは被写体OB11のエッジと一致しない。そのため、ユーザーは、2つの基準点の位置が妥当ではないと判断することができる。ユーザーは、3D画像G11b上の2つの基準点の少なくとも1つを修正することができる。図17に示す例では、ユーザーは、第2の基準点P12bを修正すると判断する。
図18は、第2の基準点P12bが修正された後にステップS108において表示部5に表示される画像の例を示す。3D画像G11b1および3D画像G12b1が表示部5に表示される。図17に示す第2の基準点P12bの代わりに、第2の基準点P12b1が3D画像G11b1上の被写体OB11のエッジ上に設定される。第2の基準点P12bが修正された後、ステップS106において、第1の基準点P11bと、修正された第2の基準点P12b1とに基づいて基準線が算出される。図17に示す基準線L11bの代わりに、基準線L11b1が3D画像G11b1上に表示される。
基準線が算出された後、ステップS107において視点Aおよび方向Aが算出される。ステップS108において視点Aから方向Aに見た被写体OB11の3D画像G12b1が表示部5に表示される。基準線L12b1が3D画像G12b1上に表示される。図18に示す例では、基準線L12b1は被写体OB11のエッジと一致する。そのため、ユーザーは、2つの基準点の位置が妥当であると判断することができる。図17に示すイラストIT11bの代わりに、イラストIT11b1が3D画像G11b1上に表示される。
ユーザーは、ボタンBT11をタッチすることにより、基準点の修正の終了を内視鏡装置1に通知する。ボタンBT11がタッチされた場合、制御部180は、ステップS135において基準点の修正が終了したと判断する。制御部180は、基準点の修正が終了したことを他の方法で判断してもよい。例えば、ユーザーが基準点以外の位置をタッチした場合、制御部180は、基準点の修正が終了し、ユーザーが計測点の設定を指示したと判断してもよい。その場合、点設定部182は、ユーザーがタッチした位置に計測点を設定してもよい。
第1の実施形態の第2の変形例において、内視鏡装置1は、2つの基準点の少なくとも1つを修正することができる。基準点の位置が、ユーザーが意図した位置と異なる場合、ユーザーは、基準点の修正を内視鏡装置1に容易に指示することができる。ユーザーは、視点Aから方向Aに見た被写体の3D画像に基づいて基準点の位置を検討することができる。そのため、内視鏡装置1は、基準点の妥当性の判断を容易化することができる。
(第1の実施形態の第3の変形例)
本発明の第1の実施形態の第3の変形例において、内視鏡装置1は、基準点を修正する機能を有する。ユーザーは、視点Aから方向Aに見た被写体の3D画像上で基準点を修正することができる。
第1の実施形態の第3の変形例における3次元計測について説明する。第1の実施形態の第2の変形例における処理と異なる処理について説明する。
画像生成部186は、視点Aから方向Aに見た被写体の3D画像を生成する。画像生成部186は、基準線、第1の基準点、および第2の基準点を3D画像に重畳する。表示制御部181は、基準線、第1の基準点、および第2の基準点が重畳された3D画像を表示部5に表示する。
ユーザーは、第1の3D画像上の2つの基準点を移動させることができる。第1の3D画像は、初期視点から初期方向に見た被写体の3D画像である。また、ユーザーは、第2の3D画像上の2つの基準点を移動させることができる。第2の3D画像は、視点Aから方向Aに見た被写体の3D画像である。
制御部180は、2枚の3D画像のうちの1つにおける第1の基準点が修正されたか否かを判断する。第1の3D画像上の第1の基準点が修正された場合、第1の実施形態の第2の変形例における処理と同様の処理が実行され、かつ第1の基準点が修正される。
第2の3D画像上の第1の基準点が修正された場合、点設定部182は、第1の基準点の移動が終了した位置を判断し、かつその位置に新たな第1の基準点を設定する。このとき、以前に設定された第1の基準点はキャンセルされる。第1の3D画像および第2の3D画像の各々に新たな第1の基準点が設定される。新たな第1の基準点の3次元座標は、座標算出部183によって算出された3次元座標の1つである。表示制御部181は、新たな第1の基準点を第2の3D画像上に表示する。また、表示制御部181は、新たな第1の基準点を第1の3D画像上に表示する。
制御部180は、2つの3D画像のうちの1つにおける第2の基準点が修正されたか否かを判断する。第1の3D画像上の第2の基準点が修正された場合、第1の実施形態の第2の変形例における処理と同様の処理が実行され、かつ第2の基準点が修正される。第2の3D画像上の第2の基準点が修正された場合、第1の基準点の修正のための処理と同様の処理が実行される。
図19は、ステップS108において表示部5に表示される画像の例を示す。3D画像G11bおよび3D画像G12b2が表示部5に表示される。3D画像G11bは、図8に示す3D画像G11bと同じである。第1の基準点P11bは被写体OB11のエッジ上に設定される。第2の基準点P12bは被写体OB11上にない位置に設定される。
3D画像G12b2は、視点Aから方向Aに見た被写体OB11の3D画像である。第1の基準点P11b2、第2の基準点P12b2、および基準線L12b2が3D画像G12b2上に表示される。図19に示す例では、基準線L12b2は被写体OB11のエッジと一致しない。そのため、ユーザーは、2つの基準点の位置が妥当ではないと判断することができる。ユーザーは、3D画像G12b2上の2つの基準点の少なくとも1つを修正することができる。図19に示す例では、ユーザーは、第2の基準点P12b2を修正すると判断する。
図20は、第2の基準点P12b2が修正された後に表示部5に表示される画像の例を示す。3D画像G11b3および3D画像G12b3が表示部5に表示される。図19に示す第2の基準点P12b2の代わりに、第2の基準点P12b3が3D画像G12b3上の被写体OB11のエッジ上に設定される。図19に示す第2の基準点P12bの代わりに、第2の基準点P12b4が3D画像G11b3上に表示される。第2の基準点P12b2が修正された後、第1の基準点P11bと、修正された第2の基準点P12b4とに基づいて基準線が算出される。図19に示す基準線L11bの代わりに、基準線L11b3が3D画像G11b3上に表示される。
3D画像G12b3は、視点Aから方向Aに見た被写体OB11の3D画像である。第1の基準点P11b2、第2の基準点P12b3、および基準線L12b3が3D画像G12b3上に表示される。図20に示す例では、基準線L12b3は被写体OB11のエッジと一致する。そのため、ユーザーは、2つの基準点の位置が妥当であると判断することができる。図19に示すイラストIT11bの代わりに、イラストIT11b2が3D画像G11b3上に表示される。
(第2の実施形態)
本発明の第2の実施形態を説明する。第2の実施形態において、基準図形は直線(基準線)である。視点算出部185は、少なくとも3つの点の3次元座標に基づいて、近似平面を算出する。近似平面は、被写体の表面を近似する平面である。少なくとも3つの点の各々は被写体上の複数の点の1つである。少なくとも3つの点の各々は、基準図形の近傍にあり、または基準図形上にある。第2の視点および第2の方向を規定する直線軸は、近似平面に平行である。
2つの基準点の位置の確認のための2つの3次元画像が表示部5に表示される。1つの3次元画像は、第2の視点から第2の方向に見た被写体の第3の画像である。視点算出部185はさらに、基準図形に基づいて、第3の方向および第3の視点を算出する。第3の方向は、第1の方向および第2の方向のいずれとも異なる。第3の方向は、第2の方向に垂直である。第3の視点は、第1の視点および第2の視点のいずれとも異なる。画像生成部186はさらに、複数の点の3次元座標に基づいて、第4の画像を生成する。第4の画像は、第3の視点から第3の方向に見た被写体の3次元画像である。表示制御部181はさらに、基準図形の位置を示す情報が重畳された第4の画像を表示部5に表示する。
第2の方向および第2の視点は、第1の直線軸に基づいて設定される。第1の直線軸は、近似平面に平行であり、かつ基準図形に垂直である。第3の方向および第3の視点は、第2の直線軸に基づいて設定される。第2の直線軸は、上記の近似平面に垂直である。
第2の視点および第2の方向を規定する第1の直線軸は、上記の近似平面に垂直であってもよい。第3の視点および第3の方向を規定する第2の直線軸は、近似平面に平行であってもよい。
図21を使用して、第2の実施形態における3次元計測について説明する。図21は、3次元計測の手順を示す。図4に示す処理と同じ処理の説明を省略する。
ステップS106の後、視点算出部185は、基準線に基づいて視点A(第2の視点)および方向A(第2の方向)を算出する(ステップS107a)。ステップS107aは、視点算出ステップに対応する。視点算出部185は、ステップS107aにおいて、以下の方法で視点Aおよび方向Aを算出する。
視点算出部185は、基準線が伸びる方向と同じ方向に伸びるX’軸を設定する。X’軸は、基準線と一致する。視点算出部185は、基準線の周辺の少なくとも3つの点の3次元座標に基づいて、近似平面を算出する。例えば、視点算出部185は、最小二乗法を使用することにより、近似平面を算出する。例えば、視点算出部185は、基準線から所定距離以内にある少なくとも3つの点の3次元座標に基づいて、近似平面を算出する。少なくとも3つの点は、基準線の近傍にある。少なくとも3つの点は、2つの基準点の少なくとも1つを含んでもよい。少なくとも3つの点は、2つの基準点を含まなくてもよい。少なくとも3つの点が少なくとも1つの基準点を含む場合、少なくとも3つの点は、基準線上の点を含む。視点算出部185は、近似平面に平行であってX’軸に垂直な方向に伸びるY’軸(第1の直線軸)を設定する。
視点算出部185は、被写体の3次元座標のデータ数が少ない第1の領域から被写体の3次元座標のデータ数が多い第2の領域へ進む方向をY’軸の正の方向に設定する。第1の領域および第2の領域は、Y’軸の周辺に設定される。視点算出部185は、X’軸およびY’軸の各々に垂直な方向に伸びるZ’軸を設定する。Z’軸は、カメラ位置を通る。
視点算出部185は、方向AをY’軸の正の方向に設定する。視点算出部185は、被写体を方向Aに見たときに被写体が視野に入るような視点Aを算出する。具体的には、視点算出部185は、視点Aから方向Aに進む視線が通る位置を算出する。例えば、視点AのZ’座標は0である。視点AのX’座標は、第1の基準点のX’座標と第2の基準点のX’座標との平均である。視点AのY’座標は、被写体の全体が視野に入る位置である。視点AのY’座標は、少なくとも第1の基準点および第2の基準点が視野に入る位置であってもよい。
方向Aは、上記の近似平面に平行でなくてもよい。方向Aは、近似平面に平行な方向に対してわずかに傾いていてもよい。例えば、方向Aは、近似平面に平行な方向に対して5度傾いていてもよい。これにより、ユーザーは立体感を得ることができる。
ステップS107aの後、視点算出部185は、基準線に基づいて視点B(第3の視点)および方向B(第3の方向)を算出する(ステップS141)。ステップS141は、視点算出ステップに対応する。視点算出部185は、ステップS141において、以下の方法で視点Bおよび方向Bを算出する。
視点算出部185は、方向BをZ’軸(第2の直線軸)の正の方向に設定する。方向Bは、方向Aに垂直である。視点算出部185は、Z’軸上に視点Bを設定する。例えば、視点算出部185は、3D画像の拡大倍率に基づいて視点BのZ’座標を設定する。
ステップS141の後、ステップS108が実行される。ステップS108の後、画像生成部186は、ステップS102において算出された3次元座標に基づいて、視点Bから方向Bに見た被写体の3次元画像(3D画像)を生成する。このとき、画像生成部186は、3D画像を透視投影で表示するための画像データを生成する。画像生成部186は、基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する(ステップS142)。ステップS142において表示された3D画像(第4の画像)は、視点Bから方向Bに見た被写体の状態を示す。ステップS142は、画像生成ステップおよび第2の表示ステップに対応する。ステップS142の後、ステップS109が実行される。
図22は、ステップS142において表示部5に表示される画像の例を示す。3D画像G11e、3D画像G12e、および3D画像G13が表示部5に表示される。表示制御部181は、ステップS142において、3D画像G13が3D画像G11eおよび3D画像G12eのいずれとも重ならないように3D画像G13を表示部5に表示する。3D画像G11eは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11e、第2の基準点P12e、基準線L11e、イラストIT11e、およびイラストIT12が3D画像G11e上に表示される。
図22において、被写体OB11の表面が傾いている状態が示されている。3D画像G11eにおいて被写体OB11の上側の部分は、被写体OB11の下側の部分と比較して、視野の奥側に向かって傾いている。
3D画像G12eは、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12eが3D画像G12e上に表示される。基準線L12eは、視点Aから方向Aに見た基準線を示す。被写体OB11の表面に平行な方向に見た被写体OB11のエッジが3D画像G12eに映っている。
3D画像G13は、視点Bから方向Bに見た被写体OB11の3次元画像である。基準線L14が3D画像G13上に表示される。基準線L14は、視点Bから方向Bに見た基準線を示す。被写体OB11の表面に垂直な方向に見た被写体OB11が3D画像G13に映っている。
ユーザーは、3D画像G12eおよび3D画像G13に基づいて、基準線が被写体OB11のエッジ上に設定されているか否かを判断する。これにより、ユーザーは、2つの視点から見た被写体の2枚の画像に基づいて、2つの基準点の位置が妥当であるか否かを確認することができる。図22に示す例では、基準線L12eおよび基準線L14は被写体OB11のエッジと一致する。そのため、ユーザーは、2つの基準点の位置が妥当であると判断することができる。視点の位置および視線の方向を指定するための操作は必要ない。
表示制御部181は、ステップS142において、挿入部2の先端20のイラストIT12を表示部5に表示する。ステップS142は、第3の表示ステップに対応する。イラストIT12は3D画像G11e上に表示される。イラストIT12は、視点Bに配置され方向Bを向く挿入部2の先端20を示す。イラストIT12が表示されるため、ユーザーは視点Bおよび方向Bを確認することができる。
3D画像G12eおよび3D画像G13が表示部5に表示されたとき、表示制御部181は3D画像G11eを非表示にしてもよい。これにより、表示制御部181は、3D画像G12eおよび3D画像G13を大きく表示することができる。表示制御部181は、ユーザーからの指示に基づいて第1の状態と第2の状態とを切り替えてもよい。第1の状態において、3D画像G11eのみが表示部5に表示される。第2の状態において、3D画像G12eおよび3D画像G13のみが表示部5に表示される。ユーザーが2つの基準点の位置の確認を終了した後、ユーザーは、所定の操作を行うことにより、3D画像G11e、3D画像G12e、および3D画像G13を表示させてもよい。表示制御部181は、3D画像G13の少なくとも一部が3D画像G11eおよび3D画像G12eの少なくとも1つと重なるように3D画像G13を表示部5に表示してもよい。
図23は、ステップS142において表示部5に表示される画像の他の例を示す。3D画像G11f、3D画像G12f、および3D画像G13fが表示部5に表示される。3D画像G11fは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11f、第2の基準点P12f、基準線L11f、イラストIT11f、およびイラストIT12fが3D画像G11f上に表示される。第1の基準点P11fは被写体OB11のエッジ上に設定される。第2の基準点P12fは被写体OB11上にない位置に設定される。
3D画像G12fは、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12fが3D画像G12f上に表示される。3D画像G13fは、視点Bから方向Bに見た被写体OB11の3D画像である。基準線L14fが3D画像G13f上に表示される。図23に示す例では、基準線L12fは被写体OB11のエッジと一致しない。そのため、ユーザーは、2つの基準点の位置が妥当ではないと判断することができる。
実際には、3D画像G13fにおいて基準線L14fは被写体OB11のエッジと一致しない。そのことがユーザーに分かりにくい。複数の視点から見た被写体の3D画像が表示されるため、2つの基準点の位置が妥当ではない状態をユーザーが見逃す可能性が減る。
図24は、ステップS142において表示部5に表示される画像の他の例を示す。3D画像G11g、3D画像G12g、および3D画像G13gが表示部5に表示される。3D画像G11gは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11g、第2の基準点P12g、基準線L11g、イラストIT11g、およびイラストIT12gが3D画像G11g上に表示される。第1の基準点P11gは被写体OB11のエッジ上に設定される。第2の基準点P12gは被写体OB11のエッジの近傍に設定される。
3D画像G12gは、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12gが3D画像G12g上に表示される。3D画像G13gは、視点Bから方向Bに見た被写体OB11の3D画像である。基準線L14gが3D画像G13g上に表示される。図24に示す例では、基準線L14gは被写体OB11のエッジと一致しない。そのため、ユーザーは、2つの基準点の位置が妥当ではないと判断することができる。
3D画像G11gにおいて、被写体OB11の表面が傾いているため、被写体OB11のエッジと基準線L11gとのずれの量が実際のずれの量よりも小さく見える。ユーザーがそのずれにユーザーに気づきにくい。被写体OB11の表面に垂直な方向に見た被写体OB11が3D画像G13gに映っている。そのため、被写体OB11のエッジと基準線L14gとのずれがユーザーに分かりやすい。
ステップS107aが実行される前にステップS141が実行されてもよい。ステップS108が実行される前にステップS142が実行されてもよい。ステップS107aが実行される前にステップS141およびステップS142が実行されてもよい。ステップS108が実行された後にステップS141が実行されてもよい。
ステップS109からステップS111のいずれか1つが実行された後、ステップS141が実行されてもよい。ステップS109からステップS111のいずれか1つが実行された後、ステップS142が実行されてもよい。ステップS110またはステップS111が実行された後にステップS142が実行される場合、ユーザーは、計測に使用された2つの基準点の位置が妥当であるか否かを確認することができる。
視点Aから方向Aに見た被写体の3D画像と、視点Bから方向Bに見た被写体の3D画像とのいずれか1つのみが表示部5に表示されてもよい。
ステップS107aは、図4に示すステップS107に変更されてもよい。つまり、視点算出部185は、第1の実施形態において説明した方法と同じ方法でX’軸、Y’軸、およびZ’軸を設定してもよい。視点算出部185は、第1の実施形態と同様に方向AをY’軸の正の方向に設定し、かつ第1の実施形態と同様にY’軸上に視点Aを設定してもよい。視点算出部185は、ステップS141において、方向BをZ’軸の正の方向に設定し、かつZ’軸上に視点Bを設定してもよい。
第2の実施形態において、視点Aから方向Aに見た被写体の3D画像と、視点Bから方向Bに見た被写体の3D画像とが表示部5に表示される。そのため、内視鏡装置1は、被写体の画像上で指定された点の妥当性の判断を容易化することができる。
表示制御部181は、被写体の表面を近似する平面に平行な方向Aに見た被写体の3D画像を表示部5に表示する。また、表示制御部181は、被写体の表面を近似する平面に垂直な方向Bに見た被写体の3D画像を表示部5に表示する。ユーザーは、基準線が被写体OB11のエッジ上に設定されているか否かを容易に判断することができる。つまり、ユーザーは、2つの基準点の位置が妥当であるか否かを容易に確認することができる。
(第3の実施形態)
本発明の第3の実施形態を説明する。2つの基準点の位置の確認のための2つの3次元画像が表示部5に表示される。1つの3次元画像は、第2の視点から第2の方向に見た被写体の第3の画像である。他の3次元画像は、第3の視点から第3の方向に見た被写体の第4の画像である。
第3の実施形態において、基準図形は直線(基準線)である。第2の方向および第2の視点は、第1の直線軸に基づいて設定される。第3の方向および第3の視点は、第2の直線軸に基づいて設定される。第1の直線軸は、被写体の表面を近似する近似平面に平行であり、かつ基準図形に垂直である。第2の直線軸は、近似平面に平行であり、かつ基準図形に平行である。
第1の直線軸は、上記の近似平面に平行であり、かつ基準図形に平行であってもよい。第2の直線軸は、近似平面に平行であり、かつ基準図形に垂直であってもよい。
図25を使用して、第3の実施形態における3次元計測について説明する。図25は、3次元計測の手順を示す。図21に示す処理と同じ処理の説明を省略する。
ステップS107aの後、視点算出部185は、基準線に基づいて視点C(第3の視点)および方向C(第3の方向)を算出する(ステップS151)。ステップS151は、視点算出ステップに対応する。視点算出部185は、ステップS151において、以下の方法で視点Cおよび方向Cを算出する。
ステップS107aにおいて、X’軸(第2の直線軸)、Y’軸、およびZ’軸が設定される。視点算出部185は、方向CをX’軸の正の方向に設定する。方向Cは、方向Aに垂直である。視点算出部185は、X’軸上に視点Cを設定する。例えば、視点算出部185は、3D画像の拡大倍率に基づいて視点CのX’座標を設定する。
ステップS151の後、ステップS108が実行される。ステップS108の後、画像生成部186は、ステップS102において算出された3次元座標に基づいて、視点Cから方向Cに見た被写体の3次元画像(3D画像)を生成する。このとき、画像生成部186は、3D画像を透視投影で表示するための画像データを生成する。画像生成部186は、基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する(ステップS152)。ステップS152において表示された3D画像(第4の画像)は、視点Cから方向Cに見た被写体の状態を示す。ステップS152は、画像生成ステップおよび第2の表示ステップに対応する。ステップS152の後、ステップS109が実行される。
図26は、ステップS152において表示部5に表示される画像の例を示す。3D画像G11h、3D画像G12h、および3D画像G14が表示部5に表示される。表示制御部181は、ステップS152において、3D画像G14が3D画像G11hおよび3D画像G12hのいずれとも重ならないように3D画像G14を表示部5に表示する。
3D画像G11hは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11h、第2の基準点P12h、基準線L11h、およびイラストIT11hが3D画像G11h上に表示される。3D画像G12hは、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12hが3D画像G12h上に表示される。3D画像G14は、視点Cから方向Cに見た被写体OB11の3次元画像である。基準線L15が3D画像G14上に表示される。基準線L15は、視点Cから方向Cに見た基準線を示す。基準線が伸びる方向に見た被写体OB11が3D画像G14に映っている。基準線L15が被写体OB11のエッジと一致する場合、基準線L15は点状である。
ユーザーは、3D画像G12hおよび3D画像G14に基づいて、基準線が被写体OB11のエッジ上に設定されているか否かを判断する。これにより、ユーザーは、2つの視点から見た被写体の2枚の画像に基づいて、2つの基準点の位置が妥当であるか否かを確認することができる。図26に示す例では、基準線L12hおよび基準線L15は被写体OB11のエッジと一致する。そのため、ユーザーは、2つの基準点の位置が妥当であると判断することができる。視点の位置および視線の方向を指定するための操作は必要ない。
表示制御部181は、ステップS152において、挿入部2の先端20のイラストIT13を表示部5に表示する。ステップS152は、第3の表示ステップに対応する。イラストIT13は、視点Cに配置され方向Cを向く挿入部2の先端20を示す。イラストIT13が表示されるため、ユーザーは視点Cおよび方向Cを確認することができる。
3D画像G12hおよび3D画像G14が表示部5に表示されたとき、表示制御部181は3D画像G11hを非表示にしてもよい。これにより、表示制御部181は、3D画像G12hおよび3D画像G14を大きく表示することができる。表示制御部181は、ユーザーからの指示に基づいて第1の状態と第2の状態とを切り替えてもよい。第1の状態において、3D画像G11hのみが表示部5に表示される。第2の状態において、3D画像G12hおよび3D画像G14のみが表示部5に表示される。ユーザーが2つの基準点の位置の確認を終了した後、ユーザーは、所定の操作を行うことにより、3D画像G11h、3D画像G12h、および3D画像G14を表示させてもよい。表示制御部181は、3D画像G14の少なくとも一部が3D画像G11hおよび3D画像G12hの少なくとも1つと重なるように3D画像G14を表示部5に表示してもよい。
図27は、ステップS152において表示部5に表示される画像の他の例を示す。3D画像G11i、3D画像G12i、3D画像G14i、およびイラストIT13iが表示部5に表示される。3D画像G11iは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11i、第2の基準点P12i、基準線L11i、およびイラストIT11iが3D画像G11i上に表示される。第1の基準点P11iは被写体OB11のエッジ上に設定される。第2の基準点P12iは被写体OB11上にない位置に設定される。
3D画像G12iは、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12iが3D画像G12i上に表示される。3D画像G14iは、視点Cから方向Cに見た被写体OB11の3D画像である。基準線L15iが3D画像G14i上に表示される。図27に示す例では、基準線L12iは被写体OB11のエッジと一致しない。そのため、ユーザーは、2つの基準点の位置が妥当ではないと判断することができる。3D画像G12iにおいて、被写体OB11が基準線L12iに対して傾いていることが示されている。このような場合、3D画像G14iにおいて、被写体OB11は上下に長くなる。そのため、ユーザーは、2つの基準点の位置が妥当ではないと判断することができる。
図28は、ステップS152において表示部5に表示される画像の他の例を示す。3D画像G11j、3D画像G12j、3D画像G14j、およびイラストIT13jが表示部5に表示される。3D画像G11jは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11j、第2の基準点P12j、基準線L11j、およびイラストIT11jが3D画像G11j上に表示される。第1の基準点P11jは被写体OB11のエッジ上に設定される。第2の基準点P12jは被写体OB11のエッジの近傍に設定される。
3D画像G12jは、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12jが3D画像G12j上に表示される。3D画像G14jは、視点Cから方向Cに見た被写体OB11の3D画像である。基準線L15jが3D画像G14i上に表示される。基準線L15jは被写体OB11のエッジと一致しない。そのため、ユーザーは、2つの基準点の位置が妥当ではないと判断することができる。
3D画像G11jにおいて、被写体OB11の表面が傾いているため、被写体OB11のエッジと基準線L11jとのずれの量が実際のずれの量よりも小さく見える。ユーザーがそのずれにユーザーに気づきにくい。基準線が伸びる方向に見た被写体OB11が3D画像G14jに映っている。基準線L15jよりも左側に被写体OB11が伸びている。そのため、ユーザーは、基準線L15jが被写体OB11のエッジと一致しないと判断することができる。
ステップS107aが実行される前にステップS151が実行されてもよい。ステップS108が実行される前にステップS152が実行されてもよい。ステップS107aが実行される前にステップS151およびステップS152が実行されてもよい。ステップS108が実行された後にステップS151が実行されてもよい。
ステップS109からステップS111のいずれか1つが実行された後、ステップS151が実行されてもよい。ステップS109からステップS111のいずれか1つが実行された後、ステップS152が実行されてもよい。ステップS110またはステップS111が実行された後にステップS152が実行される場合、ユーザーは、計測に使用された2つの基準点の位置が妥当であるか否かを確認することができる。
視点Aから方向Aに見た被写体の3D画像と、視点Cから方向Cに見た被写体の3D画像とのいずれか1つのみが表示部5に表示されてもよい。
ステップS107aは、図4に示すステップS107に変更されてもよい。つまり、視点算出部185は、第1の実施形態において説明した方法と同じ方法でX’軸、Y’軸、およびZ’軸を設定してもよい。視点算出部185は、第1の実施形態と同様に方向AをY’軸の正の方向に設定し、かつ第1の実施形態と同様にY’軸上に視点Aを設定してもよい。視点算出部185は、ステップS151において、方向CをX’軸の正の方向に設定し、かつX’軸上に視点Cを設定してもよい。
第3の実施形態において、視点Aから方向Aに見た被写体の3D画像と、視点Cから方向Cに見た被写体の3D画像とが表示部5に表示される。そのため、内視鏡装置1は、被写体の画像上で指定された点の妥当性の判断を容易化することができる。
(第3の実施形態の変形例)
本発明の第3の実施形態の変形例において、3つの視点の各々から見た被写体の3D画像が表示部5に表示される。
視点算出部185は、基準線に基づいて視点Aおよび方向Aを算出する。視点Aおよび方向Aの算出方法は、第2の実施形態において説明した方法と同じである。画像生成部186は、視点Aから方向Aに見た被写体の3D画像を生成し、かつ基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する。
視点算出部185は、基準線に基づいて視点Bおよび方向Bを算出する。視点Bおよび方向Bの算出方法は、第2の実施形態において説明した方法と同じである。画像生成部186は、視点Bから方向Bに見た被写体の3D画像を生成し、かつ基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する。
視点算出部185は、基準線に基づいて視点Cおよび方向Cを算出する。視点Cおよび方向Cの算出方法は、第3の実施形態において説明した方法と同じである。画像生成部186は、視点Cから方向Cに見た被写体の3D画像を生成し、かつ基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する。
図29は、表示部5に表示される画像の例を示す。3D画像G11k、3D画像G12h、3D画像G13k、3D画像G14、およびイラストIT13が表示部5に表示される。3D画像G11kは、初期視点から初期方向に見た被写体OB11の3D画像である。第1の基準点P11h、第2の基準点P12h、基準線L11h、イラストIT11h、およびイラストIT12hが3D画像G11h上に表示される。3D画像G12hは、図26に示す3D画像G12hと同じである。3D画像G13kは、視点Bから方向Bに見た被写体OB11の3D画像である。基準線L14kが3D画像G13k上に表示される。3D画像G14は、図26に示す3D画像G14と同じである。3D画像G14は、3D画像G11k上に表示される。
3D画像G12h、3D画像G13k、および3D画像G14は、第3角法または第1角法で表示されてもよい。ユーザーが機械図面を見慣れている場合、ユーザーは画像を直感的に理解しやすい。3D画像G12h、3D画像G13k、および3D画像G14は、平行投影で表示されてもよい。3D画像が平行投影で表示された場合、ユーザーが3D画像と機械図面とを比較しやすい。
ユーザーは、3D画像G12h、3D画像G13k、および3D画像G14に基づいて、基準線が被写体OB11のエッジ上に設定されているか否かを判断する。これにより、ユーザーは、2つの基準点の位置が妥当であるか否かを詳細に確認することができる。図29に示す例では、基準線L12hは被写体OB11のエッジと一致し、基準線L14kは被写体OB11のエッジと一致し、かつ基準線L15は被写体OB11のエッジと一致する。そのため、ユーザーは、2つの基準点の位置が妥当であると判断することができる。
ユーザーが3つの3D画像の視点を同時に変更できてもよい。例えば、ユーザーが1つの3D画像の視点を変更したとき、他の2つの3D画像の各々の視点が変更される。例えば、表示部5はタッチパネルである。ユーザーは、スワイプ操作により視点の位置および視線の方向を変更することができる。
被写体を基準にした方向Aおよび視点Aが変更された場合、画像生成部186はさらに、変更された方向Aおよび変更された視点Aに基づいて、第2の画像を再度生成する。被写体を基準にした視点Aが変更されたとき、視点Aと視点B(視点C)との相対関係を保つように、被写体を基準にした視点B(視点C)は変更される。被写体を基準にした方向Aが変更されたとき、方向Aと方向B(方向C)との相対関係を保つように、被写体を基準にした方向B(方向C)は変更される。画像生成部186はさらに、変更された方向B(方向C)および変更された視点B(視点C)に基づいて、第4の画像を再度生成する。表示制御部181はさらに、再度生成された第2の画像と、再度生成された第4の画像とを表示部5に表示する。
例えば、ユーザーが3D画像G12h上でスワイプ操作を行う。座標算出部183は、スワイプ操作に基づいて、被写体の表面上の全ての3次元座標の各々を変更する。X’軸、Y’軸、およびZ’軸は変更されない。X’軸、Y’軸、およびZ’軸で規定された座標系における視点A、視点B、および視点Cは変更されない。これらの視点間の相対関係は保たれる。これらの視点のうち任意の2点間の距離は変更されない。X’軸、Y’軸、およびZ’軸で規定された座標系における方向A、方向B、および方向Cは変更されない。これらの方向間の相対関係は保たれる。これらの方向のうち任意の2方向間の角度は変更されない。
X’軸、Y’軸、およびZ’軸で規定された3次元空間において、スワイプ操作に基づいて、被写体が回転する。画像生成部186は、視点Aから方向Aに見た被写体の3D画像を生成し、かつ基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する。これにより、3D画像G12hが変更される。
画像生成部186は、視点Bから方向Bに見た被写体の3D画像を生成し、かつ基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する。これにより、3D画像G13kが変更される。画像生成部186は、視点Cから方向Cに見た被写体の3D画像を生成し、かつ基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する。これにより、3D画像G14が変更される。
被写体が回転する場合、被写体上の各位置から見た各視点の位置は変更される。そのため、被写体を基準にした各視点の位置は変更される。被写体が回転する場合、被写体上の各位置から各視点を見るときの角度は変更される。そのため、被写体を基準にした各方向は変更される。
被写体が回転せずに、視点A、視点B、および視点Cの各々の座標が変更されてもよい。各座標間の相対関係が保たれるように、各視点の座標が変更される。各視点の変更に伴って、各方向が変更されてもよい。各方向間の相対関係が保たれるように、各方向が変更される。
被写体を基準にした方向B(方向C)および視点B(視点C)が変更された場合、画像生成部186はさらに、変更された方向B(方向C)および変更された視点B(視点C)に基づいて、第4の画像を再度生成してもよい。被写体を基準にした視点B(視点C)が変更されたとき、視点Aと視点B(視点C)との相対関係を保つように、被写体を基準にした視点Aは変更される。被写体を基準にした方向B(方向C)が変更されたとき、方向Aと方向B(方向C)との相対関係を保つように、被写体を基準にした方向Aは変更される。画像生成部186はさらに、変更された方向Aおよび変更された視点Aに基づいて、第2の画像を再度生成する。表示制御部181はさらに、再度生成された第2の画像と、再度生成された第4の画像とを表示部5に表示する。
例えば、ユーザーが3D画像G13k上でスワイプ操作を行う。座標算出部183は、スワイプ操作に基づいて、被写体の表面上の全ての3次元座標の各々を変更する。X’軸、Y’軸、およびZ’軸で規定された3次元空間において、スワイプ操作に基づいて、被写体が回転する。画像生成部186は、視点Bから方向Bに見た被写体の3D画像を生成し、かつ基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する。これにより、3D画像G13kが変更される。
画像生成部186は、視点Aから方向Aに見た被写体の3D画像を生成し、かつ基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する。これにより、3D画像G12hが変更される。画像生成部186は、視点Cから方向Cに見た被写体の3D画像を生成し、かつ基準線を3D画像に重畳する。表示制御部181は、基準線が重畳された3D画像を表示部5に表示する。これにより、3D画像G14が変更される。
視点A、視点B、および視点Cの相対的な位置関係が維持されたまま、各視点から見た被写体の3D画像が変更される。ユーザーは、様々な方向に見た被写体の画像に基づいて、2つの基準点の位置が妥当であるか否かを確認することができる。
(第4の実施形態)
本発明の第4の実施形態を説明する。2つの基準点の位置の確認のための2つの3次元画像が表示部5に表示される。1つの3次元画像は、第2の視点から第2の方向に見た被写体の第3の画像である。他の3次元画像は、第3の視点から第3の方向に見た被写体の第4の画像である。
第4の実施形態において、基準図形は直線(基準線)である。第2の方向および第2の視点は、第1の直線軸に基づいて設定される。第4の方向および第4の視点は、第2の直線軸に基づいて設定される。第1の直線軸および第2の直線軸は基準図形に垂直である。第1の実施形態と同様に、第2の視点は視点Aであり、第2の方向は方向Aであり、かつ第1の直線軸はY’軸である。
図30を使用して、第4の実施形態における3次元計測について説明する。図30は、3次元計測の手順を示す。図21に示す処理と同じ処理の説明を省略する。
ステップS111の後、視点算出部185は、基準線に基づいて視点D(第3の視点)および方向D(第3の方向)を算出する(ステップS161)。ステップS161は、視点算出ステップに対応する。視点算出部185は、ステップS161において、以下の方法で視点Dおよび方向Dを算出する。
視点算出部185は、基準線および計測線に垂直な方向に伸びるZ’’軸(第2の直線軸)を設定する。計測線は、2つの端点を結ぶ線分である。2つの端点の一方は、計測点である。2つの端点の他方は、基準線上の点である。Z’’軸は、カメラ位置を通る。
Z軸がX軸を中心に第1の回転量だけ回転し、かつZ軸がY軸を中心に第2の回転量だけ回転したとき、Z軸はZ’’軸と一致する。視点算出部185は、第1の回転量および第2の回転量を算出する。X軸、Y軸、およびZ軸は、初期視点および初期方向を規定する座標軸である。例えば、Z軸は、内視鏡装置1の光学系の光軸方向に伸びる。X軸およびY軸は、光軸方向に垂直な方向に伸びる。
視点算出部185は、Y軸を中心に第2の回転量だけX軸を回転させることにより、X’’軸を得る。視点算出部185は、X軸を中心に第1の回転量だけY軸を回転させることにより、Y’’軸を得る。これにより、X軸に近いX’’軸が得られ、かつY軸に近いY’’軸が得られる。視点Dおよび方向Dがユーザーに分かりやすい。視点算出部185は、X’’軸の正の方向をX軸の正の方向と同様に設定する。視点算出部185は、Y’’軸の正の方向をY軸の正の方向と同様に設定する。視点算出部185は、Z’’軸の正の方向をZ軸の正の方向と同様に設定する。
視点算出部185は、方向DをZ’’軸の正の方向に設定する。視点算出部185は、被写体を方向Dに見たときに被写体が視野に入るような視点Dを算出する。具体的には、視点算出部185は、視点Dから方向Dに進む視線が通る位置を算出する。例えば、視点DのY’’座標は0である。視点DのX’’座標は、第1の基準点のX’’座標と第2の基準点のX’’座標と第3の基準点のX’’座標との平均である。視点DのZ’’座標は、被写体の全体が視野に入る位置である。視点DのZ’’座標は、少なくとも第1の基準点、第2の基準点、および第3の基準点が視野に入る位置であってもよい。
ステップS161の後、画像生成部186は、ステップS102において算出された3次元座標に基づいて、視点Dから方向Dに見た被写体の3次元画像(3D画像)を生成する。このとき、画像生成部186は、3D画像を透視投影で表示するための画像データを生成する。画像生成部186は、基準線および計測線を3D画像に重畳する。表示制御部181は、基準線および計測線が重畳された3D画像を表示部5に表示する(ステップS162)。ステップS162において表示された3D画像(第4の画像)は、視点Dから方向Dに見た被写体の状態を示す。ステップS162は、画像生成ステップおよび第2の表示ステップに対応する。ステップS162が実行されたとき、3次元計測が終了する。
図31は、ステップS162において表示部5に表示される画像の例を示す。3D画像G11l、3D画像G12l、および3D画像G15が表示部5に表示される。表示制御部181は、ステップS162において、3D画像G15が3D画像G11lおよび3D画像G12lのいずれとも重ならないように3D画像G15を表示部5に表示する。
3D画像G11lは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11l、第2の基準点P12l、基準線L11l、イラストIT11l、およびイラストIT14が3D画像G11l上に表示される。さらに、計測点P13l、計測線L13l、および計測結果R11lが3D画像G11l上に表示される。3D画像G12lは、視点Aから方向Aに見た被写体OB11の3D画像である。基準線L12lが3D画像G12l上に表示される。
3D画像G15は、視点Dから方向Dに見た被写体OB11の3次元画像である。基準線L16および計測線L17が3D画像G15上に表示される。基準線L16は、視点Dから方向Dに見た基準線を示す。計測線L17は、視点Dから方向Dに見た計測線を示す。基準線および計測線に垂直な方向に見た被写体OB11が3D画像G15に映っている。方向Dは、ユーザーが計測線の位置を最も確認しやすいと考えられる方向である。
ユーザーは、3D画像G15に基づいて、計測点が被写体OB11の欠けの最深点に設定されているか否かを判断する。これにより、ユーザーは、計測点の位置が妥当であるか否かを確認することができる。図31に示す例では、計測線L17の端点は被写体OB11の欠けの最深点と一致する。そのため、ユーザーは、計測点の位置が妥当であると判断することができる。視点の位置および視線の方向を指定するための操作は必要ない。
表示制御部181は、ステップS162において、挿入部2の先端20のイラストIT14を表示部5に表示する。ステップS162は、第3の表示ステップに対応する。イラストIT14は、視点Dに配置され方向Dを向く挿入部2の先端20を示す。イラストIT14が表示されるため、ユーザーは視点Dおよび方向Dを確認することができる。
3D画像G12lおよび3D画像G15が表示部5に表示されたとき、表示制御部181は3D画像G11lを非表示にしてもよい。これにより、表示制御部181は、3D画像G12lおよび3D画像G15を大きく表示することができる。表示制御部181は、ユーザーからの指示に基づいて第1の状態と第2の状態とを切り替えてもよい。第1の状態において、3D画像G11lのみが表示部5に表示される。第2の状態において、3D画像G12lおよび3D画像G15のみが表示部5に表示される。ユーザーが2つの基準点の位置および計測点の位置の確認を終了した後、ユーザーは、所定の操作を行うことにより、3D画像G11l、3D画像G12l、および3D画像G15を表示させてもよい。表示制御部181は、3D画像G15の少なくとも一部が3D画像G11lおよび3D画像G12lの少なくとも1つと重なるように3D画像G15を表示部5に表示してもよい。
ステップS110またはステップS111が実行される前にステップS161が実行されてもよい。ステップS110またはステップS111が実行される前にステップS162が実行されてもよい。
ステップS107aは、図4に示すステップS107に変更されてもよい。つまり、視点算出部185は、第1の実施形態において説明した方法と同じ方法でX’軸、Y’軸、およびZ’軸を設定してもよい。視点算出部185は、第1の実施形態と同様に方向AをY’軸の正の方向に設定し、かつ第1の実施形態と同様にY’軸上に視点Aを設定してもよい。
視点Dおよび方向Dは以下のように変更されてもよい。方向Dは、基準線に平行であってもよい。計測線は基準線に垂直であるため、方向Dは計測線に垂直である。例えば、視点Dは、計測線の中心を通り方向Dに伸びる直線上に設定される。
ステップS107aにおいて、X’軸、Y’軸、およびZ’軸が設定される。例えば、視点算出部185は、方向DをX’軸の正の方向に設定する。視点算出部185は、X’軸に平行であり、かつ計測線の中間点を通る軸上に視点Dを設定する。
図32は、ステップS162において表示部5に表示される画像の例を示す。3D画像G11m、3D画像G12l、および3D画像G15lが表示部5に表示される。3D画像G11mは、初期視点から初期方向に見た被写体OB11の3D画像である。文字CH11、第1の基準点P11l、第2の基準点P12l、計測点P13l、基準線L11l、計測線L13l、計測結果R11l、およびイラストIT11lが3D画像G11m上に表示される。イラストIT14lが表示部5に表示される。3D画像G12lは、図31に示す3D画像G12lと同じである。
3D画像G15lは、視点Dから方向Dに見た被写体OB11の3次元画像である。基準線L16lおよび計測線L17lが3D画像G15l上に表示される。基準線L16lおよび計測線L17lは、一体化している。
第4の実施形態において、視点Aから方向Aに見た被写体の3D画像と、視点Dから方向Dに見た被写体の3D画像とが表示部5に表示される。そのため、内視鏡装置1は、被写体の画像上で指定された点の妥当性の判断を容易化することができる。
(第5の実施形態)
本発明の第5の実施形態を説明する。操作部4は、少なくとも3つの基準点の入力を受け付ける。基準図形は、平面である。第2の方向は、直線軸に平行である。直線軸は、基準図形に平行である。第2の視点は、直線軸上にある。
第5の実施形態の内視鏡装置1は、面基準計測機能を有する。3つの基準点および1つの計測点がユーザーによって指定される。3つの基準点の各々は、面基準計測における基準面を算出するための基準位置を示す。計測点は、被写体の寸法を計測する位置を示す。
基準図形算出部184は、3つの基準点の3次元座標に基づいて、基準図形を算出する。基準面が第5の実施形態における基準図形である。基準面は、3次元空間上の平面であり、かつ3つの基準点の各々の3次元座標を通る。
第5の実施形態において計測部187は、基準面を使用して、被写体の3次元計測を実行する。具体的には、計測部187は、3次元の基準面と計測点の3次元座標との3次元距離を算出する。
図33を使用して、第5の実施形態における3次元計測について説明する。図33は、3次元計測の手順を示す。
撮像素子28は、被写体を撮像し、かつ撮像信号を生成することにより、被写体の2D画像を取得する。取得された2D画像(第1の画像)は、初期視点から初期方向に見た被写体の2次元画像である。CPU18は、映像信号処理回路12を経由して被写体の2D画像をCCU9から取得する(ステップS201)。ステップS201は、画像取得ステップに対応する。
ステップS201の後、座標算出部183は、2D画像における全画素の3次元座標を算出する(ステップS202)。ステップS202は、座標算出ステップに対応する。
ステップS202の後、画像生成部186は、ステップS202において算出された3次元座標に基づいて、初期視点から初期方向に見た被写体の3次元画像(3D画像)を生成する。表示制御部181は、3D画像(第2の画像)を表示部5に表示する(ステップS203)。ステップS203は、第1の表示ステップに対応する。
ステップS203の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが基準点として指定した位置を判断し、かつその位置に第1の基準点を設定する。表示制御部181は、第1の基準点を、ステップS203において表示された3D画像上に表示する(ステップS204)。
ステップS204の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが基準点として指定した位置を判断し、かつその位置に第2の基準点を設定する。表示制御部181は、第2の基準点を、ステップS203において表示された3D画像上に表示する(ステップS205)。
ステップS205の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが基準点として指定した位置を判断し、かつその位置に第3の基準点を設定する。表示制御部181は、第3の基準点を、ステップS203において表示された3D画像上に表示する(ステップS206)。ステップS204、ステップS205、およびステップS206は、入力ステップに対応する。
ステップS206の後、基準図形算出部184は、第1の基準点、第2の基準点、および第3の基準点の各々の3次元座標を通る基準面を算出する。基準図形算出部184は、3本の基準線を算出する。3本の基準線の1つは、第1の基準点および第2の基準点の各々の3次元座標を結ぶ。3本の基準線の1つは、第2の基準点および第3の基準点の各々の3次元座標を結ぶ。3本の基準線の1つは、第3の基準点および第1の基準点の各々の3次元座標を結ぶ。表示制御部181は、3本の基準線を、ステップS203において表示された3D画像上に表示する(ステップS207)。ステップS207は、基準図形算出ステップに対応する。
図34は、ステップS207において表示部5に表示される画像の例を示す。3D画像G21が表示部5に表示される。3D画像G21は、初期視点から初期方向に見た被写体OB21の3D画像である。計測モードを示す文字CH21が3D画像G21上に表示される。文字CH21は、計測モードが面基準計測であることを示す。第1の基準点P21、第2の基準点P22、および第3の基準点P23が3D画像G21上に表示される。各基準点は、基準点の位置を示すマークとして表示される。基準線L21、基準線L22、および基準線L23が3D画像G21上に表示される。基準線L21は、第1の基準点P21と第2の基準点P22とを結ぶ。基準線L22は、第2の基準点P22と第3の基準点P23とを結ぶ。基準線L23は、第3の基準点P23と第1の基準点P21とを結ぶ。
ステップS207の後、視点算出部185は、基準面に基づいて視点A(第2の視点)および方向A(第2の方向)を算出する(ステップS208)。ステップS208は、視点算出ステップに対応する。視点算出部185は、ステップS208において、以下の方法で視点Aおよび方向Aを算出する。
視点算出部185は、基準面に垂直なZ’軸を設定する。Z’軸は、カメラ位置を通る。Z軸がX軸を中心に第1の回転量だけ回転し、かつZ軸がY軸を中心に第2の回転量だけ回転したとき、Z軸はZ’軸と一致する。視点算出部185は、第1の回転量および第2の回転量を算出する。X軸、Y軸、およびZ軸は、初期視点および初期方向を規定する座標軸である。例えば、Z軸は、内視鏡装置1の光学系の光軸方向に伸びる。X軸およびY軸は、光軸方向に垂直な方向に伸びる。
視点算出部185は、Y軸を中心に第2の回転量だけX軸を回転させることにより、X’軸を得る。視点算出部185は、X軸を中心に第1の回転量だけY軸を回転させることにより、Y’軸を得る。これにより、X軸に近いX’軸が得られ、かつY軸に近いY’軸が得られる。視点Aおよび方向Aがユーザーに分かりやすい。
X軸、Y軸、およびZ軸が互いに直交するため、X’軸、Y’軸、およびZ’軸は互いに直交する。Z’軸は、基準面に垂直である。視点算出部185は、X軸を回転させることにより得られたX’軸をZ’軸に平行な方向に移動させる。視点算出部185は、基準面上にX’軸を設定する。視点算出部185は、Y軸を回転させることにより得られたY’軸をZ’軸に平行な方向に移動させる。視点算出部185は、基準面上にY’軸を設定する。視点算出部185は、X’軸の正の方向をX軸の正の方向と同様に設定する。視点算出部185は、Y’軸の正の方向をY軸の正の方向と同様に設定する。視点算出部185は、Z’軸の正の方向をZ軸の正の方向と同様に設定する。
視点算出部185は、方向AをY’軸の正の方向に設定する。視点算出部185は、被写体OB21を方向Aに見たときに被写体が視野に入るような視点Aを算出する。例えば、視点AのZ’座標は0である。視点AのX’座標は、第1の基準点P21のX’座標と第2の基準点P22のX’座標と第3の基準点P23のX’座標との平均である。視点AのY’座標は、被写体OB21の全体が視野に入る位置である。視点AのY’座標は、少なくとも第1の基準点P21、第2の基準点P22、および第3の基準点P23が視野に入る位置であってもよい。
方向Aは、基準面に平行でなくてもよい。方向Aは、基準面に平行な方向に対してわずかに傾いていてもよい。例えば、方向Aは、基準面に平行な方向に対して5度傾いていてもよい。これにより、ユーザーは立体感を得ることができる。
ステップS208の後、視点算出部185は、基準面に基づいて視点B(第3の視点)および方向B(第3の方向)を算出する(ステップS209)。ステップS209は、視点算出ステップに対応する。視点算出部185は、ステップS209において、以下の方法で視点Bおよび方向Bを算出する。
ステップS208において、X’軸、Y’軸、およびZ’軸が設定される。視点算出部185は、方向BをX’軸の正の方向に設定する。方向Bは、方向Aに垂直である。視点算出部185は、被写体OB21を方向Bに見たときに被写体が視野に入るような視点Bを算出する。例えば、視点BのZ’座標は0である。視点BのY’座標は、第1の基準点P21のY’座標と第2の基準点P22のY’座標と第3の基準点P23のY’座標との平均である。視点BのX’座標は、被写体OB21の全体が視野に入る位置である。視点BのX’座標は、少なくとも第1の基準点P21、第2の基準点P22、および第3の基準点P23が視野に入る位置であってもよい。
方向Bは、基準面に平行でなくてもよい。方向Bは、基準面に平行な方向に対してわずかに傾いていてもよい。例えば、方向Bは、基準面に平行な方向に対して5度傾いていてもよい。これにより、ユーザーは立体感を得ることができる。
ステップS209の後、画像生成部186は、ステップS202において算出された3次元座標に基づいて、視点Aから方向Aに見た被写体の3次元画像(3D画像)を生成する。このとき、画像生成部186は、3D画像を透視投影で表示するための画像データを生成する。画像生成部186は、基準面を3D画像に重畳する。ステップS207において算出された3本の基準線は基準面上にある。例えば、画像生成部186は、その3本の基準線を3D画像に重畳することにより、基準面を3D画像に重畳する。表示制御部181は、基準面が重畳された3D画像を表示部5に表示する(ステップS210)。ステップS210において表示された3D画像(第3の画像)は、視点Aから方向Aに見た被写体の状態を示す。ステップS210は、画像生成ステップおよび第2の表示ステップに対応する。
ステップS210の後、画像生成部186は、ステップS202において算出された3次元座標に基づいて、視点Bから方向Bに見た被写体の3次元画像(3D画像)を生成する。このとき、画像生成部186は、3D画像を透視投影で表示するための画像データを生成する。画像生成部186は、基準面を3D画像に重畳する。例えば、画像生成部186は、ステップS207において算出された3本の基準線を3D画像に重畳することにより、基準面を3D画像に重畳する。表示制御部181は、基準面が重畳された3D画像を表示部5に表示する(ステップS211)。ステップS211において表示された3D画像(第4の画像)は、視点Bから方向Bに見た被写体の状態を示す。ステップS211は、画像生成ステップおよび第2の表示ステップに対応する。
図35は、ステップS210およびステップS211において表示部5に表示される画像の例を示す。3D画像G21a、3D画像G22、3D画像G23、およびイラストIT22が表示部5に表示される。表示制御部181は、ステップS210において、3D画像G22が3D画像G21aと重ならないように3D画像G22を表示部5に表示する。表示制御部181は、ステップS211において、3D画像G23が3D画像G21aおよび3D画像G22のいずれとも重ならないように3D画像G23を表示部5に表示する。
3D画像G21aは、初期視点から初期方向に見た被写体OB21の3D画像である。文字CH21、第1の基準点P21、第2の基準点P22、第3の基準点P23、基準線L21、基準線L22、基準線L23、およびイラストIT21が3D画像G21a上に表示される。3D画像G22は、視点Aから方向Aに見た被写体OB21の3D画像である。基準面PL22が3D画像G22上に表示される。基準面PL22は、視点Aから方向Aに見た基準面を示す。基準面に平行な方向に基準面を見たとき、基準面は直線として見える。被写体OB21の表面に平行な方向に見た被写体OB21のエッジが3D画像G22に映っている。
3D画像G23は、視点Bから方向Bに見た被写体OB21の3D画像である。基準面PL23が3D画像G23上に表示される。基準面PL23は、視点Bから方向Bに見た基準面を示す。被写体OB21の表面に平行な方向に見た被写体OB21のエッジが3D画像G23に映っている。
ユーザーは、3D画像G22および3D画像G23に基づいて、基準面が被写体OB21のエッジ上に設定されているか否かを判断する。基準面が被写体OB21のエッジ上に設定されている場合、基準面は被写体OB21の表面を高精度に近似する。これにより、ユーザーは、3つの基準点の位置が妥当であるか否かを確認することができる。図35に示す例では、基準面PL22および基準面PL23は被写体OB21のエッジと一致する。そのため、ユーザーは、3つの基準点の位置が妥当であると判断することができる。視点の位置および視線の方向を指定するための操作は必要ない。
表示制御部181は、視点Aおよび方向Aを示す情報と、視点Bおよび方向Bを示す情報とを表示部5に表示する。具体的には、表示制御部181は、ステップS210において、挿入部2の先端20のイラストIT21を表示部5に表示し、かつステップS211において、挿入部2の先端20のイラストIT22を表示部5に表示する。イラストIT21は3D画像G21a上に表示される。イラストIT21は、視点Aに配置され方向Aを向く挿入部2の先端20を示す。イラストIT21が表示されるため、ユーザーは視点Aおよび方向Aを確認することができる。イラストIT22は、視点Bに配置され方向Bを向く挿入部2の先端20を示す。イラストIT22が表示されるため、ユーザーは視点Bおよび方向Bを確認することができる。
3D画像G22および3D画像G23が表示部5に表示されたとき、表示制御部181は3D画像G21aを非表示にしてもよい。これにより、表示制御部181は、3D画像G22および3D画像G23を大きく表示することができる。表示制御部181は、ユーザーからの指示に基づいて第1の状態と第2の状態とを切り替えてもよい。第1の状態において、3D画像G21aのみが表示部5に表示される。第2の状態において、3D画像G22および3D画像G23のみが表示部5に表示される。ユーザーが2つの基準点の位置の確認を終了した後、ユーザーは、所定の操作を行うことにより、3D画像G21a、3D画像G22、および3D画像G23を表示させてもよい。
表示制御部181は、3D画像G22の少なくとも一部が3D画像G21aと重なるように3D画像G22を表示部5に表示してもよい。表示制御部181は、3D画像G23の少なくとも一部が3D画像G21aおよび3D画像G22の少なくとも1つと重なるように3D画像G23を表示部5に表示してもよい。
図36は、ステップS210およびステップS211において表示部5に表示される画像の他の例を示す。3D画像G21a1、3D画像G22a、3D画像G23a、およびイラストIT22aが表示部5に表示される。3D画像G21a1は、初期視点から初期方向に見た被写体OB21の3D画像である。文字CH21、第1の基準点P21a、第2の基準点P22、第3の基準点P23、基準線L21a、基準線L22、基準線L23a、およびイラストIT21aが3D画像G21a1上に表示される。第2の基準点P22および第3の基準点P23は被写体OB21の表面上に設定される。第1の基準点P21aは被写体OB21の表面ではない位置に設定される。
3D画像G22aは、視点Aから方向Aに見た被写体OB21の3D画像である。基準面PL22aが3D画像G22a上に表示される。3D画像G23aは、視点Bから方向Bに見た被写体OB21の3D画像である。基準面PL23aが3D画像G23a上に表示される。図36に示す例では、基準面PL22aおよび基準面PL23aは被写体OB21のエッジと一致しない。そのため、ユーザーは、3つの基準点の位置が妥当ではないと判断することができる。
ステップS211の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが計測点として指定した位置を判断し、かつその位置に計測点を設定する。表示制御部181は、計測点を、ステップS202において表示された3D画像上に表示する(ステップS212)。
ステップS212の後、計測部187は、基準面と計測点の3次元座標とに基づいて、被写体の大きさを計測する。具体的には、計測部187は、基準面と計測点の3次元座標との3次元距離を算出する(ステップS213)。
ステップS213の後、表示制御部181は、計測結果を表示部5に表示する(ステップS214)。ステップS214が実行されたとき、3次元計測が終了する。
図37は、ステップS214において表示部5に表示される画像の例を示す。3D画像G21b、3D画像G22b、3D画像G23b、およびイラストIT22が表示部5に表示される。文字CH21、第1の基準点P21、第2の基準点P22、第3の基準点P23、基準線L21、基準線L22、基準線L23、およびイラストIT21が3D画像G21b上に表示される。さらに、計測点P24および計測結果R21が3D画像G21b上に表示される。計測点P24は、被写体OB21の凸部に設定される。計測結果R21は、基準面と計測点の3次元座標との3次元距離を示す。
3D画像G22bは、視点Aから方向Aに見た被写体OB21の3D画像である。基準面PL22および計測線L24が3D画像G22b上に表示される。計測線L24は、視点Aから方向Aに見た計測線を示す。3D画像G23bは、視点Bから方向Bに見た被写体OB21の3D画像である。基準面PL23および計測線L25が3D画像G23b上に表示される。計測線L25は、視点Bから方向Bに見た計測線を示す。
ステップS203において、3D画像の代わりに、初期視点から初期方向に見た被写体の2D画像が表示部5に表示されてもよい。第1の基準点、第2の基準点、および第3の基準点は、その2D画像に設定されてもよい。
ステップS204における第1の基準点の表示、ステップS205における第2の基準点の表示、ステップS206における第3の基準点の表示、およびステップS212における計測点の表示は必須ではない。ステップS207における基準線の表示は必須ではない。
ステップS212からステップS214のいずれか1つが実行された後、ステップS208が実行されてもよい。ステップS212からステップS214のいずれか1つが実行された後、ステップS210が実行されてもよい。ステップS213またはステップS214が実行された後にステップS210が実行される場合、ユーザーは、計測に使用された3つの基準点の位置が妥当であるか否かを確認することができる。
ステップS212からステップS214のいずれか1つが実行された後、ステップS209が実行されてもよい。ステップS212からステップS214のいずれか1つが実行された後、ステップS211が実行されてもよい。ステップS213が実行された後にステップS211が実行される場合、ユーザーは、計測に使用された3つの基準点の位置が妥当であるか否かを確認することができる。
ステップS212からステップS214の各々は必須ではない。ステップS212からステップS214の各々が実行されなくてもよい。例えば、被写体の形状が所望の形状であるか否かを検査するために、ステップS201からステップS211の各々が実行されてもよい。例えば、検査対象の部位が平面状であるか否かを検査するために、ユーザーは3D画像上のその部位に3つの基準点を指定する。例えば、その部位は、検査対象の表面である。3つの基準点に基づく基準面が3D画像上に表示される。
ユーザーは、その3D画像に基づいて、基準面がその部位上に表示されているか否かを確認する。これにより、ユーザーは、3つの基準点の位置が妥当であるか否かを確認する。3つの基準点の位置が妥当であることが確認された後、ユーザーは、基準面とその部位の形状とを比較することにより、検査を実施する。
視点Aから方向Aに見た被写体の3D画像と、視点Bから方向Bに見た被写体の3D画像とのいずれか1つのみが表示部5に表示されてもよい。
ユーザーが2つの3D画像の視点を同時に変更できてもよい。例えば、ユーザーが1つの3D画像の視点を変更したとき、他の3D画像の視点が変更される。視点を変更する方法は、第3の実施形態の変形例で説明した方法と同様である。
第5の実施形態の内視鏡装置1は、基準点を修正する機能を有してもよい。操作部4は、修正された少なくとも1つの基準点の入力を受け付けてもよい。以前に設定された3つの基準点の少なくとも1つは、修正された基準点によって置き換えられてもよい。基準図形算出部184は、修正された少なくとも1つの基準点を含む3つの基準点の3次元座標に基づいて、基準面を算出してもよい。
第5の実施形態において、視点Aから方向Aに見た被写体の3D画像と、視点Bから方向Bに見た被写体の3D画像とが表示部5に表示される。そのため、内視鏡装置1は、被写体の画像上で指定された点の妥当性の判断を容易化することができる。
(第6の実施形態)
本発明の第6の実施形態を説明する。第6の実施形態の内視鏡装置1は、2点間計測機能を有する。2つの計測点がユーザーによって指定される。2つの計測点の各々は、被写体の寸法を計測する位置を示す。また、2つの計測点の各々は、計測点の位置の確認に使用される基準図形を算出するための基準位置を示す。したがって、2つの計測点の各々は、本発明の各態様の基準点に対応する。
第6の実施形態において、基準図形は線分である。第2の視点および第2の方向を規定する直線軸は、基準図形に垂直である。
基準図形算出部184は、2つの計測点の3次元座標に基づいて、計測線を算出する。計測線が第6の実施形態における基準図形である。計測線は、3次元空間上の線分であり、かつ2つの計測点の各々の3次元座標を結ぶ。2つの計測点が計測線の2つの端点である。第6の実施形態において計測部187は、2つの計測点の3次元座標間の3次元距離を算出する。
図38を使用して、第6の実施形態における3次元計測について説明する。図38は、3次元計測の手順を示す。
撮像素子28は、被写体を撮像し、かつ撮像信号を生成することにより、被写体の2D画像を取得する。取得された2D画像(第1の画像)は、初期視点から初期方向に見た被写体の2次元画像である。CPU18は、映像信号処理回路12を経由して被写体の2D画像をCCU9から取得する(ステップS301)。ステップS301は、画像取得ステップに対応する。
ステップS301の後、座標算出部183は、2D画像における全画素の3次元座標を算出する(ステップS302)。ステップS302は、座標算出ステップに対応する。
ステップS302の後、画像生成部186は、ステップS302において算出された3次元座標に基づいて、初期視点から初期方向に見た被写体の3次元画像(3D画像)を生成する。表示制御部181は、3D画像(第2の画像)を表示部5に表示する(ステップS303)。ステップS303は、第1の表示ステップに対応する。
ステップS303の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが計測点として指定した位置を判断し、かつその位置に第1の計測点を設定する。表示制御部181は、第1の計測点を、ステップS303において表示された3D画像上に表示する(ステップS304)。
ステップS304の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが計測点として指定した位置を判断し、かつその位置に第2の計測点を設定する。表示制御部181は、第2の計測点を、ステップS303において表示された3D画像上に表示する(ステップS305)。
ステップS305の後、基準図形算出部184は、第1の計測点および第2の計測点の各々の3次元座標を結ぶ計測線を算出する。表示制御部181は、計測線を、ステップS303において表示された3D画像上に表示する(ステップS306)。ステップS306は、基準図形算出ステップに対応する。
図39は、ステップS306において表示部5に表示される画像の例を示す。3D画像G31が表示部5に表示される。3D画像G31は、初期視点から初期方向に見た被写体OB31の3D画像である。計測モードを示す文字CH31が3D画像G31上に表示される。文字CH31は、計測モードが2点間計測であることを示す。第1の計測点P31、第2の計測点P32、および計測線L31が3D画像G31上に表示される。各計測点は、計測点の位置を示すマークとして表示される。図39に示す例では、被写体OB31の欠けの2つの端部に第1の計測点P31および第2の計測点P32が設定される。
ステップS306の後、視点算出部185は、計測線に基づいて視点A(第2の視点)および方向A(第2の方向)を算出する(ステップS307)。ステップS307は、視点算出ステップに対応する。視点算出部185は、ステップS307において、以下の方法で視点Aおよび方向Aを算出する。
視点算出部185は、計測線が伸びる方向と同じ方向に伸びるX’軸を設定する。X’軸は、計測線と一致する。視点算出部185は、X’軸に垂直な方向に伸びるZ’軸を設定する。Z’軸は、カメラ位置を通る。視点算出部185は、X’軸およびZ’軸の各々に垂直な方向に伸びるY’軸(直線軸)を設定する。
視点算出部185は、Y’軸の周辺に第1の領域および第2の領域を設定する。方向Aは、第1の領域から第2の領域へ進む方向である。Y’軸は、第1の領域および第2の領域を通る。第1の領域の体積と、第2の領域の体積とは同じである。第1の領域に含まれる被写体の体積は、第2の領域に含まれる被写体の体積よりも少ない。つまり、第1の領域における被写体OB31の3次元座標のデータ数は、第2の領域における被写体OB31の3次元座標のデータ数よりも少ない。視点算出部185は、第1の領域から第2の領域へ進む方向をY’軸の正の方向に設定する。視点算出部185は、X’軸およびZ’軸の各々の正の方向をY’軸の正の方向に基づいて設定する。
視点算出部185は、方向AをY’軸の正の方向に設定する。視点算出部185は、被写体OB31を方向Aに見たときに被写体OB31が視野に入るような視点Aを算出する。例えば、視点AのZ’座標は0である。視点AのX’座標は、第1の計測点P31のX’座標と第2の計測点P32のX’座標との平均である。視点AのY’座標は、被写体OB31の全体が視野に入る位置である。視点AのY’座標は、少なくとも第1の計測点P31および第2の計測点P32が視野に入る位置であってもよい。
ステップS307の後、画像生成部186は、ステップS302において算出された3次元座標に基づいて、視点Aから方向Aに見た被写体の3次元画像(3D画像)を生成する。このとき、画像生成部186は、3D画像を透視投影で表示するための画像データを生成する。画像生成部186は、計測線を3D画像に重畳する。表示制御部181は、計測線が重畳された3D画像を表示部5に表示する(ステップS308)。ステップS308において表示された3D画像(第3の画像)は、視点Aから方向Aに見た被写体の状態を示す。ステップS308は、画像生成ステップおよび第2の表示ステップに対応する。
図40は、ステップS308において表示部5に表示される画像の例を示す。3D画像G31aおよび3D画像G32が表示部5に表示される。表示制御部181は、ステップS308において、3D画像G32が3D画像G31aと重ならないように3D画像G32を表示部5に表示する。3D画像G31aは、初期視点から初期方向に見た被写体OB31の3D画像である。文字CH31、第1の計測点P31、第2の計測点P32、計測線L31、およびイラストIT31が3D画像G31a上に表示される。
3D画像G32は、視点Aから方向Aに見た被写体OB31の3D画像である。計測線L32が3D画像G32上に表示される。計測線L32は、視点Aから方向Aに見た計測線を示す。被写体OB31の表面に平行な方向に見た被写体OB31のエッジが3D画像G32に映っている。
ユーザーは、3D画像G32に基づいて、計測線が被写体OB31のエッジ上に設定されているか否かを判断する。これにより、ユーザーは、2つの計測点の位置が妥当であるか否かを確認することができる。図40に示す例では、計測線L32は被写体OB31のエッジと一致する。そのため、ユーザーは、2つの計測点の位置が妥当であると判断することができる。視点の位置および視線の方向を指定するための操作は必要ない。
表示制御部181は、視点Aおよび方向Aを示す情報を表示部5に表示する。具体的には、表示制御部181は、ステップS308において、挿入部2の先端20のイラストIT31を表示部5に表示する。イラストIT31は3D画像G31a上に表示される。イラストIT31は、視点Aに配置され方向Aを向く挿入部2の先端20を示す。イラストIT31が表示されるため、ユーザーは視点Aおよび方向Aを確認することができる。
3D画像G32が表示部5に表示されたとき、表示制御部181は3D画像G31aを非表示にしてもよい。これにより、表示制御部181は、3D画像G32を大きく表示することができる。表示制御部181は、ユーザーからの指示に基づいて第1の状態と第2の状態とを切り替えてもよい。第1の状態において、3D画像G31aのみが表示部5に表示される。第2の状態において、3D画像G32のみが表示部5に表示される。ユーザーが2つの計測点の位置の確認を終了した後、ユーザーは、所定の操作を行うことにより、3D画像G31aおよび3D画像G32を表示させてもよい。表示制御部181は、3D画像G32の少なくとも一部が3D画像G31aと重なるように3D画像G32を表示部5に表示してもよい。
図41は、ステップS308において表示部5に表示される画像の他の例を示す。3D画像G31bおよび3D画像G32bが表示部5に表示される。3D画像G31bは、初期視点から初期方向に見た被写体OB31の3D画像である。文字CH31、第1の計測点P31b、第2の計測点P32b、計測線L31b、およびイラストIT31bが3D画像G31b上に表示される。第1の計測点P31bは被写体OB31の欠けの1つの端部に設定される。第2の計測点P32bは被写体OB31の表面ではない位置に設定される。3D画像G31bにおいて、第2の計測点P32bの実際の位置がユーザーに分かりにくい。
3D画像G32bは、視点Aから方向Aに見た被写体OB31の3D画像である。計測線L32bが3D画像G32b上に表示される。図41に示す例では、計測線L32bは被写体OB31のエッジと一致しない。そのため、ユーザーは、2つの計測点の位置が妥当ではないと判断することができる。
ステップS308の後、計測部187は、2つの計測点の3次元座標に基づいて、被写体の大きさを計測する。具体的には、計測部187は、2つの計測点間の3次元距離を算出する(ステップS309)。
ステップS309の後、表示制御部181は、計測結果を表示部5に表示する(ステップS310)。ステップS310が実行されたとき、3次元計測が終了する。
ステップS303において、3D画像の代わりに、初期視点から初期方向に見た被写体の2D画像が表示部5に表示されてもよい。第1の計測点および第2の計測点は、その2D画像に設定されてもよい。
ステップS304における第1の計測点の表示、ステップS305における第2の計測点の表示、およびステップS306における計測線の表示は必須ではない。
ステップS309またはステップS310が実行された後、ステップS307が実行されてもよい。ステップS309またはステップS310が実行された後、ステップS308が実行されてもよい。ステップS309またはステップS310が実行された後にステップS308が実行される場合、ユーザーは、計測に使用された2つの計測点の位置が妥当であるか否かを確認することができる。
視点算出部185は、ステップS307において、方向AをZ’軸の正の方向に設定し、かつZ’軸上に視点Aを設定してもよい。視点算出部185は、ステップS307において、方向AをX’軸の正の方向に設定し、かつX’軸上に視点Aを設定してもよい。視点Aから方向Aに見た被写体の3D画像と、他の視点から他の方向に見た被写体の3D画像とが表示部5に表示されてもよい。
視点Aおよび方向Aを規定する直線軸は、被写体の表面を近似する近似平面に平行であってもよい。例えば、視点算出部185は、計測線が伸びる方向と同じ方向に伸びるX’軸を設定する。X’軸は、計測線と一致する。視点算出部185は、計測線の周辺の少なくとも3つの点の3次元座標に基づいて、近似平面を算出する。例えば、視点算出部185は、最小二乗法を使用することにより、近似平面を算出する。例えば、視点算出部185は、計測線から所定距離以内にある少なくとも3つの点の3次元座標に基づいて、近似平面を算出する。少なくとも3つの点は、計測線の近傍にある。少なくとも3つの点は、2つの計測点の少なくとも1つを含んでもよい。少なくとも3つの点は、2つの計測点を含まなくてもよい。少なくとも3つの点が少なくとも1つの計測点を含む場合、少なくとも3つの点は、計測線上の点を含む。視点算出部185は、近似平面に平行であってX’軸に垂直な方向に伸びるY’軸を設定する。
視点算出部185は、被写体の3次元座標のデータ数が少ない第1の領域から被写体の3次元座標のデータ数が多い第2の領域へ進む方向をY’軸の正の方向に設定する。第1の領域および第2の領域は、Y’軸の周辺に設定される。視点算出部185は、X’軸およびY’軸の各々に垂直な方向に伸びるZ’軸を設定する。Z’軸は、カメラ位置を通る。
視点算出部185は、方向AをY’軸の正の方向に設定する。視点算出部185は、被写体を方向Aに見たときに被写体が視野に入るような視点Aを算出する。例えば、視点AのZ’座標は0である。視点AのX’座標は、第1の計測点のX’座標と第2の計測点のX’座標との平均である。視点AのY’座標は、被写体の全体が視野に入る位置である。視点AのY’座標は、少なくとも第1の計測点および第2の計測点が視野に入る位置であってもよい。
方向Aは、上記の近似平面に平行でなくてもよい。方向Aは、近似平面に平行な方向に対してわずかに傾いていてもよい。例えば、方向Aは、近似平面に平行な方向に対して5度傾いていてもよい。これにより、ユーザーは立体感を得ることができる。方向Aは、近似平面に垂直であってもよい。
第6の実施形態の内視鏡装置1は、計測点を修正する機能を有してもよい。操作部4は、修正された少なくとも1つの計測点の入力を受け付けてもよい。以前に設定された2つの計測点の少なくとも1つは、修正された計測点によって置き換えられてもよい。基準図形算出部184は、修正された少なくとも1つの計測点を含む2つの計測点の3次元座標に基づいて、計測線を算出してもよい。
第6の実施形態において、視点Aから方向Aに見た被写体の3D画像が表示部5に表示される。そのため、内視鏡装置1は、被写体の画像上で指定された点の妥当性の判断を容易化することができる。
(第7の実施形態)
本発明の第7の実施形態を説明する。第7の実施形態の内視鏡装置1は、面積/全長計測機能を有する。少なくとも3つの計測点がユーザーによって指定される。少なくとも3つの計測点の各々は、被写体の寸法を計測する位置を示す。また、少なくとも3つの計測点の各々は、計測点の位置の確認に使用される基準図形を算出するための基準位置を示す。したがって、少なくとも3つの計測点の各々は、本発明の各態様の基準点に対応する。
第7の実施形態において、基準図形は平面である。第2の視点および第2の方向を規定する直線軸は、基準図形に平行である。操作部4は、少なくとも3つの計測点の入力を受け付ける。基準図形算出部184は、少なくとも3つの計測点の3次元座標に基づいて、基準図形を算出する。基準面が第7の実施形態における基準図形である。
計測部187は、少なくとも3つの計測点を頂点とする図形の面積を算出する。例えば、計測部187は、その図形を複数の三角形に分割し、かつ複数の三角形の面積の合計を算出する。計測部187はさらに、少なくとも3つの計測点を頂点とする図形の全長を算出する。例えば、N角形の全長はN個の辺の長さの合計である。数字Nは3以上の整数である。1つの辺の長さは、ユーザーが指定した計測点の順番において連続する2つの計測点の3次元座標間の距離である。
図42を使用して、第7の実施形態における3次元計測について説明する。図42は、3次元計測の手順を示す。
撮像素子28は、被写体を撮像し、かつ撮像信号を生成することにより、被写体の2D画像を取得する。取得された2D画像(第1の画像)は、初期視点から初期方向に見た被写体の2次元画像である。CPU18は、映像信号処理回路12を経由して被写体の2D画像をCCU9から取得する(ステップS401)。ステップS401は、画像取得ステップに対応する。
ステップS401の後、座標算出部183は、2D画像における全画素の3次元座標を算出する(ステップS402)。ステップS402は、座標算出ステップに対応する。
ステップS402の後、画像生成部186は、ステップS402において算出された3次元座標に基づいて、初期視点から初期方向に見た被写体の3次元画像(3D画像)を生成する。表示制御部181は、3D画像(第2の画像)を表示部5に表示する(ステップS403)。ステップS403は、第1の表示ステップに対応する。
ステップS403の後、点設定部182は、操作部4の操作結果に基づいて、ユーザーが計測点として指定した位置を判断し、かつその位置に計測点を設定する。点設定部182は、少なくとも3つの計測点を設定する。表示制御部181は、少なくとも3つの計測点を、ステップS403において表示された3D画像上に表示する(ステップS404)。
ステップS404の後、基準図形算出部184は、少なくとも3つの計測点の3次元座標に基づいて、基準面を算出する。例えば、基準図形算出部184は、最小二乗法を使用することにより、基準面を算出する。基準図形算出部184は、少なくとも3本の計測線を算出する。各計測線は、ユーザーが指定した計測点の順番において連続する2つの計測点の各々の3次元座標を結ぶ。表示制御部181は、少なくとも3本の計測線を、ステップS404において表示された3D画像上に表示する(ステップS405)。表示された少なくとも3本の計測線は、基準面の位置を示す。ステップS405は、基準図形算出ステップに対応する。
図43は、ステップS405において表示部5に表示される画像の例を示す。3D画像G41が表示部5に表示される。3D画像G41は、初期視点から初期方向に見た被写体OB41の3D画像である。計測モードを示す文字CH41が3D画像G41上に表示される。文字CH41は、計測モードが面積/全長計測であることを示す。7つの計測点P41が3D画像G41上に表示される。図43において、代表として1つの計測点P41の符号が示されている。各計測点は、計測点の位置を示すマークとして表示される。7本の計測線L41が3D画像G41上に表示される。図43において、代表として1本の計測線L41の符号が示されている。
ステップS405の後、視点算出部185は、基準面に基づいて視点A(第2の視点)および方向A(第2の方向)を算出する(ステップS406)。ステップS406は、視点算出ステップに対応する。ステップS406における視点Aおよび方向Aの算出方法は、図33に示すステップS208における視点Aおよび方向Aの算出方法と同じである。視点算出部185は、ステップS406において、方向AをY’軸の正の方向に設定し、かつY’軸上に視点Aを設定する。
ステップS406の後、画像生成部186は、ステップS402において算出された3次元座標に基づいて、視点Aから方向Aに見た被写体の3次元画像(3D画像)を生成する。このとき、画像生成部186は、3D画像を透視投影で表示するための画像データを生成する。画像生成部186は、基準面を3D画像に重畳する。ステップS404において算出された少なくとも3本の計測線は基準面の概略位置を示す。例えば、画像生成部186は、その少なくとも3本の計測線を3D画像に重畳することにより、基準面を3D画像に重畳する。表示制御部181は、基準面が重畳された3D画像を表示部5に表示する(ステップS407)。ステップS407において表示された3D画像(第3の画像)は、視点Aから方向Aに見た被写体の状態を示す。ステップS407は、画像生成ステップおよび第2の表示ステップに対応する。
図44は、ステップS407において表示部5に表示される画像の例を示す。3D画像G41aおよび3D画像G42が表示部5に表示される。表示制御部181は、ステップS407において、3D画像G42が3D画像G41aと重ならないように3D画像G42を表示部5に表示する。
3D画像G41aは、初期視点から初期方向に見た被写体OB21の3D画像である。文字CH41、7つの計測点P41、7本の計測線L41、およびイラストIT41が3D画像G41a上に表示される。3D画像G42は、視点Aから方向Aに見た被写体OB41の3D画像である。基準面PL42が3D画像G42上に表示される。基準面PL42は、視点Aから方向Aに見た基準面を示す。基準面に平行な方向に基準面を見たとき、基準面は直線として見える。被写体OB41の表面に平行な方向に見た被写体OB41のエッジが3D画像G42に映っている。
ユーザーは、3D画像G42に基づいて、基準面が被写体OB41のエッジ上に設定されているか否かを判断する。基準面が被写体OB41のエッジ上に設定されている場合、基準面は被写体OB41の表面を高精度に近似する。これにより、ユーザーは、7つの計測点の位置が妥当であるか否かを確認することができる。図44に示す例では、基準面PL42は被写体OB41のエッジと一致する。そのため、ユーザーは、7つの計測点の位置が妥当であると判断することができる。視点の位置および視線の方向を指定するための操作は必要ない。
表示制御部181は、視点Aおよび方向Aを示す情報を表示部5に表示する。具体的には、表示制御部181は、ステップS407において、挿入部2の先端20のイラストIT41を表示部5に表示する。イラストIT41は3D画像G41a上に表示される。イラストIT41は、視点Aに配置され方向Aを向く挿入部2の先端20を示す。イラストIT41が表示されるため、ユーザーは視点Aおよび方向Aを確認することができる。
3D画像G42が表示部5に表示されたとき、表示制御部181は3D画像G41aを非表示にしてもよい。これにより、表示制御部181は、3D画像G42を大きく表示することができる。表示制御部181は、ユーザーからの指示に基づいて第1の状態と第2の状態とを切り替えてもよい。第1の状態において、3D画像G41aのみが表示部5に表示される。第2の状態において、3D画像G42のみが表示部5に表示される。ユーザーが7つの計測点の位置の確認を終了した後、ユーザーは、所定の操作を行うことにより、3D画像G41aおよび3D画像G42を表示させてもよい。表示制御部181は、3D画像G42の少なくとも一部が3D画像G41aと重なるように3D画像G42を表示部5に表示してもよい。
図45は、ステップS407において表示部5に表示される画像の他の例を示す。3D画像G41bおよび3D画像G42bが表示部5に表示される。3D画像G41bは、初期視点から初期方向に見た被写体OB41の3D画像である。文字CH41、7つの計測点P41、7本の計測線L41、およびイラストIT41bが3D画像G41b上に表示される。1つの計測点P41bは、被写体OB41のエッジにおいて、他の6つの計測点P41が設定された高さと異なる高さに設定される。3D画像G41bにおいて、計測点P41bの実際の位置がユーザーに分かりにくい。
3D画像G42bは、視点Aから方向Aに見た被写体OB41の3D画像である。基準面PL42bが3D画像G42b上に表示される。基準面PL42bは、7本の計測線として表示される。図45に示す例では、被写体OB41の表面に垂直な方向における計測点P41bの高さがずれているため、7本の計測線の一部は被写体OB41のエッジに平行ではない。そのため、ユーザーは、7つの計測点の一部の位置が妥当ではないと判断することができる。
ステップS407の後、計測部187は、少なくとも3つの計測点の3次元座標に基づいて、被写体の大きさを計測する。具体的には、計測部187は、少なくとも3つの計測点を頂点とする図形の面積と、その図形の全長とを算出する(ステップS408)。
ステップS408の後、表示制御部181は、計測結果を表示部5に表示する(ステップS409)。ステップS409が実行されたとき、3次元計測が終了する。
ステップS403において、3D画像の代わりに、初期視点から初期方向に見た被写体の2D画像が表示部5に表示されてもよい。少なくとも3つの計測点は、その2D画像に設定されてもよい。
ステップS404における計測点の表示およびステップS405における基準面の表示は必須ではない。
ステップS408またはステップS409が実行された後、ステップS406が実行されてもよい。ステップS408またはステップS409が実行された後、ステップS407が実行されてもよい。ステップS408またはステップS409が実行された後にステップS407が実行される場合、ユーザーは、計測に使用された少なくとも3つの計測点の位置が妥当であるか否かを確認することができる。
視点算出部185は、ステップS406において、方向AをZ’軸の正の方向に設定し、かつZ’軸上に視点Aを設定してもよい。視点算出部185は、ステップS406において、方向AをX’軸の正の方向に設定し、かつX’軸上に視点Aを設定してもよい。視点Aから方向Aに見た被写体の3D画像と、他の視点から他の方向に見た被写体の3D画像とが表示部5に表示されてもよい。
第7の実施形態の内視鏡装置1は、計測点を修正する機能を有してもよい。操作部4は、修正された少なくとも1つの計測点の入力を受け付けてもよい。以前に設定された少なくとも3つの計測点の一部は、修正された計測点によって置き換えられてもよい。基準図形算出部184は、修正された少なくとも1つの計測点を含む少なくとも3つの計測点の3次元座標に基づいて、基準面を算出してもよい。
第7の実施形態において、視点Aから方向Aに見た被写体の3D画像が表示部5に表示される。そのため、内視鏡装置1は、被写体の画像上で指定された点の妥当性の判断を容易化することができる。
(第8の実施形態)
本発明の第8の実施形態を説明する。操作部4は、1つの計測点の入力を受け付ける。点設定部182は、表示部5に表示された被写体の画像(第2の画像)におけるカーソルの位置に計測点を設定する。計測点は、本発明の各態様の基準点に対応する。画像生成部186は、基準点の3次元座標に基づいて、第2の視点から第2の方向に見た被写体の3D画像(第3の画像)を生成する。画像生成部186は、計測点の3次元座標に基づいて、第2の視点と異なる第3の視点から第2の方向と異なる第3の方向に見た被写体の3D画像(第4の画像)を生成する。表示制御部181は、計測点の位置を示す情報が重畳された2つの3D画像を表示部5に表示する。
視点算出部185は、第2の方向をX軸の正の方向に設定し、かつ第2の視点をX軸上に設定する。視点算出部185は、第3の方向をY軸の正の方向に設定し、かつ第3の視点をY軸上に設定する。X軸、Y軸、およびZ軸は、初期視点および初期方向を規定する座標軸である。例えば、Z軸は、内視鏡装置1の光学系の光軸方向に伸びる。X軸およびY軸は、光軸方向に垂直な方向に伸びる。
図46は、表示部5に表示される画像の例を示す。3D画像G51が表示部5に表示される。3D画像G51は、初期視点から初期方向に見た被写体OB51の3D画像である。カーソルCR51が3D画像G51上に表示される。ユーザーは、操作部4を操作することにより、カーソルCR51を移動させることができる。カーソルCR51の位置に計測点が設定される。
3D画像G52および3D画像G53が3D画像G51上に表示される。3D画像G52は、第2の視点から第2の方向に見た被写体OB51の3D画像である。3D画像G53は、第3の視点から第3の方向に見た被写体OB51の3D画像である。計測点P51が3D画像G52上に表示される。計測点P51は、第2の視点から第2の方向に見た計測点を示す。計測点P52が3D画像G53上に表示される。計測点P52は、第3の視点から第3の方向に見た計測点を示す。
撮像素子28は、被写体OB51の2D画像を取得する。座標算出部183は、ステレオ計測の原理に基づいて、2D画像における全画素の3次元座標を算出する。画像生成部186は、座標算出部183によって算出された3次元座標に基づいて、3D画像G51、3D画像G52、および3D画像G53を生成する。
図47および図48は、画像生成部186によって生成された3D画像を示す。図47に示す3D画像G54は、第2の視点から第2の方向に見た被写体OB51の3D画像である。図48に示す3D画像G55は、第3の視点から第3の方向に見た被写体OB51の3D画像である。3D画像G54および3D画像G55は、3D画像G51に映っている被写体OB51の全体に対応する複数の点を含む。画像生成部186は、計測点P51の周辺の領域を含む画像を3D画像G54から切り出す。切り出された画像は、3D画像G52である。画像生成部186は、計測点P52の周辺の領域を含む画像を3D画像G55から切り出す。切り出された画像は、3D画像G53である。
3次元座標の算出結果が誤差を含む場合がある。X座標およびY座標の各々の算出結果と比較して、Z座標の算出結果は、より大きな誤差を含みやすい。Z軸に平行な方向は、画像の奥行き方向である。ユーザーが3D画像G51において被写体のエッジ上の計測点を指定したと考えた場合であっても、その計測点が被写体のエッジ上にないことがある。計測点P51は、3D画像G52上の被写体OB51の大きな点群から離れている。計測点P52は、3D画像G53上の被写体OB51の大きな点群から離れている。そのため、ユーザーは、カーソルCR51が示す計測点の位置が妥当ではないと判断することができる。
図46に示す例では、2枚の3D画像G52および3D画像G53が表示部5に表示される。3D画像G52のみ、あるいは3D画像G53のみが表示部5に表示されてもよい。
第8の実施形態において、第2の視点から第2の方向に見た被写体の3D画像と、第3の視点から第3の方向に見た被写体の3D画像とが表示部5に表示される。そのため、内視鏡装置1は、被写体の画像上で指定された点の妥当性の判断を容易化することができる。
(第9の実施形態)
本発明の第9の実施形態を説明する。第8の実施形態において説明した方法で3D画像が表示された場合、3D画像内の被写体の表面の角度に起因して、計測点の妥当性の判断が難しい場合がある。
図49および図50は、第8の実施形態において説明した方法で生成された3D画像を示す。図49は、被写体の表面を近似する平面がZ軸に対して45度の角度を持つ場合にX軸に平行な方向に見た被写体の3D画像G56を示す。図50は、被写体の表面を近似する平面がZ軸に対して45度の角度を持つ場合にY軸に平行な方向に見た被写体の3D画像G57を示す。
3D画像G56および3D画像G57において、大きな誤差を含む3次元座標を持つ点が被写体の表面上の他の点と重なる場合がある。そのため、計測点の位置が妥当であるか否かをユーザーが判断することが難しい。また、計測点が被写体のエッジの近傍に設定された場合、エッジと計測点との間のずれの方向がユーザーに分かりにくい。
第9の実施形態において、視点算出部185は、計測点の周辺の領域における被写体の状態に基づいて第2の方向および第2の視点を算出する。具体的には、基準図形算出部184は、少なくとも3つの点の3次元座標に基づいて、基準図形を算出する。第9の実施形態において基準図形は、被写体の表面を近似する平面である。少なくとも3つの点の各々は被写体上の複数の点の1つである。少なくとも3つの点は、少なくとも1つの計測点に基づいて決定される。第2の方向は、直線軸に平行である。直線軸は、基準図形に垂直であり、または基準図形に平行である。第2の視点は、直線軸上にある。
視点算出部185は、計測点の周辺の領域に被写体のエッジがあるか否かを判断する。計測点の周辺の領域に被写体のエッジがあると視点算出部185が判断した場合、視点算出部185は、エッジの位置に基づいて第2の方向および第2の視点を算出する。
図51を使用して、第9の実施形態における視線の方向の算出方法について説明する。図51は、視線の方向を算出する手順を示す。座標算出部183は、撮像素子28によって取得された2D画像における全画素の3次元座標を算出する。3次元座標が算出された後、図51に示す処理が実行される。
視点算出部185は、座標算出部183によって算出された3次元座標を持つ複数の点から計測点の周辺の少なくとも3つの点を抽出する。例えば、視点算出部185は、計測点から所定距離以内にある少なくとも3つの点を抽出する。計測点の周辺の少なくとも3つの点は、計測点を含んでもよい。計測点の周辺の少なくとも3つの点は、計測点を含まなくてもよい(ステップS501)。
ステップS501の後、視点算出部185は、抽出された少なくとも3つの点の3次元座標に基づいて、近似平面を算出する。例えば、視点算出部185は、最小二乗法を使用することにより、近似平面を算出する(ステップS502)。
ステップS502の後、視点算出部185は、被写体の表面が平面であるか否かを判断する。例えば、視点算出部185は、ステップS501において抽出された少なくとも3つの点の各々と近似平面との距離の2乗和を算出する。視点算出部185は、2乗和と所定のしきい値とを比較する。2乗和がしきい値以下である場合、視点算出部185は、被写体の表面が平面であると判断する。2乗和がしきい値よりも大きい場合、視点算出部185は、被写体の表面が平面ではないと判断する(ステップS503)。
ステップS503において、被写体の表面が平面であると視点算出部185が判断した場合、視点算出部185は、計測点の周辺にエッジがあるか否かを判断する(ステップS504)。エッジを検出するための様々なアルゴリズムが使用できる。例えば、2次元的なフィルタを2D画像に適用することによりエッジを検出する方法がある。2次元的なフィルタは、Canny edge detector、Sobelフィルタ、またはPrewittフィルタ等である。Canny edge detectorを距離画像に適用することによりエッジを検出する方法がある。距離画像は、2D画像における各画素の値として、その画素における距離を含む画像である。Difference of Normalオペレータを3次元点群に適用することによりエッジを検出する方法がある。視点算出部185は、上記の方法以外の方法を使用することによりエッジを検出してもよい。
ステップS504において、計測点の周辺にエッジがあると視点算出部185が判断した場合、視点算出部185は、X’軸およびY’軸を設定する。X’軸は、近似平面に平行な方向であって、エッジに垂直な方向に伸びる。Y’軸は、近似平面に平行な方向であって、エッジに平行な方向に伸びる(ステップS505)。エッジが直線状ではない場合、エッジに最も近い近似直線が使用されてもよい。
ステップS505の後、視点算出部185は、第2の方向をX’軸に平行な方向に設定する(ステップS506)。ステップS506の後、視点算出部185は、第3の方向をY’軸に平行な方向に設定する(ステップS507)。ステップS507が実行されたとき、視線の方向を算出する処理が終了する。
ステップS504において、計測点の周辺にエッジがないと視点算出部185が判断した場合、視点算出部185は、X’軸およびY’軸を設定する。X’軸は、近似平面に平行な方向に伸びる。Y’軸は、近似平面に平行な方向に伸びる(ステップS508)。ステップS508の後、ステップS506が実行される。
ステップS503において、被写体の表面が平面ではないと視点算出部185が判断した場合、視点算出部185は、第2の方向を、初期視点および初期方向を規定するX軸に平行な方向に設定する(ステップS509)。ステップS509の後、視点算出部185は、第3の方向を、初期視点および初期方向を規定するY軸に平行な方向に設定する(ステップS510)。ステップS510が実行されたとき、視線の方向を算出する処理が終了する。
図51に示す手順において、Z’軸の説明は省略されている。Z’軸は、近似平面に垂直な方向に伸びる。
図51に示す手順において、第2の視点および第3の視点の説明は省略されている。例えば、第2の視点はX’軸上またはX軸上に設定される。例えば、第3の視点はY’軸上またはY軸上に設定される。
図52は、表示部5に表示される画像の例を示す。3D画像G61が表示部5に表示される。3D画像G61は、初期視点から初期方向に見た被写体OB61の3D画像である。カーソルCR61が3D画像G61上に表示される。カーソルCR61の位置に計測点が設定される。
3D画像G62および3D画像G63が3D画像G61上に表示される。3D画像G62は、第2の視点から第2の方向に見た被写体OB61の3D画像である。3D画像G63は、第3の視点から第3の方向に見た被写体OB61の3D画像である。計測点P61が3D画像G62上に表示される。計測点P61は、第2の視点から第2の方向に見た計測点を示す。計測点P62が3D画像G63上に表示される。計測点P62は、第3の視点から第3の方向に見た計測点を示す。3D画像G62および3D画像G63は、被写体の表面が平面であると判断され、かつ計測点の周辺にエッジがないと判断された場合に生成された3D画像の例である。
画像生成部186は、ステップS502において算出された近似平面を3D画像に重畳する。表示制御部181は、近似平面が重畳された3D画像を表示部5に表示する。近似平面PL61が3D画像G62上に表示される。近似平面PL62が3D画像G63上に表示される。
表示制御部181は、3D画像上の複数の点の各々から近似平面までの距離の統計量を示す情報が重畳された3D画像を表示部5に表示する。例えば、視点算出部185は、ステップS501において抽出された少なくとも3つの点の各々と近似平面との距離の標準偏差σを算出する。視点算出部185は、近似平面から2σだけ離れた2つの平面を算出する。2つの平面は、近似平面に平行である。画像生成部186は、2つの平面を3D画像に重畳する。表示制御部181は、2つの平面が重畳された3D画像を表示部5に表示する。平面PL63aおよび平面PL63bが3D画像G62上に表示される。平面PL63aおよび平面PL63bは、統計量を示す。平面PL64aおよび平面PL64bが3D画像G63上に表示される。平面PL64aおよび平面PL64bは、統計量を示す。
ユーザーは、計測点P61と近似平面PL61との距離に基づいて、計測点P61の妥当性を判断する。あるいは、ユーザーは、計測点P62と近似平面PL62との距離に基づいて、計測点P62の妥当性を判断する。ユーザーは、平面PL63aおよび平面PL63bを参考にして計測点P61の妥当性を判断することができる。ユーザーは、平面PL64aおよび平面PL64bを参考にして計測点P62の妥当性を判断することができる。
計測点P61は、平面PL63aおよび平面PL63bの間にない。つまり、計測点P61と近似平面PL61との距離は大きい。計測点P62は、平面PL64aおよび平面PL64bの間にない。つまり、計測点P62と近似平面PL62との距離は大きい。これは、カーソルCR61が示す計測点の3次元座標が大きな誤差を含むことを示す。そのため、ユーザーは、カーソルCR61が示す計測点の位置が妥当ではないと判断することができる。
図53は、表示部5に表示される画像の他の例を示す。3D画像G61aが表示部5に表示される。3D画像G61aは、初期視点から初期方向に見た被写体OB61の3D画像である。カーソルCR61aが3D画像G61a上に表示される。カーソルCR61aの位置に計測点が設定される。カーソルCR61aが示す計測点の近傍に被写体OB61のエッジがある。
3D画像G62aおよび3D画像G63aが3D画像G61a上に表示される。3D画像G62aは、第2の視点から第2の方向に見た被写体OB61の3D画像である。3D画像G63aは、第3の視点から第3の方向に見た被写体OB61の3D画像である。計測点P61aが3D画像G62上に表示される。計測点P61aは、第2の視点から第2の方向に見た計測点を示す。計測点P62aが3D画像G63a上に表示される。計測点P62aは、第3の視点から第3の方向に見た計測点を示す。3D画像G62aおよび3D画像G63aは、被写体の表面が平面であると判断され、かつ計測点の周辺にエッジがあると判断された場合に生成された3D画像の例である。
近似平面PL61aが3D画像G62a上に表示される。近似平面PL62aが3D画像G63a上に表示される。3D画像上の複数の点の各々から近似平面までの距離の統計量を示す情報が3D画像G62aおよび3D画像G63a上に表示されてもよい。
計測点P61aは、近似平面PL61a上にある。計測点P62aは、近似平面PL62a上にある。そのため、ユーザーは、カーソルCR61aが示す計測点の位置が妥当であると判断することができる。
図52に示す例では、2枚の3D画像G62および3D画像G63が表示部5に表示される。3D画像G62のみ、あるいは3D画像G63のみが表示部5に表示されてもよい。図53に示す例では、2枚の3D画像G62aおよび3D画像G63aが表示部5に表示される。3D画像G62aのみ、あるいは3D画像G63aのみが表示部5に表示されてもよい。
第9の実施形態において、第2の視点から第2の方向に見た被写体の3D画像と、第3の視点から第3の方向に見た被写体の3D画像とが表示部5に表示される。そのため、内視鏡装置1は、被写体の画像上で指定された点の妥当性の判断を容易化することができる。
計測点の周辺の領域において被写体の表面が平面である場合、視線の方向はその平面に平行な方向に設定される。そのため、計測点の位置が妥当であるか否かをユーザーが判断することが容易である。
計測点の周辺の領域において被写体の表面が平面であり、かつ計測点の近傍に被写体のエッジがある場合、視線の方向はその平面に平行であり、かつそのエッジに平行である。あるいは、視線の方向はその平面に平行であり、かつそのエッジに垂直である。そのため、計測点の位置が妥当であるか否かをユーザーが判断することが容易である。
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。