以下、図面を参照し、本発明の実施形態を説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態による画像処理装置7の構成を示す。図1に示す画像処理装置7は、設定部70、判断部71、および表示制御部72を有する。
設定部70は、第1の領域を第1の画像に設定する(第1の設定ステップ)。判断部71は、第1の領域が所定の処理に適しているか否かを判断する(第1の判断ステップ)。所定の処理は、被写体における3次元座標(3D座標)を算出する処理である。設定部70は、第2の領域を第1の画像よりも後に取得された第2の画像に設定する(第2の設定ステップ)。第2の領域は第2の画像の全体領域よりも小さい。判断部71は、第2の領域が所定の処理に適しているか否かを判断する(第2の判断ステップ)。表示制御部72は、第1の領域の少なくとも一部が所定の処理に適しているか否かを示す情報と、第2の領域が所定の処理に適しているか否かを示す情報とをディスプレイに表示する(情報表示ステップ)。
図1に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。例えば、プロセッサは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、およびGPU(Graphics Processing Unit)の少なくとも1つである。例えば、論理回路は、ASIC(Application Specific Integrated Circuit)およびFPGA(Field-Programmable Gate Array)の少なくとも1つである。図1に示す各部は、1つまたは複数のプロセッサを含むことができる。図1に示す各部は、1つまたは複数の論理回路を含むことができる。
画像処理装置7のコンピュータがプログラムを読み込み、かつ読み込まれたプログラムを実行してもよい。そのプログラムは、設定部70、判断部71、および表示制御部72の動作を規定する命令を含む。つまり、設定部70、判断部71、および表示制御部72の機能はソフトウェアにより実現されてもよい。
上記のプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。そのプログラムは、そのプログラムを保持するコンピュータから、伝送媒体を経由して、あるいは伝送媒体中の伝送波により画像処理装置7に伝送されてもよい。プログラムを伝送する「伝送媒体」は、情報を伝送する機能を有する媒体である。情報を伝送する機能を有する媒体は、インターネット等のネットワーク(通信網)および電話回線等の通信回線(通信線)を含む。上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、差分ファイル(差分プログラム)であってもよい。前述した機能は、コンピュータに既に記録されているプログラムと差分プログラムとの組合せによって実現されてもよい。
図2を参照し、第1の実施形態における画像処理について説明する。図2は、画像処理の手順を示す。
第1の画像および第2の画像が画像処理に使用される。カメラなどの画像取得装置が第1の画像および第2の画像を取得してもよく、画像処理装置7は、第1の画像および第2の画像をその画像取得装置から取得してもよい。画像処理装置7は、第1の画像および第2の画像を記憶する記録媒体を有してもよい。あるいは、その記録媒体が画像処理装置7に接続されてもよい。
設定部70は、第1の領域を第1の画像に設定する(ステップS1)。ステップS1は、第1の設定ステップと対応する。
第1の領域の画角が第1の画像の画角よりも小さい必要はない。つまり、第1の領域は、第1の画像の全体領域の一部である必要はない。第1の領域の画角は、第1の画像の画角と同じであってもよい。つまり、第1の領域は、第1の画像の全体領域と同じであってもよい。
ステップS1の後、判断部71は、第1の画像に設定された第1の領域が所定の処理に適しているか否かを判断する(ステップS2)。ステップS2は、第1の判断ステップと対応する。
ステップS2の後、設定部70は、第2の領域を第2の画像に設定する(ステップS3)。ステップS3は、第2の設定ステップと対応する。
第2の領域の画角は第2の画像の画角よりも小さい。つまり、第2の領域は、第2の画像の全体領域よりも小さい。第2の領域は、第2の画像の全体領域の一部である。
ステップS3の後、判断部71は、第2の画像に設定された第2の領域が所定の処理に適しているか否かを判断する(ステップS4)。ステップS4は、第2の判断ステップと対応する。
例えば、所定の処理は、被写体における3D座標を算出し、かつその被写体の大きさ(寸法)を計測する処理(計測処理)である。あるいは、所定の処理は、被写体における3D座標を算出し、かつ画像を表示する処理(3D表示処理)である。その画像は、被写体の3次元形状(3D形状)を可視化する。
被写体の3D形状が画像として表示される場合、ユーザーは、その3D形状を確認することにより、被写体の状態を判断することができる。例えば、ユーザーは、傷などの異常が被写体上に存在するか否かを判断することができる。計測処理および3D表示処理が実行されてもよい。計測処理が実行される前にユーザーは、被写体の3D形状に基づいて、計測位置が正しいか否かを確認することができる。
ステップS4における所定の処理は、ステップS2における所定の処理と同じである。ステップS2における所定の処理が計測処理である場合、ステップS4における所定の処理は計測処理である。ステップS2における所定の処理が3D表示処理である場合、ステップS4における所定の処理は3D表示処理である。
ステップS4の後、表示制御部72は、第1の領域の少なくとも一部が所定の処理に適しているか否かを示す情報と、第2の領域が所定の処理に適しているか否かを示す情報とをディスプレイに表示する(ステップS5)。ステップS5は、情報表示ステップと対応する。
表示制御部72は、ステップS2における処理の結果と、ステップS4における処理の結果とをディスプレイの表示フレーム期間において表示する。例えば、表示制御部72は、ステップS2における処理の結果と、ステップS4における処理の結果とを同時にディスプレイに表示する。
ステップS4が実行される前に表示制御部72は、第1の領域が所定の処理に適しているか否かを示す情報をディスプレイに表示する必要はない。
第1の画像および第2の画像は、動画を構成する2枚以上のフレームに含まれてもよい。第1の画像および第2の画像が連続する2枚のフレームである必要はない。1枚以上のフレームが第1の画像および第2の画像の間に存在してもよい。
第2の領域が第2の画像の全体領域の一部であるため、ステップS4における処理の負荷が低減される。そのため、画像処理装置7は、第2の画像の領域が所定の処理に適しているか否かを判断する処理の負荷を低減することができる。
(第2の実施形態)
本発明の第2の実施形態を説明する。以下では、画像処理装置が内視鏡装置である例を説明する。
図3および図4を参照し、第2の実施形態における内視鏡装置1の構成を説明する。図3は、内視鏡装置1の外観を示す。図4は、内視鏡装置1の内部構成を示す。
図3に示す内視鏡装置1は、挿入部2、本体部3、操作部4、および表示部5を有する。内視鏡装置1は、被写体を撮像し、画像を生成する。被写体は、工業製品である。内視鏡装置1は、生成された画像を使用することにより、被写体の幾何学的特徴を計測する。ユーザーは、様々な被写体の観察と計測とを行うために、挿入部2の先端に装着される光学アダプターの交換と、内蔵された計測処理プログラムの選択と、計測処理プログラムの追加とを実施することが可能である。以下では、内視鏡装置1が計測の一例としてステレオ計測を実行する場合について説明する。
挿入部2は、被写体の内部に挿入される。挿入部2は、先端20から基端部にわたって屈曲可能な細長い管状である。挿入部2は、被写体を撮像し、かつ撮像信号を本体部3に出力する。挿入部2の先端20には、光学アダプターが装着される。例えば、ステレオ光学アダプターが挿入部2の先端20に装着される。単眼の光学アダプターが先端20に装着されてもよい。本体部3は、挿入部2を収納する収納部を備えた制御装置である。操作部4は、内視鏡装置1に対するユーザーの操作を受け付ける。表示部5は、表示画面を有し、かつ挿入部2によって取得された被写体の画像および操作メニュー等を表示画面に表示する。
操作部4は、ユーザーインタフェースである。例えば、操作部4は、ボタン、スイッチ、キー、マウス、ジョイスティック、タッチパッド、トラックボール、およびタッチパネルの少なくとも1つである。操作部4は、内視鏡装置1に対するユーザーの操作を受け付ける。ユーザーは、操作部4を操作することにより、各種情報を内視鏡装置1に入力することができる。
表示部5は、LCD(Liquid Crystal Display)等のモニタ(ディスプレイ)である。表示部5は、タッチパネルであってもよい。その場合、操作部4および表示部5は一体化される。
図4に示す本体部3は、内視鏡ユニット8、CCU(Camera Control Unit)9、および制御装置10を有する。
内視鏡ユニット8は、図示していない光源装置および湾曲装置を有する。光源装置は、観察に必要な照明光を先端20に供給する。湾曲装置は、挿入部2に内蔵された湾曲機構を湾曲させる。
撮像素子28が挿入部2の先端20に内蔵されている。撮像素子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は、CCU9から出力された映像信号と、CPU18によって生成されたグラフィック画像信号とを合成する。グラフィック画像信号は、操作画面の画像等を含む。映像信号処理回路12は、合成された映像信号を表示部5に出力する。
また、映像信号処理回路12は、CCU9から出力された映像信号を画像データとしてCPU18に出力する。その画像データは、被写体の画像を構成する。計測が実行されるとき、ステレオ光学アダプターが挿入部2の先端20に装着される。そのため、被写体の複数の光学像(被写体像)が上記の画像に含まれる。複数の被写体像は、互いに異なる視差を有する。
ステレオ光学アダプターは、2つの光学系(ステレオ光学系)を有する。本発明の実施形態では、その2つの光学系によって形成される2つの被写体像を内視鏡装置1が同時に取得する例を説明する。被写体像を取得する方法はこれに限らない。例えば、内視鏡装置1は、互いに異なる視差を持つ複数の被写体像を時分割に取得してもよい。例えば、ステレオ光学系の2つの光路のいずれか一方がシャッターで塞がれ、かつ撮像素子28は、他方の光路を通った光が形成する被写体像を取得する。シャッターによって塞がれる位置を変えることにより、取得される被写体像が変更される。
ROM13は、CPU18が内視鏡装置1の動作を制御するためのプログラムが記録された不揮発性の記録媒体である。RAM14は、CPU18が内視鏡装置1の制御のために使用する情報を一時的に記憶する揮発性の記録媒体である。CPU18は、ROM13に記録されたプログラムに基づいて内視鏡装置1の動作を制御する。
メモリカード42がカードインタフェース15に接続される。メモリカード42は、内視鏡装置1に着脱可能な記録媒体である。カードインタフェース15は、メモリカード42に記憶されている制御処理情報および画像情報等を制御装置10に取り込む。また、カードインタフェース15は、内視鏡装置1によって生成された制御処理情報および画像情報等をメモリカード42に記録する。
USB機器等の外部機器が外部機器インタフェース16に接続される。例えば、パーソナルコンピュータ(PC)41が外部機器インタフェース16に接続される。外部機器インタフェース16は、PC41へ情報を送信し、かつPC41から情報を受信する。これによって、PC41が情報を表示することができる。また、ユーザーは、PC41に指示を入力することにより、内視鏡装置1の制御に関する操作を実施することができる。
制御インタフェース17は、操作部4、内視鏡ユニット8、およびCCU9と動作制御のための通信を行う。制御インタフェース17は、ユーザーによって操作部4に入力された情報をCPU18に通知する。制御インタフェース17は、光源装置および湾曲装置を制御するための制御信号を内視鏡ユニット8に出力する。制御インタフェース17は、撮像素子28を制御するための制御信号をCCU9に出力する。
CPU18が実行するプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。この記録媒体に記録されたプログラムを内視鏡装置1以外のコンピュータが読み込み、かつ実行してもよい。例えば、PC41がプログラムを読み込んで実行してもよい。PC41は、プログラムに従って、内視鏡装置1を制御するための制御情報を内視鏡装置1に送信することにより内視鏡装置1を制御してもよい。あるいは、PC41は、内視鏡装置1から映像信号を取得し、かつ取得された映像信号を処理してもよい。
上記のように、内視鏡装置1は、撮像素子28およびCPU18を有する。撮像素子28は、被写体を撮像し、かつ撮像信号を生成する。撮像信号は、被写体の画像を含む。したがって、撮像素子28は、被写体を撮像することにより生成された、その被写体の画像を取得する。その画像は2次元画像(2D画像)である。撮像素子28によって取得された画像は、映像信号処理回路12を経由してCPU18に入力される。第2の実施形態におけるカメラは、撮像素子28および観察光学系を含む。
図5および図6は、挿入部2の先端20およびステレオ光学アダプター30の構成を示す。図5は、挿入部2の先端20およびステレオ光学アダプター30の外観を示す。図6は、挿入部2の先端20およびステレオ光学アダプター30の断面を示す。第1の照明光学系51、第2の照明光学系52、第1の対物光学系53、および第2の対物光学系54がステレオ光学アダプター30の先端に配置されている。図6では、第1の対物光学系53および第2の対物光学系54を通る断面が示されている。
ステレオ光学アダプター30は挿入部2の先端20に装着されている。ステレオ光学アダプター30は、雌ねじ50aが形成された固定リング50を有する。雄ねじ20aが挿入部2の先端20に形成されている。ステレオ光学アダプター30は、雌ねじ50aにより雄ねじ20aと螺合され、先端20に固定される。
撮像素子28が先端20内に配置されている。第1の対物光学系53および第2の対物光学系54は、2つの光学像を撮像素子28上に形成する。撮像素子28は、2つの光学像を撮像信号に変換する。信号線2bが撮像素子28に接続されている。撮像信号は、信号線2bおよび内視鏡ユニット8を経由してCCU9に供給される。CCU9は撮像信号を映像信号に変換し、映像信号を映像信号処理回路12に供給する。
図7を参照し、ステレオ計測における計測点の3次元座標(3D座標)を算出する方法を説明する。左の光学中心(第1の光学中心63)と右の光学中心(第2の光学中心64)とを結ぶ線分の中点が原点Oとして定義される。また、図7に示すx軸、y軸、およびz軸が定義される。
被写体像を含む画像が使用される。その被写体像は、左の光学系および右の光学系を経由して得られる。以下の式(1)から式(3)に示すように、三角測量の原理を使用することにより、計測対象点60の3D座標(X,Y,Z)が計算される。計測点61および対応点62の2次元座標(2D座標)はそれぞれ、(XL,YL)、(XR,YR)である。計測点61は、歪み補正が施された左の画像面にある。対応点62は、歪み補正が施された右の画像面にある。
計測点61の原点は交点OLであり、対応点62の原点は交点ORである。交点OLは、左の光学系の光軸と画像面とが交わる位置にある。交点ORは、右の光学系の光軸と画像面とが交わる位置にある。第1の光学中心63と第2の光学中心64との距離はDである。パラメーターFは焦点距離を示す。パラメーターtは、D/(XR-XL)と表される。
X=t×XR+D/2 (1)
Y=-t×YR (2)
Z=t×F (3)
上記のように計測点61および対応点62の各々の座標が決定された場合、CPU18は、パラメーターDおよびパラメーターFを使用することにより計測対象点60の3D座標を算出することができる。CPU18は、2つ以上の点の3D座標を算出することによって、様々な計測機能を実現することができる。例えば、CPU18は、2点間の距離、線と1点との距離、領域の面積、および基準面の深さ等を計測することができる。その線は、2点を結ぶ。その領域は、複数点を結ぶ線で囲まれている。
ユーザーは、様々な計測機能のうち所望の計測機能を選択することができる。CPU18は、第1の光学中心63または第2の光学中心64から被写体までの距離(物体距離)を算出することも可能である。上記のステレオ計測を実行するためには、光学データが必要である。光学データは、挿入部2の先端20とステレオ光学アダプター30とを含む光学系の特性を示す。
図8は、CPU18の機能構成を示す。CPU18の機能は、制御部180、画像取得部181、領域設定部182、判断部183、表示制御部184、および情報受付部185を含む。図8に示すブロックの少なくとも1つがCPU18と異なる回路で構成されてもよい。
図8に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。図8に示す各部は、1つまたは複数のプロセッサを含むことができる。図8に示す各部は、1つまたは複数の論理回路を含むことができる。
制御部180は、図8に示す各部が実行する処理を制御する。画像取得部181は、被写体の画像(画像データ)を映像信号処理回路12から取得する。
領域設定部182は、図1に示す設定部70の機能を持つ。領域設定部182は、画像取得部181によって取得された画像に判断処理のための領域を設定する。判断処理は、その領域が所定の処理に適しているか否かを判断する処理である。所定の処理は、計測処理または3D表示処理である。
判断部183は、図1に示す判断部71の機能を持つ。判断部183は、領域設定部182によって設定された領域における判断処理を実行する。
表示制御部184は、映像信号処理回路12によって実行される処理を制御する。CCU9は、映像信号を出力する。映像信号は、撮像素子28によって取得された画像の各画素のカラーデータを含む。表示制御部184は、映像信号処理回路12に、CCU9から出力された映像信号を表示部5に出力させる。映像信号処理回路12は、映像信号を表示部5に出力する。表示部5は、映像信号処理回路12から出力された映像信号に基づいて画像を表示する。これにより、表示制御部184は、撮像素子28によって取得された画像を表示部5に表示する。
表示制御部184は、各種情報を表示部5に表示する。つまり、表示制御部184は、画像上に各種情報を表示する。各種情報は、計測結果等を含む。各種情報は、カーソルを含んでもよい。カーソルは、ユーザーが画像上の特定の点を指定するためのマークである。
例えば、表示制御部184は、各種情報のグラフィック画像信号を生成する。表示制御部184は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18から出力されたグラフィック画像信号とを合成する。これにより、各種情報が画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、各種情報が重畳された画像を表示する。
表示制御部184は、図1に示す表示制御部72の機能を持つ。表示制御部184は、判断部183によって実行された判断処理の結果を示すグラフィック画像信号を生成する。表示制御部184は、そのグラフィック画像信号を映像信号処理回路12に出力する。前述した処理と同様の処理が実行され、表示部5は、判断処理の結果が重畳された画像を表示する。これにより、表示制御部184は、判断処理の結果を表示部5に表示する。
ユーザーは、操作部4を操作することにより、各種情報を内視鏡装置1に入力する。操作部4は、ユーザーによって入力された情報を出力する。その情報は、入力部である制御インタフェース17に入力される。その情報は、制御インタフェース17からCPU18に出力される。情報受付部185は、操作部4を経由して内視鏡装置1に入力された情報を受け付ける。
例えば、ユーザーは、操作部4を操作することにより、カーソルの位置情報を内視鏡装置1に入力する。表示部5がタッチパネルとして構成されている場合、ユーザーは表示部5の画面をタッチすることにより画像上の位置を示す位置情報を内視鏡装置1に入力する。情報受付部185は、内視鏡装置1に入力された位置情報を受け付ける。情報受付部185は、位置情報に基づいて画像上の位置を算出する。表示制御部184は、情報受付部185によって算出された位置にカーソルを表示する。
図9を参照し、第2の実施形態における画像処理について説明する。図9は、画像処理の手順を示す。
撮像素子28は連続的に撮像信号を生成する。つまり、撮像素子28は、動画と対応する各フレームの撮像信号を生成する。動画は、2枚以上のフレームを含む。各フレームは、撮像素子28によって取得された画像によって構成される。撮像素子28は第1の画像を取得し、その後、第2の画像を取得する。
画像取得部181は、撮像素子28によって取得された第1の画像を取得する(ステップS101)。
ステップS101の後、領域設定部182は、第1の画像を使用する第1の判断処理のための第1の領域を第1の画像に設定する(ステップS102)。ステップS102は、第1の実施形態における第1の設定ステップと対応する。
図10は、ステップS101において取得された第1の画像IM11を示す。領域設定部182は、ステップS102において、第1の領域RG11を第1の画像IM11に設定する。第1の領域RG11は、任意の大きさを持ってもよく、かつ任意の形状を持ってもよい。
図10に示す例では、領域設定部182は第1の画像IM11における左上の領域を第1の領域RG11として設定する。第1の領域RG11の位置は、図10に示す位置に限らない。領域設定部182は、第1の画像IM11における中央の領域を第1の領域RG11として設定してもよい。領域設定部182は、第1の画像IM11における2つ以上の領域を第1の領域RG11として設定してもよい。領域設定部182は、内視鏡装置1の計算リソースに応じて第1の領域RG11の大きさまたは形状を設定してもよい。
領域設定部182は、予め内視鏡装置1に設定された情報を使用することにより、第1の領域RG11を第1の画像IM11に設定してもよい。その情報は、第1の領域RG11の大きさまたは形状を示す。領域設定部182は、第1の画像IM11の状態に応じて第1の領域RG11を第1の画像IM11に設定してもよい。例えば、領域設定部182は、第1の画像IM11に写っている被写体の情報に応じて第1の領域RG11を第1の画像IM11に設定してもよい。
ステップS102の後、判断部183は、第1の判断処理を実行する。つまり、判断部183は、ステップS102において設定された第1の領域が所定の処理に適しているか否かを判断する(ステップS103)。ステップS103は、第1の実施形態における第1の判断ステップと対応する。
図11を参照し、ステップS103における第1の判断処理の詳細を説明する。以下の例では、判断部183は、第1の領域における被写体とカメラとの距離を算出し、その距離を使用する。その距離は、前述した物体距離と対応する3次元距離(3D距離)である。判断部183によって算出される指標は距離に限らない。後述するように、判断部183は、他の指標を算出してもよい。
第1の対物光学系53は、第1の視点から見た被写体の第1の光学像を形成する。第2の対物光学系54は、第1の視点と異なる第2の視点から見た被写体の第2の光学像を形成する。撮像素子28は、第1の光学像および第2の光学像と対応するステレオ画像を生成する。ステレオ画像は2枚の画像のペアを含む。つまり、ステレオ画像は、第1の視点から見た被写体の画像と、第2の視点から見た被写体の画像とを含む。以下の例では、判断部183は、ステレオ画像を使用することにより上記の距離を算出する。第1の画像および第2の画像の各々は、ステレオ画像に含まれる2枚の画像の一方である。例えば、第1の画像および第2の画像の各々は、第1の視点から見た被写体の画像である。
判断部183は、ステレオ計測に必要なパラメーターをROM13から読み出す(ステップS103a)。このパラメーターは、内部パラメーターおよび外部パラメーター等を含み、かつ3D座標を算出するためのパラメーターを含む。このパラメーターは、工場出荷時にROM13に書き込まれる。判断部183は、ROM13に書き込まれたデータにアクセスし、このパラメーターを読み出す。内視鏡装置1がクラウドシステムと通信を実施し、必要なパラメーターをダウンロードしてもよい。これにより、内視鏡装置1はこのパラメーターを読み出すことができる。
ステップS103aの後、判断部183は、内視鏡装置1の内部で管理されているインデックスiを初期化する。例えば、判断部183は、インデックスiを0に設定する(ステップS103b)。インデックスiは、第1の判断処理の対象となる画素の番号を示す。
ステップS103bの後、判断部183は、第1の領域における第iの画素を選択する(ステップS103c)。
ステップS103cの後、判断部183は、ステレオマッチング処理を実行し、第iの画素と対応する点(対応点)を検出する(ステップS103d)。第iの画素は、ステレオ画像に含まれる2枚の画像の一方にあり、対応点はその2枚の画像の他方にある。第iの画素は、図7における計測点61と対応する。対応点は、図7における対応点62と対応する。
ステップS103dの後、判断部183は、三角測量を実施し、第iの画素における被写体とカメラとの距離を算出する(ステップS103e)。
ステップS103eの後、判断部183は、ROM13に記憶されている閾値を読み出す(ステップS103f)。その閾値は、予め設定された固定値であってもよい。その固定値は、一般的に定義されている値であってもよい。その閾値は、撮影の構図または画素位置(座標)などの様々な条件に応じて適応的に変更されてもよい。
ステップS103fの後、判断部183は、ステップS103eにおいて算出された距離と、ステップS103fにおいて読み出された閾値とを比較する。判断部183は、距離が閾値よりも小さいか否かを判断する(ステップS103g)。距離が閾値よりも小さい場合、判断部183は、第iの画素が所定の処理に適していると判断する(ステップS103h)。距離が閾値以上である場合、判断部183は、第iの画素が所定の処理に適していないと判断する(ステップS103i)。判断部183は、ステップS103hまたはステップS103iにおける判断の結果を第iの画素と関連付ける。
ステップS103hまたはステップS103iの後、判断部183は、インデックスiを1増加させる(ステップS103j)。これにより、処理対象の画素が変更される。
ステップS103jの後、判断部183は、第1の領域の全ての画素においてステップS103hまたはステップS103iにおける判断が実行されたか否かを判断する(ステップS103k)。第1の領域の全ての画素において判断が実行されたと判断部183がステップS103kにおいて判断した場合、第1の判断処理が終了する。第1の領域の一部の画素において判断が実行されていないと判断部183がステップS103kにおいて判断した場合、ステップS103cが実行される。
図11に示す例では、2種類の判断結果が得られる。2種類の判断結果の一方は、第iの画素が所定の処理に適していることを示す。2種類の判断結果の他方は、第iの画素が所定の処理に適していないことを示す。判断結果はこの例に限らない。判断部183は、ステップS103g、ステップS103h、およびステップS103iを実行する代わりに所定の処理の信頼度を算出してもよい。例えば、その信頼度は、百分率で表される。
判断部183は、第1の判断処理において、距離以外の指標を算出してもよい。例えば、判断部183は、第1の領域の明るさ(輝度)、第1の領域におけるぶれ量、第1の領域におけるテクスチャ(模様)の強度、または第1の領域における被写体の3D形状を算出してもよい。判断部183は、第1の領域のステレオマッチング処理を実行することにより相関値を算出してもよい。判断部183は、第1の領域における視差量を算出してもよい。判断部183は、算出された指標を使用することにより、第1の領域が所定の処理に適しているか否かを判断してもよい。判断部183は、2つ以上の指標の組み合わせを使用することによりこの判断を実行してもよい。
以下では、上記の指標を算出する第1から第5の例を説明する。
第1の例を説明する。判断部183は、第1の領域の明るさまたは第1の領域におけるテクスチャの強度を算出する。判断部183は、その明るさまたはその強度と閾値とを比較することにより、第1の領域が所定の処理に適しているか否かを判断する。
第2の例を説明する。判断部183は、第1の画像を含む2枚以上の画像を使用することにより、第1の領域におけるぶれ量を算出する。例えば、判断部183は、第1の画像と、第1の画像よりも前に取得された画像とを使用する。判断部183は、これらの2枚の画像の差分を算出することにより、ぶれ量を算出する。判断部183は、ぶれ量と閾値とを比較することにより、第1の領域が所定の処理に適しているか否かを判断する。
第3の例を説明する。判断部183は、第1の画像を含む2枚以上の画像を使用することにより、3D再構成処理を実行する。これにより、判断部183は、第1の領域における被写体の3D形状を算出する。このとき、判断部183は、ステレオ画像に含まれる2枚の画像のペアを使用する。第1の画像は、その2枚の画像の一方である。あるいは、判断部183は、第1の画像と、第1の画像よりも前に取得された1枚以上の画像とを使用する。
被写体の3D形状は、被写体上の2つ以上の点の3D座標を含む。判断部183は、2つ以上の点のうちの1つを注目点として選択する。判断部183は、注目点におけるユークリッド距離(第1の距離)を算出する。そのユークリッド距離は、注目点と、注目点の周辺の点との3D距離を示す。判断部183は、注目点における処理と同様の処理を実行することにより、注目点の周辺の点におけるユークリッド距離(第2の距離)を算出する。判断部183は、第1の距離と第2の距離との差分を算出する。その差分が大きい場合、判断部183は、注目点が所定の処理に適していないと判断する。
第4の例を説明する。判断部183は、第1の画像を含む2枚の画像を使用することにより、ステレオマッチング処理を実行する。これにより、判断部183は、第1の領域における相関値を算出する。このとき、判断部183は、ステレオ画像に含まれる2枚の画像のペアを使用する。第1の画像は、その2枚の画像の一方である。ステレオマッチング処理においてZNCC(Zero-means Normalized Cross-Correlation)が使用される場合には相関値は-1以上かつ1以下である。相関値が小さい場合、判断部183は、第1の領域が所定の処理に適していないと判断する。ステレオマッチング処理においてSAD(Sum of Abusolute Difference)またはSSD(Sum of Squared Difference)が指標値として使用されてもよい。SADまたはSSDが大きい場合、判断部183は、第1の領域が所定の処理に適していないと判断する。
第5の例を説明する。判断部183は、第1の画像を含む2枚の画像を使用することにより、第1の領域における視差量を算出する。このとき、判断部183は、ステレオ画像に含まれる2枚の画像のペアを使用する。第1の画像は、その2枚の画像の一方である。判断部183は、第1の領域における2つ以上の画素のうちの1つを注目画素として選択する。判断部183は、注目画素と対応する画素(対応画素)を検出する。対応画素は、ステレオ画像に含まれる2枚の画像の他方にある。判断部183は、対応画素の位置に基づいて注目画素における視差量(第1の視差量)を算出する。判断部183は、注目画素における処理と同様の処理を実行することにより、注目画素の周辺の画素における視差量(第2の視差量)を算出する。判断部183は、第1の視差量と第2の視差量との差分を算出する。その差分が大きい場合、判断部183は、注目画素が所定の処理に適していないと判断する。
図9を再度参照し、第2の実施形態における画像処理について説明する。ステップS103の後、表示制御部184は、ステップS103における第1の判断処理の結果を表示部5に表示する(ステップS104)。
表示制御部184は、図10に示す第1の画像IM11を表示部5に表示し、かつ第1の判断処理の結果を第1の画像IM11上に表示する。例えば、図10に示す第1の領域RG11は、OK領域およびNG領域を含む。OK領域は、所定の処理に適している画素を含む。NG領域は、所定の処理に適していない画素を含む。表示制御部184は、OK領域を第1の色で表示し、かつNG領域を第1の色と異なる第2の色で表示してもよい。例えば、表示制御部184は、OK領域を緑色で表示し、かつNG領域を赤色で表示してもよい。表示制御部184は、OK領域を第1の模様で表示し、かつNG領域を第1の模様と異なる第2の模様で表示してもよい。表示制御部184は、第1の線および第2の線を表示してもよい。第1の線は、OK領域を囲む。第2の線は、NG領域を囲む。
表示制御部184は、第1の画像IM11を表示部5の表示画面における所定の領域に表示し、かつ第1の判断処理の結果をサブウィンドウに表示してもよい。サブウィンドウは、表示部5の表示画面においてその所定の領域とは異なる領域に配置される。
表示制御部184は、テキスト情報を表示部5に表示してもよい。例えば、第1の領域の90%が所定の処理に適している場合、そのテキスト情報は、第1の領域の全体が所定の処理に適していることを示してもよい。
第1の判断処理の結果がユーザーに通知される限り、表示制御部184が第1の判断処理の結果を表示する方法は上記の例に限らない。ステップS104が実行される必要はない。表示制御部184は、ステップS104を実行せずに、後述するステップS108において、第1の判断処理の結果を後述する第2の判断処理の結果と一緒に表示部5に表示してもよい。
ステップS104の後、画像取得部181は、撮像素子28によって取得された第2の画像を取得する(ステップS105)。
ステップS105の後、領域設定部182は、第2の画像を使用する第2の判断処理のための第2の領域を第2の画像に設定する(ステップS106)。ステップS106は、第1の実施形態における第2の設定ステップと対応する。
第2の画像における第2の領域の位置(画像座標)は、第1の画像における第1の領域の位置(画像座標)と同じであってもよいし、異なっていてもよい。第2の実施形態において、第1の画像および第2の画像の間で撮影の構図が変化せず、第2の画像の構図が第1の画像の構図と同じであることを想定している。この状態では、被写体および先端20の両方が静止している。以下の例では、第2の画像における第2の領域の位置は、第1の画像における第1の領域の位置と異なる。
例えば、第1の画像の第1の領域は、第1の被写体が写っている領域を含む。被写体および先端20の両方が静止しているため、その第1の被写体は、第1の画像の第1の領域の位置と同じ位置にある第2の画像の第1の領域に写っている。第2の画像の第2の領域は、第2の画像の第1の領域の位置と異なる位置に設定される。そのため、第2の領域は、第1の被写体と異なる第2の被写体が写っている領域を含む。
第1の画像および第2の画像の間で撮影の構図が変化し、第2の画像の構図が第1の画像の構図と異なる例は、第3の実施形態において説明する。
図12は、ステップS105において取得された第2の画像IM12を示す。第1の領域RG11aおよび第2の領域RG12が図12に示されている。第2の画像IM12における第1の領域RG11aの位置は、図10に示す第1の画像IM11における第1の領域RG11の位置と同じである。第2の領域RG12は、第1の判断処理が実行された第1の領域RG11と対応する第1の領域RG11aと異なる。領域設定部182は、ステップS106において、第2の領域RG12を第2の画像IM12に設定する。第2の領域RG12は、第1の領域RG11と同様に、任意の大きさを持ってもよく、かつ任意の形状を持ってもよい。領域設定部182は、観察条件等に応じて第2の領域RG12を第2の画像IM12に設定してもよい。
ステップS106の後、判断部183は、第2の判断処理を実行する。つまり、判断部183は、ステップS106において設定された第2の領域が所定の処理に適しているか否かを判断する(ステップS107)。ステップS107は、第1の実施形態における第2の判断ステップと対応する。
第2の判断処理は、図11に示す第1の判断処理と同様である。第2の判断処理において、第1の画像の第1の領域におけるデータの代わりに第2の画像の第2の領域におけるデータが使用される。
判断部183は、第2の判断処理において、第2の領域における被写体とカメラとの距離を算出し、その距離を使用する。判断部183は、第2の判断処理において、距離以外の指標を算出してもよい。例えば、判断部183は、第2の領域の明るさ(輝度)、第2の領域におけるぶれ量、第2の領域におけるテクスチャ(模様)の強度、または第2の領域における被写体の3D形状を算出してもよい。判断部183は、第2の領域のステレオマッチング処理を実行することにより相関値を算出してもよい。判断部183は、第2の領域における視差量を算出してもよい。判断部183は、算出された指標を使用することにより、第2の領域が所定の処理に適しているか否かを判断してもよい。判断部183は、2つ以上の指標の組み合わせを使用することによりこの判断を実行してもよい。
以下では、上記の指標を算出する第1から第5の例を説明する。
第1の例を説明する。判断部183は、第2の領域の明るさまたは第2の領域におけるテクスチャの強度を算出する。判断部183は、その明るさまたはその強度と閾値とを比較することにより、第2の領域が所定の処理に適しているか否かを判断する。
第2の例を説明する。判断部183は、第2の画像を含む2枚以上の画像を使用することにより、第2の領域におけるぶれ量を算出する。例えば、判断部183は、第1の画像および第2の画像を使用する。判断部183は、これらの2枚の画像の差分を算出することにより、ぶれ量を算出する。判断部183は、ぶれ量と閾値とを比較することにより、第2の領域が所定の処理に適しているか否かを判断する。
第3の例を説明する。判断部183は、第2の画像を含む2枚以上の画像を使用することにより、3D再構成処理を実行する。これにより、判断部183は、第2の領域における被写体の3D形状を算出する。このとき、判断部183は、ステレオ画像に含まれる2枚の画像のペアを使用する。第2の画像は、その2枚の画像の一方である。あるいは、判断部183は、第2の画像と、第2の画像よりも前に取得された1枚以上の画像とを使用する。その1枚以上の画像は、第1の画像を含んでもよい。3D形状を使用する判断の方法は、第1の判断処理における方法と同じである。
第4の例を説明する。判断部183は、第2の画像を含む2枚の画像を使用することにより、ステレオマッチング処理を実行する。これにより、判断部183は、第2の領域における相関値を算出する。このとき、判断部183は、ステレオ画像に含まれる2枚の画像のペアを使用する。第2の画像は、その2枚の画像の一方である。ステレオマッチング処理においてZNCCが使用される場合、相関値は-1以上かつ1以下である。相関値が小さい場合、判断部183は、第2の領域が所定の処理に適していないと判断する。ステレオマッチング処理においてSADまたはSSDが指標値として使用されてもよい。SADまたはSSDが大きい場合、判断部183は、第1の領域が所定の処理に適していないと判断する。
第5の例を説明する。判断部183は、第2の画像を含む2枚の画像を使用することにより、第2の領域における視差量を算出する。このとき、判断部183は、ステレオ画像に含まれる2枚の画像のペアを使用する。第2の画像は、その2枚の画像の一方である。視差量を使用する判断の方法は、第1の判断処理における方法と同じである。
ステップS107の後、表示制御部184は、ステップS103における第1の判断処理の結果と、ステップS107における第2の判断処理の結果とを表示部5に表示する(ステップS108)。ステップS108は、第1の実施形態における情報表示ステップと対応する。ステップS108が実行されたとき、画像処理が終了する。
図13は、ステップS108において表示部5に表示された第2の画像IM13を示す。表示制御部184は、第2の画像IM13を表示部5に表示する。また、表示制御部184は、領域RG13を第2の画像IM13上に表示する。領域RG13は、図12に示す第1の領域RG11aおよび第2の領域RG12の論理和として得られる。第1の領域RG11aは、図10に示す第1の領域RG11と対応する。第1の判断処理の結果は、第1の領域RG11の各画素と関連付けられている。第2の判断処理の結果は、第2の領域RG12の各画素と関連付けられている。
表示制御部184は、第1の判断処理の結果を、第1の領域RG11の各画素と対応する領域RG13の各画素に重畳する。また、表示制御部184は、第2の判断処理の結果を、第2の領域RG12の各画素と対応する領域RG13の各画素に重畳する。
領域RG13は、領域RG13aおよび領域RG13bを含む。領域RG13aは、所定の処理に適している画素を含む。領域RG13bは、所定の処理に適していない画素を含む。表示制御部184は、領域RG13aおよび領域RG13bを表示するためにステップS104に示す方法と同様の方法を使用してもよい。
撮像素子28は、第2の画像を取得した後、第3の画像を取得する。図9に示す画像処理が終了した後、画像取得部181は、撮像素子28によって取得された第3の画像を取得する。領域設定部182は、第3の領域を第3の画像に設定する。第3の領域は、第1の領域と対応する第3の画像の領域と異なり、かつ第2の領域と対応する第3の画像の領域と異なる。判断部183は、第3の領域が所定の処理に適しているか否かを判断する(第3の判断処理)。表示制御部184は、第3の画像を表示部5に表示し、かつ第1の判断処理の結果と第2の判断処理の結果と第3の判断処理の結果とを第3の画像上に表示する。
第4の画像および第5の画像等が取得された場合、上記の処理と同様の処理が繰り返される。画像が取得されるたびに、判断処理が実行された被写体の領域が広がる。
上記の方法は、ステレオ計測以外の技術に適用されてもよい。上記の方法は、単眼光学系を通して取得された画像を使用する技術に適用されてもよい。例えば、上記の方法は、structure from motion(SfM)に適用されてもよい。上記の方法は、他視点ステレオに適用されてもよい。
上記の方法は、アクティブ型の3D計測技術に適用されてもよい。アクティブ型の3D計測技術では、縞状のパターンを持つ光またはランダムパターンなどの所定のパターンを持つ光が使用される。上記の方法は、Time of Flight(ToF)と呼ばれる技術に適用されてもよい。
判断処理を実行する機能を有効にするか否かをユーザーが選択してもよい。例えば、検査すべき箇所が内視鏡の挿入口よりも奥にあり、検査の目的地に向かって挿入部2が挿入されている間、検査が実施される必要はない。そのため、判断処理を実行する機能を無効にすることは、ユーザーにとって都合がよい。
本発明の各態様は次の変形例を含んでもよい。情報表示ステップ(ステップS108)が実行される前に、表示制御部184は、第2の情報表示ステップ(ステップS104)において、第1の領域が所定の処理に適しているか否かを示す情報を表示部5(ディスプレイ)に表示する。
本発明の各態様は次の変形例を含んでもよい。領域設定部182は、第1の設定ステップ(ステップS102)において、第1の被写体が写っている領域を含む第1の領域を第1の画像に設定する。領域設定部182は、第2の設定ステップ(ステップS106)において、第1の被写体と異なる第2の被写体が写っている領域を含む第2の領域を第2の画像に設定する。
図10および図12に示す例では、領域設定部182は、第1の画像IM11における第1の位置に第1の領域RG11を設定する。領域設定部182は、第2の画像IM12における第2の位置に第2の領域RG12を設定する。第2の位置は、第1の位置と対応する第2の画像における位置と異なる。
本発明の各態様は次の変形例を含んでもよい。第1の画像および第2の画像の各々は、ステレオ光学アダプター30(ステレオ光学系)を通して生成された光学像に基づいて生成される。
本発明の各態様は次の変形例を含んでもよい。判断部183は、第1の判断ステップ(ステップS103)において、第1の領域における被写体の3D形状を算出する処理を実行することにより取得されたその3D形状、第1の領域における被写体とカメラとの距離、第1の領域の明るさ、第1の領域におけるぶれ量、および第1の領域におけるテクスチャの強度の少なくとも1つを使用する。
本発明の各態様は次の変形例を含んでもよい。判断部183は、第2の判断ステップ(ステップS107)において、第2の領域における被写体の3D形状を算出する処理を実行することにより取得されたその3D形状、第2の領域における被写体とカメラとの距離、第2の領域の明るさ、第2の領域におけるぶれ量、および第2の領域におけるテクスチャの強度の少なくとも1つを使用する。
本発明の各態様は次の変形例を含んでもよい。第1の画像は、ステレオ光学アダプター30(ステレオ光学系)を通して生成された光学像に基づいて生成される。判断部183は、第1の判断ステップ(ステップS103)において、第1の領域のステレオマッチング処理を実行することにより取得された相関値と、第1の領域における視差量との少なくとも1つを使用する。
本発明の各態様は次の変形例を含んでもよい。第2の画像は、ステレオ光学アダプター30(ステレオ光学系)を通して生成された光学像に基づいて生成される。判断部183は、第2の判断ステップ(ステップS107)において、第2の領域のステレオマッチング処理を実行することにより取得された相関値と、第2の領域における視差量との少なくとも1つを使用する。
本発明の各態様は次の変形例を含んでもよい。判断部183は、第1の判断ステップ(ステップS103)において、第1の画像を含む2枚以上の画像を使用する。
本発明の各態様は次の変形例を含んでもよい。判断部183は、第2の判断ステップ(ステップS107)において、第2の画像を含む2枚以上の画像を使用する。
第2の実施形態において、内視鏡装置1は、第1の判断処理と第2の判断処理とを互いに異なるタイミングで実行する。第1の判断処理および第2の判断処理の負荷が分散されるため、内視鏡装置1は、判断処理の負荷を低減することができる。内視鏡装置1は、画像の広い範囲において短い時間で判断処理を実行することができる。
内視鏡装置1は、過去の画像(第1の画像)における判断対象の領域(第1の領域)を現在の画像(第2の画像)に適用し、かつ過去の画像における判断処理(第1の判断処理)の結果を現在の画像に適用する。内視鏡装置1は、過去の画像における判断処理(第1の判断処理)の結果を現在の画像における判断処理(第2の判断処理)の結果と一緒に表示する。そのため、内視鏡装置1は、画像が取得されたタイミングから判断処理の結果が表示されるまでのタイムラグを抑えることができる。内視鏡装置1の計算リソースが小さい場合であっても、内視鏡装置1は、計算量を増加させずに、判断処理の結果の表示に関するタイムラグを抑えることができる。
ユーザーは、所望の領域が計測などに適切であると確認し、静止画を撮影する、または動画を記録することができる。その所望の領域は、異常な部位などが写っている領域である。ユーザーが検査の現場を離れて計測などを実行する場合であっても、ユーザーが検査の現場へ戻り、かつ撮影を再度実施するリスクが軽減される。これにより、検査全体の作業効率が向上する。
図12に示す例では、領域設定部182は、第1の領域RG11aと異なる第2の領域RG12を第2の画像IM12に設定する。第1の画像IM11および第2の画像IM12の間で撮影の構図が変化しない場合、領域設定部182は、第2の領域RG12を第2の画像IM12に容易に設定することができる。
(第3の実施形態)
本発明の第3の実施形態を説明する。前述した第2の実施形態において、第1の画像および第2の画像の間で撮影の構図は変化しないことを想定している。一方、第3の実施形態において、挿入部2の先端20が動き、かつ第1の画像および第2の画像の間で撮影の構図が変化することを想定している。
図8に示すCPU18は、図14に示すCPU18aに変更される。図14は、CPU18aの機能構成を示す。CPU18aの機能は、制御部180、画像取得部181、領域設定部182、判断部183、表示制御部184、情報受付部185、および領域探索部186を含む。図14に示すブロックの少なくとも1つがCPU18aと異なる回路で構成されてもよい。図8に示す構成と同じ構成の説明を省略する。
図14に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。図14に示す各部は、1つまたは複数のプロセッサを含むことができる。図14に示す各部は、1つまたは複数の論理回路を含むことができる。
領域探索部186(探索部)は、第1の画像における被写体が写っている第2の画像の領域を探索する(探索ステップ)。領域設定部182は、その領域と異なる第2の領域を第2の画像に設定する。
図15を参照し、第3の実施形態における画像処理について説明する。図15は、画像処理の手順を示す。図9に示す処理と同じ処理の説明を省略する。
ステップS105の後、領域探索部186は、ステップS102において設定された第1の領域と同じ第2の画像の領域を探索する(ステップS111)。ステップS111は、探索ステップと対応する。
図16は、ステップS101において取得された第1の画像IM21を示す。領域設定部182は、ステップS102において、第1の領域RG21を第1の画像IM21に設定する。
図17は、ステップS105において取得された第2の画像IM22を示す。撮像素子28が第1の画像IM21を取得した後、挿入部2の先端20が右に動く。そのため、第2の画像IM22に写っている被写体は、第1の画像IM21に写っている被写体と比較して左方向にずれている。
領域探索部186は、ステップS111において、第1の領域RG21に写っている被写体と同じ被写体が写っている第2の画像IM22の領域を探索する。つまり、領域探索部186は、第1の判断処理が実行された第1の領域RG21と対応する第2の画像IM22の領域を探索する。これにより、領域探索部186は、第2の画像IM22における第1の領域RG22を検出する。領域探索部186は、テンプレートマッチングまたは特徴点マッチングのような一般的な画像処理方法を使用することにより第1の領域RG22を検出する。領域探索部186が第1の領域RG21に写っている被写体と同じ被写体が写っている領域を検出できる限り、ステップS111における方法は上記の例に限らない。
第1の領域に写っている被写体の全体が第2の画像に写っているとは限らない。図17に示す例では、第1の領域RG21に写っている被写体の左部分は第2の画像IM22に写っていない。
ステップS111の後、領域設定部182は、第2の画像を使用する第2の判断処理のための第2の領域を第2の画像に設定する(ステップS112)。ステップS112は、第1の実施形態における第2の設定ステップと対応する。ステップS112の後、ステップS107が実行される。
前述した第2の実施形態において、第1の画像および第2の画像の間で撮影の構図は変化しないため、領域設定部182は、図12に示す第1の領域RG11aと異なる第2の領域RG12を第2の画像IM12に設定する。第3の実施形態において第2の領域を設定する方法は、この方法と異なる。
まず、領域設定部182は、仮領域を第2の画像に設定する。第2の画像における仮領域の位置は、第1の画像における第1の領域の位置と同じである。図17に示す例では、領域設定部182は、仮領域RG23を第2の画像IM22に設定する。第2の画像IM22における仮領域RG23の位置は、第1の画像IM21における第1の領域RG21の位置と同じである。仮領域RG23は、第1の領域RG22および領域RG24を含む。第1の領域RG22は、第1の判断処理が実行された第1の領域RG21と対応する。領域RG24において第2の判断処理はまだ実行されていない。
領域設定部182は、ステップS111において検出された領域の少なくとも一部を仮領域から除くことによって得られる第2の領域を第2の画像に設定する。このとき、領域設定部182は、所定の処理に適していると判断部183が第1の判断処理において判断した領域(第1の領域RG22の一部)を仮領域から除く。図17に示す例では、第2の領域は、第2の判断処理が実行されていない領域RG24を含む。また、第2の領域は、所定の処理に適していないと判断部183が第1の判断処理において判断した領域と対応する第2の画像の領域を含む。つまり、第2の領域は、第1の領域RG22の少なくとも一部を含む。第1の領域RG22の全体が所定の処理に適していると判断部183が第1の判断処理において判断した場合、第2の領域は、第1の領域RG22を含まない。判断部183は、第1の画像において所定の処理に適していない領域と対応する第2の画像の領域において判断処理を再度実行することができる。
第2の領域は、第1の画像において所定の処理に適していない領域と対応する第2の画像の領域を含む必要はない。領域設定部182は、領域探索部186によって検出された領域と異なる第2の領域を第2の画像に設定してもよい。
表示制御部184は、ステップS108において、第1の判断処理の結果および第2の判断処理の結果を表示部5に表示する。図17に示す例では、表示制御部184は、第1の判断処理の結果および第2の判断処理の結果を第1の領域RG22および領域RG24上に表示する。第1の画像IM21における第1の領域RG21の一部が所定の処理に適していないと判断部183が第1の判断処理において判断する場合がある。その場合、判断部183は、第2の画像IM22における第1の領域RG22の一部において第2の判断処理を実行する。その場合、表示制御部184は、ステップS108において、第1の判断処理の結果ではなく第2の判断処理の結果を第1の領域RG22の一部上に表示する。
撮像素子28は、第2の画像を取得した後、第3の画像を取得する。図15に示す画像処理が終了した後、画像取得部181は、撮像素子28によって取得された第3の画像を取得する。領域探索部186は、第1の画像における第1の領域に写っている被写体と同じ被写体が写っている第3の画像の領域を探索する。つまり、領域探索部186は、第1の判断処理が実行された第1の領域と対応する第3の画像の領域を探索する。また、領域探索部186は、第2の画像における第2の領域に写っている被写体と同じ被写体が写っている第3の画像の領域を探索する。つまり、領域探索部186は、第2の判断処理が実行された第2の領域と対応する第3の画像の領域を探索する。
領域設定部182は、仮領域を第3の画像に設定する。第3の画像における仮領域の位置は、第1の画像における第1の領域の位置と同じである。領域設定部182は、領域探索部186によって検出された領域の少なくとも一部を仮領域から除くことによって得られる第3の領域を第3の画像に設定する。このとき、領域設定部182は、所定の処理に適していると判断部183が第1の判断処理において判断した領域を仮領域から除く。また、領域設定部182は、所定の処理に適していると判断部183が第2の判断処理において判断した領域を仮領域から除く。
第3の領域は、所定の処理に適していないと判断部183が判断した第1の画像の第1の領域と対応する第3の画像の領域を含む可能性がある。また、第3の領域は、所定の処理に適していないと判断部183が判断した第2の画像の第2の領域と対応する第3の画像の領域を含む可能性がある。
判断部183は、第3の領域が所定の処理に適しているか否かを判断する(第3の判断処理)。表示制御部184は、第3の画像を表示部5に表示し、かつ第1の判断処理の結果と第2の判断処理の結果と第3の判断処理の結果とを第3の画像上に表示する。
第4の画像および第5の画像等が取得された場合、上記の処理と同様の処理が繰り返される。画像が取得されるたびに、判断処理が実行された被写体の領域が広がる。
領域設定部182は、判断部183が第1の判断処理において判断した領域の全体を仮領域から除くことにより得られる第2の領域を第2の画像に設定してもよい。図17に示す例では、領域設定部182は、領域RG24を第2の領域として第2の画像IM22に設定してもよい。
本発明の各態様は次の変形例を含んでもよい。領域探索部186は、探索ステップ(ステップS111)において、第1の被写体が写っている第1の領域RG22(被写体領域)を探索する。第1の領域RG22は第2の画像IM22に含まれる。領域設定部182は、第2の設定ステップ(ステップS112)において、第1の領域RG22と異なる領域RG24を含む第2の領域を第2の画像IM22に設定する。
本発明の各態様は次の変形例を含んでもよい。領域設定部182は、第1の設定ステップ(ステップS102)において、第1の被写体が写っている領域を含む第1の領域RG21を第1の画像IM21に設定する。領域設定部182は、第2の設定ステップ(ステップS112)において、第1の被写体が写っている第1の領域RG22の少なくとも一部を含む第2の領域を設定する。
第3の実施形態において内視鏡装置1の計算リソースが小さい場合であっても、内視鏡装置1は、画像の広い範囲において短い時間で判断処理を実行することができる。内視鏡装置1は、計算量を増加させずに、判断処理の結果の表示に関するタイムラグを抑えることができる。その結果、検査の効率が向上する。
図17に示す例では、領域設定部182は、領域探索部186によって検出された第1の領域RG22と異なる領域RG24を含む第2の領域を第2の画像IM22に設定する。第1の画像IM21および第2の画像IM22の間で撮影の構図が変化する場合、領域設定部182は、第1の判断処理が実行されていない領域RG24を第2の画像IM22に設定することができる。
(第4の実施形態)
本発明の第4の実施形態を説明する。第4の実施形態において内視鏡装置1は、挿入部2の先端20の動きに基づいて、第2の実施形態における処理と第3の実施形態における処理との一方を実行する。また、挿入部2の先端20の動きが大きい場合、内視鏡装置1は第2の判断処理を実行せずに第1の画像を再度取得する。
図14に示すCPU18aは、図18に示すCPU18bに変更される。図18は、CPU18bの機能構成を示す。CPU18bの機能は、制御部180、画像取得部181、領域設定部182、判断部183、表示制御部184、情報受付部185、領域探索部186、および動き判断部187を含む。図18に示すブロックの少なくとも1つがCPU18bと異なる回路で構成されてもよい。図14に示す構成と同じ構成の説明を省略する。
図18に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。図18に示す各部は、1つまたは複数のプロセッサを含むことができる。図18に示す各部は、1つまたは複数の論理回路を含むことができる。
動き判断部187(検出部)は、第1の画像と第2の画像との間の被写体の動き量を検出する。これにより、動き判断部187は、第1の画像と第2の画像との間の構図の変化量を検出する(検出ステップ)。動き判断部187は、検出された動き量を所定量と比較することにより、被写体の動きに関する判断を実行する。
図19を参照し、第4の実施形態における画像処理について説明する。図19は、画像処理の手順を示す。図9または図15に示す処理と同じ処理の説明を省略する。
ステップS105の後、動き判断部187は、ステップS101において取得された第1の画像およびステップS105において取得された第2の画像を使用することにより被写体の動き量を検出する(ステップS121)。ステップS121は、検出ステップと対応する。
ステップS121の後、動き判断部187は、ステップS121において検出された動き量が第1の所定量よりも大きいか否かを判断する(ステップS122)。第1の所定量は0よりも大きい。その動き量が第1の所定量以下であると動き判断部187がステップS122において判断した場合、ステップS106が実行される。この場合、領域設定部182は、第2の実施形態における方法を使用することにより第2の領域を第2の画像に設定する。
その動き量が第1の所定量よりも大きいと動き判断部187がステップS122において判断した場合、動き判断部187は、その動き量が第2の所定量よりも大きいか否かを判断する(ステップS123)。第2の所定量は第1の所定量よりも大きい。
その動き量が第2の所定量以下であると動き判断部187がステップS123において判断した場合、ステップS111が実行される。この場合、領域設定部182は、第3の実施形態における方法を使用することにより第2の領域を第2の画像に設定する。
その動き量が第2の所定量よりも大きいと動き判断部187がステップS123において判断した場合、ステップS101が実行される。画像取得部181は、ステップS101において、撮像素子28によって第2の画像の後に取得された画像を第1の画像として取得する。第2の画像の構図が第1の画像の構図と大きく異なる場合、内視鏡装置1は画像処理を最初からやり直す。
この場合、制御部180は、過去の画像に設定された領域の情報を消去する。その領域は、判断処理のための領域を新しい画像に設定する処理に使用されない。また、制御部180は、過去の画像に設定された領域における判断処理の結果を消去する。そのため、その判断処理の結果は表示部5に表示されない。表示制御部184は、所定のメッセージを表示部5に表示してもよい。その所定のメッセージは、過去の画像における判断処理の結果が消去され、かつ画像処理が最初からやり直されることを示す。
ステップS121が実行された後、ステップS122が実行されずにステップS123が実行されてもよい。この場合、ステップS106は実行されない。
本発明の各態様は次の変形例を含んでもよい。第2の判断ステップ(ステップS107)が実行される前に動き判断部187は、検出ステップ(ステップS121)において、第1の画像と第2の画像との間の構図の変化量を検出する。
本発明の各態様は次の変形例を含んでもよい。検出ステップ(ステップS121)において検出された変化量が所定量よりも小さい場合のみ、情報表示ステップ(ステップS108)が実行される。
第4の実施形態において内視鏡装置1の計算リソースが小さい場合であっても、内視鏡装置1は、画像の広い範囲において短い時間で判断処理を実行することができる。内視鏡装置1は、計算量を増加させずに、判断処理の結果の表示に関するタイムラグを抑えることができる。その結果、検査の効率が向上する。
第1の画像と第2の画像との間の構図の変化量が大きい場合、領域探索部186がステップS111において第1の画像の第1の領域と同じ第2の画像の領域を探索することが難しい。そのため、内視鏡装置1は、第1の画像における判断処理の結果を第2の画像に適用することが難しい。この場合、第1の画像が再度取得され、画像処理が再度実行される。そのため、判断処理の信頼性が向上する。
(第5の実施形態)
本発明の第5の実施形態を説明する。第2から第4の実施形態において判断処理が実行される領域は任意である。内視鏡装置1が第1の画像および第2の画像に加えて第3の画像および第4の画像等を処理する場合、判断処理が実行される被写体の領域が徐々に広がる。その結果、内視鏡装置1が、第kの画像の全体領域における判断処理の結果を得る可能性がある。数字kは2以上である。
一方、ユーザーが計測処理などの所定の処理の実行を希望する領域は、異常な領域などの特定の領域に限定される場合が多い。そのため、第5の実施形態において内視鏡装置1は、判断処理が実行される判断領域を限定する。その後、内視鏡装置1は、判断領域において判断処理を実行する。
内視鏡装置1は、図14に示すCPU18aを有する。領域設定部182(生成部)は、判断領域の情報を生成する(生成ステップ)。その情報は、少なくとも判断領域の大きさを示す。その情報は、判断領域の大きさに加えて判断領域の位置を示してもよい。判断領域の画角は、第1の画像および第2の画像の各々の画角よりも小さい。つまり、判断領域は、第1の画像および第2の画像の各々の全体領域よりも小さい。第2の画像における判断領域は、第1の画像における判断領域に写っている被写体と同じ被写体が写っている領域である。判断領域の大きさおよび判断領域の形状は、第1の画像および第2の画像の間で共通である。
領域設定部182は、第1の領域を第1の画像における判断領域に設定する。第1の領域は判断領域に含まれ、かつ判断領域よりも小さい。また、領域設定部182は、第2の領域を第2の画像における判断領域に設定する。第2の領域は判断領域に含まれ、かつ判断領域よりも小さい。
図20を参照し、第5の実施形態における画像処理について説明する。図20は、画像処理の手順を示す。図20に示す画像処理は、図15に示す画像処理の変形例である。図20に示す画像処理は、図9または図19に示す画像処理と組み合わされてもよい。図9または図15に示す処理と同じ処理の説明を省略する。
領域設定部182は、判断領域の情報を生成し、かつその情報をRAM14に保存する(ステップS131)。ステップS131は、生成ステップと対応する。
例えば、ユーザーは、操作部4を操作することにより、判断領域の大きさを示す情報を内視鏡装置1に入力する。表示部5がタッチパネルとして構成されている場合、ユーザーは表示部5の画面をタッチすることによりその情報を内視鏡装置1に入力する。情報受付部185は、内視鏡装置1に入力された情報を受け付ける。領域設定部182は、その情報に基づいて判断領域の情報を生成する。
あるいは、画像取得部181は、撮像素子28によって取得された画像を取得する。領域設定部182は、画像処理を実行し、その画像における異常な領域を検出する。領域設定部182は、検出された領域の大きさに基づいて判断領域の情報を生成する。判断領域の情報を生成する方法は、上記の例に限らない。
判断領域が大きい場合、判断部183が、予め設定された期間(要求時間)において判断処理を終了できない可能性がある。そのため、領域設定部182は、領域分割処理を実行する。領域設定部182は、領域分割処理において、判断領域を2つ以上の部分領域に分割する(ステップS132)。部分領域の大きさは、画像取得部181が次の画像を取得する前に判断部183が判断処理を終了できるように設定される。
図21を参照し、ステップS132における領域分割処理の詳細を説明する。領域設定部182は、判断領域の大きさ(第1の大きさ)を示す第1の情報をRAM14から取得する(ステップS132a)。例えば、第1の情報は、判断領域の画素数を示す。
ステップS132aの後、領域設定部182は、第2の情報をROM13から取得する(ステップS132b)。第2の情報は、判断部183が1枚の画像において判断処理を実行できる領域の大きさ(第2の大きさ)を示す。例えば、第2の情報は、その領域の最大画素数を示す。第2の大きさは、内視鏡装置1の計算リソースに応じて予め設定される。
図21に示す例では、ステップS132aが実行された後、ステップS132bが実行される。ステップS132bが最初に実行され、その後、ステップS132aが実行されてもよい。
ステップS132bの後、領域設定部182は、第1の大きさが第2の大きさよりも大きいか否かを判断する(ステップS132c)。
第1の大きさが第2の大きさ以下であると領域設定部182がステップS132cにおいて判断した場合、領域設定部182は、判断領域を判断処理の対象領域として設定する(ステップS132d)。ステップS132dが実行されたとき、領域分割処理が終了する。
第1の大きさが第2の大きさよりも大きいと領域設定部182がステップS132cにおいて判断した場合、領域設定部182は、判断領域を2つ以上の部分領域に分割する(ステップS132e)。各部分領域の大きさは、第2の大きさよりも小さい。
領域設定部182が判断領域を2つ以上の部分領域に分割する方法は、特定の方法に限らない。領域設定部182は、判断領域を画像の縦方向に分割してもよい。領域設定部182は、判断領域を画像の横方向に分割してもよい。領域設定部182は、判断領域を格子状に分割してもよい。
ステップS132eの後、領域設定部182は、2つ以上の部分領域に順位を割り当てる(ステップS132f)。例えば、領域設定部182が判断領域を2つの部分領域に分割した場合、領域設定部182は2つの部分領域の一方に第1位を割り当て、かつ2つの部分領域の他方に第2位を割り当てる。領域設定部182は、第1の判断処理において第1位の部分領域を使用し、かつ第2の判断処理において第2位の部分領域を使用する。ステップS132fが実行されたとき、領域分割処理が終了する。
図20を再度参照し、第5の実施形態における画像処理について説明する。ステップS132の後、ステップS101が実行される。
領域設定部182は、ステップS102において第1の領域を第1の画像に設定する。このとき、領域設定部182は、判断領域の情報を使用し、判断領域を第1の画像に設定する。また、領域設定部182は、第1の画像における判断領域の全体または一部に第1の領域を設定する。具体的には、領域設定部182は、ステップS132dにおいて設定された対象領域に第1の領域を設定する。あるいは、領域設定部182は、ステップS132fにおいて第1位が割り当てられた部分領域に第1の領域を設定する。
ステップS105の後、領域探索部186は、第1の画像における判断領域と同じ第2の画像の領域を探索する(ステップS133)。第1の領域は、判断領域の全体または一部である。したがって、領域探索部186は、第1の領域を含む判断領域と同じ第2の画像の領域を探索する。領域探索部186は、ステップS133において、図15に示すステップS111と同様の処理を実行する。
領域設定部182がステップS131において第1の画像における異常な領域を検出する場合、領域探索部186は、ステップS133において第2の画像におけるその異常な領域を検出してもよい。領域探索部186が判断領域と同じ領域を検出できる限り、ステップS133において任意の方法が使用されてもよい。
ステップS133の後、ステップS111が実行される。このとき、領域探索部186は、ステップS133において検出された領域を処理し、ステップS102において設定された第1の領域と同じ第2の画像の領域を探索する。
ステップS111の後、領域設定部182は、ステップS112において第2の領域を第2の画像に設定する。このとき、領域設定部182は、ステップS133において検出された領域の全体または一部に第2の領域を設定する。具体的には、領域設定部182は、ステップS132dにおいて設定された対象領域に第2の領域を設定する。あるいは、領域設定部182は、ステップS132fにおいて第2位が割り当てられた部分領域に第2の領域を設定する。
図22は、ステップS101において取得された第1の画像IM31を示す。領域設定部182は、ステップS102において、判断領域RG31を第1の画像IM31に設定し、かつ第1の領域を判断領域RG31に設定する。領域設定部182は、ステップS102において、判断領域RG31における第1の領域RG32を第1の画像IM31に設定する。第1の領域RG32は、判断領域RG31の約3分の1の大きさを持つ。
図23は、ステップS105において取得された第2の画像IM32を示す。領域探索部186は、ステップS133において、図22に示す判断領域RG31に写っている被写体と同じ被写体が写っている領域を探索する。これにより、領域探索部186は、第2の画像IM32における判断領域RG33を検出する。領域探索部186は、ステップS111において、図22に示す第1の領域RG32に写っている被写体と同じ被写体が写っている領域を探索する。これにより、領域探索部186は、第2の画像IM32における第1の領域RG34を検出する。領域設定部182は、ステップS112において、判断領域RG31と対応する判断領域RG33における第2の領域を第2の画像IM32に設定する。
第2の領域は、判断領域RG33における領域RG35を含む。領域RG35において第2の判断処理はまだ実行されていない。また、第2の領域は、所定の処理に適していないと判断部183が第1の判断処理において判断した領域と対応する第2の画像IM32の領域を含む。つまり、第2の領域は、第1の領域RG34の少なくとも一部を含む。第1の領域RG34の全体が所定の処理に適していると判断部183が第1の判断処理において判断した場合、第2の領域は、第1の領域RG34を含まない。
表示制御部184は、ステップS108において、第1の判断処理の結果および第2の判断処理の結果を表示部5に表示する。図23に示す例では、表示制御部184は、第1の判断処理の結果および第2の判断処理の結果を第1の領域RG34および領域RG35上に表示する。第1の画像IM31における第1の領域RG32の一部が所定の処理に適していないと判断部183が第1の判断処理において判断する場合がある。その場合、判断部183は、第2の画像IM32における第1の領域RG34の一部において第2の判断処理を実行する。その場合、表示制御部184は、ステップS108において、第1の判断処理の結果ではなく第2の判断処理の結果を第1の領域RG34の一部上に表示する。
本発明の各態様は次の変形例を含んでもよい。領域設定部182は、生成ステップ(ステップS131)において、第1の画像および第2の画像の各々における判断領域の情報を生成する。判断領域の情報が生成された後、領域設定部182は、第1の設定ステップ(ステップS102)において、第1の領域を第1の画像における判断領域に設定する。領域設定部182は、第2の設定ステップ(ステップS112)において、第2の領域を第2の画像における判断領域に設定する。
第5の実施形態において、ユーザーが所定の処理の実行を希望する領域が予め設定され、内視鏡装置1は、その領域のみにおいて判断処理を実行する。ユーザーは、その領域が所定の処理に適しているか否かを短時間で把握することができる。そのため、検査の効率が向上する。
(第6の実施形態)
本発明の第6の実施形態を説明する。第2から第5の実施形態において、内視鏡装置1は検査において判断処理を実行し、その判断処理の結果を表示する。第6の実施形態において、ユーザーは、動画を検査の現場から職場などに持ち帰り、内視鏡装置1に計測処理を実行させる。第6の実施形態における内視鏡装置1は、計測処理に使用される画像をユーザーが動画から探すことを効率化する機能を持つ。内視鏡装置1は動画を検査中に記録する。検査が終了した後、内視鏡装置1は、その動画を使用することにより計測処理を実行する。以下では、前述した所定の処理が計測処理である例を説明する。
図8に示すCPU18は、図24に示すCPU18cに変更される。図24は、CPU18cの機能構成を示す。CPU18cの機能は、制御部180、画像取得部181、領域設定部182、判断部183、表示制御部184、情報受付部185、領域探索部186、および動画処理部188を含む。図24に示すブロックの少なくとも1つがCPU18cと異なる回路で構成されてもよい。図8に示す構成と同じ構成の説明を省略する。
図24に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。図24に示す各部は、1つまたは複数のプロセッサを含むことができる。図24に示す各部は、1つまたは複数の論理回路を含むことができる。
動画処理部188(処理部)は、動画を処理する。動画処理部188は、所定の情報を動画に含まれる画像と関連付ける。所定の情報は、ユーザーが画像を選択するために使用される。選択された画像は、計測処理に使用される。
判断部183が第1の判断処理を実行した後、動画処理部188は、第1の実行情報を第1の画像と関連付ける(第1の関連付けステップ)。第1の実行情報は、第1の判断処理が実行されたことを示す。例えば、動画処理部188は、第1の実行情報を動画ファイルに埋め込むことにより、第1の実行情報を動画ファイルに付加する。
判断部183が第2の判断処理を実行した後、動画処理部188は、第2の実行情報を第2の画像と関連付ける(第2の関連付けステップ)。第2の実行情報は、第2の判断処理が実行されたことを示す。動画処理部188は、第2の実行情報を動画ファイルに埋め込むことにより、第2の実行情報を動画ファイルに付加する。
判断部183が第1の判断処理を実行した後、動画処理部188は、第1の結果情報を第1の画像と関連付ける。第1の結果情報は、第1の判断処理の結果を示す。例えば、動画処理部188は、第1の結果情報を動画ファイルに埋め込むことにより、第1の結果情報を動画ファイルに付加する。動画処理部188は、動画における第1のフレームに第1の結果情報を埋め込んでもよい。第1のフレームは、第1の画像と対応する。
判断部183が第2の判断処理を実行した後、動画処理部188は、第2の結果情報を第2の画像と関連付ける。第2の結果情報は、第2の判断処理の結果を示す。例えば、動画処理部188は、第2の結果情報を動画ファイルに埋め込むことにより、第2の結果情報を動画ファイルに付加する。動画処理部188は、動画における第2のフレームに第2の結果情報を埋め込んでもよい。第2のフレームは、第2の画像と対応する。
動画処理部188は、第1の判断処理の結果と第2の判断処理の結果とに基づいて第1の画像および第2の画像のいずれか一方を選択する。例えば、動画処理部188は、計測処理に最も適している画像を選択する。動画処理部188は、選択された画像を識別する情報を、選択された画像と関連付ける(第3の関連付けステップ)。例えば、動画処理部188は、その情報を動画ファイルに埋め込むことにより、その情報を動画ファイルに付加する。
動画処理部188は、第1の画像と第2の画像とを互いに関連付けるためのリンク情報を第1の画像および第2の画像の少なくとも一方と関連付ける(第4の関連付けステップ)。動画処理部188は、リンク情報を第1の画像または第2の画像のみと関連付けてもよい。あるいは、動画処理部188は、リンク情報を第1の画像および第2の画像と関連付けてもよい。例えば、動画処理部188は、リンク情報を動画ファイルに埋め込むことにより、リンク情報を動画ファイルに付加する。動画処理部188は、動画における第1のフレームおよび第2のフレームの少なくとも一方にリンク情報を埋め込んでもよい。
図25および図26を参照し、第6の実施形態における画像処理について説明する。図25および図26は、画像処理の手順を示す。図25および図26に示す画像処理は、図15に示す画像処理の変形例である。図25および図26に示す画像処理は、図9、図19、または図20に示す画像処理と組み合わされてもよい。図9または図15に示す処理と同じ処理の説明を省略する。
例えば、ユーザーは、操作部4を操作することにより、動画記録指示を内視鏡装置1に入力する。表示部5がタッチパネルとして構成され、かつ録画ボタンが表示部5に表示される場合、ユーザーは録画ボタンをタッチすることにより動画記録指示を内視鏡装置1に入力する。情報受付部185は、内視鏡装置1に入力された動画記録指示を受け付ける(ステップS141)。ステップS141の後、ステップS101が実行される。
ステップS101の後、動画処理部188は動画ファイルの生成を開始する。ステップS104の後、動画処理部188は、第1の判断処理が実行されたことを示す第1の実行情報を動画ファイルに埋め込む(ステップS142)。第1の実行情報は、第1の画像と関連付けられている。ステップS142は、第1の関連付けステップと対応する。
ステップS142の後、動画処理部188は、第1の判断処理の結果を示す第1の結果情報を動画ファイルに埋め込む(ステップS143)。ステップS143の後、ステップS105が実行される。
第1の結果情報は、第1の画像と関連付けられている。例えば、動画処理部188は、第1の画像の各画素における第1の結果情報を動画ファイルに埋め込む。第1の結果情報は、計測処理の信頼度を示してもよい。例えば、その信頼度は、百分率で表される。
ステップS108の後、動画処理部188は、第2の判断処理が実行されたことを示す第2の実行情報を動画ファイルに埋め込む(ステップS144)。第2の実行情報は、第2の画像と関連付けられている。ステップS144は、第2の関連付けステップと対応する。
ステップS144の後、動画処理部188は、第2の判断処理の結果を示す第2の結果情報を動画ファイルに埋め込む(ステップS145)。
第2の結果情報は、第2の画像と関連付けられている。例えば、動画処理部188は、第2の画像の各画素における第2の結果情報を動画ファイルに埋め込む。第2の結果情報は、計測処理の信頼度を示してもよい。例えば、その信頼度は、百分率で表される。
ステップS145の後、動画処理部188は、第1の画像および第2の画像のうち計測処理に最も適している画像を選択する。動画処理部188は、選択された画像を示す情報を動画ファイルに埋め込む(ステップS146)。ステップS146は、第3の関連付けステップと対応する。
動画処理部188は、第1の結果情報および第2の結果情報に基づいて、第1の画像および第2の画像のうち計測処理に最も適している画像を選択する。計測処理に最も適している画像を選択する方法として、任意の方法が使用されてもよい。例えば、動画処理部188は、最も広い範囲が計測処理に適していると判断された画像を選択してもよい。あるいは、動画処理部188は、全ての画素における計測処理の信頼度の総和が最も大きい画像を選択してもよい。
ステップS146の後、動画処理部188は、第2の画像における所定の領域に関するリンク情報を動画ファイルに埋め込む。所定の領域は、計測処理に適していると判断部183が第1の判断処理において判断した第2の画像の領域である。リンク情報は、第1の判断処理が実行された第1の画像の領域を示す(ステップS147)。ステップS147は、第4の関連付けステップと対応する。ステップS147が実行されたとき、画像処理が終了する。
図17に示す例では、第2の画像IM22における第1の領域RG22は、計測処理に適していると判断部183が第1の判断処理において判断した領域を含む。動画処理部188は、リンク情報をその領域と関連付ける。リンク情報は、図16に示す第1の画像IM21における第1の領域RG21を示す。
内視鏡装置1は、リンク情報を使用することにより、計測処理に適している画像と、その画像における特定の領域とを特定することができる。第1の判断処理は上記の所定の領域において実行されるが、第2の判断処理は上記の所定の領域において実行されない。内視鏡装置1が計測処理をその所定の領域において実行する場合、内視鏡装置1が第2の画像ではなく第1の画像を使用することが望ましい。内視鏡装置1は、第2の画像の代わりに第1の画像を計測処理において使用するためのリンク情報を動画ファイルに埋め込む。
図27を参照し、ステップS142、ステップS144、ステップS146、およびステップS147の各々の詳細を説明する。動画ファイルVdが図27の上側に示されている。動画ファイルVdは、第1の画像Ia、第2の画像Ib、第3の画像Ic、および第4の画像Idを含む。これらの画像を使用することにより、判断処理が実行される。
動画ファイルは、マークTa、マークTb、マークTc、およびマークTdの各々と対応する情報を含む。マークTa、マークTb、マークTc、およびマークTdは、第1の画像Ia、第2の画像Ib、第3の画像Ic、および第4の画像Idとそれぞれ関連付けられている。動画処理部188は、ステップS142において、マークTaと対応する第1の実行情報を第1の画像Iaと関連付ける。動画処理部188は、ステップS144において、マークTbと対応する第2の実行情報を第2の画像Ibと関連付ける。同様に、動画処理部188は、マークTcと対応する第3の実行情報を第3の画像Icと関連付け、かつマークTdと対応する第4の実行情報を第4の画像Idと関連付ける。ユーザーは、各マークを参照し、計測処理に使用される画像を簡単に探すことができる。
マークTdは、判断処理が実行された4枚の画像のうち計測処理に最も適している第4の画像Idを示す。動画処理部188は、ステップS146と同様の処理において、マークTdと対応する情報を第4の画像Idと関連付ける。マークTdは、マークTa、マークTb、およびマークTcの状態と異なる状態で表示される。例えば、マークTdは、マークTa、マークTb、およびマークTcの色と異なる色で表示される。
第1の画像Ia、第2の画像Ib、第3の画像Ic、および第4の画像Idの各々における領域が図27の下側に示されている。第1の画像Iaは、第1の判断処理が実行された第1の領域Raaを含む。
第2の画像Ibは、第2の領域Rbbおよび第1の領域Rbaを含む。第2の判断処理が第2の領域Rbbにおいて実行される。第1の領域Rbaは、第1の画像Iaの第1の領域Raaと対応する。第1の領域Rbaは、計測処理に適していないと判断部183が第1の判断処理において判断した領域を含む。第2の判断処理は、第1の領域Rbaのその領域においても実行される。
動画処理部188は、ステップS147においてリンク情報を第2の画像Ibと関連付ける。第2の画像Ibのリンク情報は、第1の画像Iaの第1の領域Raaと第2の画像Ibの第1の領域Rbaとを互いに関連付ける。具体的には、第2の画像Ibのリンク情報は、第1の領域Raaの一部と第1の領域Rbaの一部とを互いに関連付ける。判断部183は、第1の判断処理において、第1の領域Raaのその一部が計測処理に適していると判断する。判断部183は、第1の領域Rbaのその一部において第2の判断処理を実行しない。
第3の画像Icは、第3の領域Rcc、第2の領域Rcb、および第1の領域Rcaを含む。第3の判断処理が第3の領域Rccにおいて実行される。第2の領域Rcbは、第2の画像Ibの第2の領域Rbbと対応する。第2の領域Rcbは、計測処理に適していないと判断部183が第2の判断処理において判断した領域を含む。第3の判断処理は、第2の領域Rcbのその領域においても実行される。第1の領域Rcaは、第1の画像Iaの第1の領域Raaおよび第2の画像Ibの第1の領域Rbaの各々と対応する。第1の領域Rcaは、計測処理に適していないと判断部183が第1の判断処理および第2の判断処理において判断した領域を含む。第3の判断処理は、第1の領域Rcaのその領域においても実行される。
動画処理部188は、リンク情報を第3の画像Icと関連付ける。第3の画像Icのリンク情報は、第1の画像Iaの第1の領域Raaと第3の画像Icの第1の領域Rcaとを互いに関連付ける。具体的には、第3の画像Icのリンク情報は、第1の領域Raaの一部と第1の領域Rcaの一部とを互いに関連付ける。判断部183は、第1の判断処理において、第1の領域Raaのその一部が計測処理に適していると判断する。判断部183は、第1の領域Rcaのその一部において第3の判断処理を実行しない。
また、第3の画像Icのリンク情報は、第2の画像Ibの第2の領域Rbbと第3の画像Icの第2の領域Rcbとを互いに関連付ける。具体的には、第3の画像Icのリンク情報は、第2の領域Rbbの一部と第2の領域Rcbの一部とを互いに関連付ける。判断部183は、第2の判断処理において、第2の領域Rbbのその一部が計測処理に適していると判断する。判断部183は、第2の領域Rcbのその一部において第3の判断処理を実行しない。
第4の画像Idは、第4の領域Rdd、第3の領域Rdc、第2の領域Rdb、および第1の領域Rdaを含む。第4の判断処理が第4の領域Rddにおいて実行される。第3の領域Rdcは、第3の画像Icの第3の領域Rccと対応する。第3の領域Rdcは、計測処理に適していないと判断部183が第3の判断処理において判断した領域を含む。第4の判断処理は、第3の領域Rdcのその領域においても実行される。第2の領域Rdbは、第2の画像Ibの第2の領域Rbbと対応する。第2の領域Rdbは、計測処理に適していないと判断部183が第2の判断処理および第3の判断処理において判断した領域を含む。第4の判断処理は、第2の領域Rdbのその領域においても実行される。第1の領域Rdaは、第1の画像Iaの第1の領域Raa、第2の画像Ibの第1の領域Rba、および第3の画像Icの第1の領域Rcaの各々と対応する。第1の領域Rdaは、計測処理に適していないと判断部183が第1の判断処理、第2の判断処理、および第3の判断処理において判断した領域を含む。第4の判断処理は、第1の領域Rdaのその領域においても実行される。
動画処理部188は、リンク情報を第4の画像Idと関連付ける。第4の画像Idのリンク情報は、第1の画像Iaの第1の領域Raaと第4の画像Idの第1の領域Rdaとを互いに関連付ける。具体的には、第4の画像Idのリンク情報は、第1の領域Raaの一部と第1の領域Rdaの一部とを互いに関連付ける。判断部183は、第1の判断処理において、第1の領域Raaのその一部が計測処理に適していると判断する。判断部183は、第1の領域Rdaのその一部において第4の判断処理を実行しない。
また、第4の画像Idのリンク情報は、第2の画像Ibの第2の領域Rbbと第4の画像Idの第2の領域Rdbとを互いに関連付ける。具体的には、第4の画像Idのリンク情報は、第2の領域Rbbの一部と第2の領域Rdbの一部とを互いに関連付ける。判断部183は、第2の判断処理において、第2の領域Rbbのその一部が計測処理に適していると判断する。判断部183は、第2の領域Rdbのその一部において第4の判断処理を実行しない。
また、第4の画像Idのリンク情報は、第3の画像Icの第3の領域Rccと第4の画像Idの第3の領域Rdcとを互いに関連付ける。具体的には、第4の画像Idのリンク情報は、第3の領域Rccの一部と第3の領域Rdcの一部とを互いに関連付ける。判断部183は、第3の判断処理において、第3の領域Rccのその一部が計測処理に適していると判断する。判断部183は、第3の領域Rdcのその一部において第4の判断処理を実行しない。
動画処理部188は、ステップS142において、第1の実行情報を示すテキスト情報を、第1の画像と対応する静止画に記録してもよい。動画処理部188は、ステップS144において、第2の実行情報を示すテキスト情報を、第2の画像と対応する静止画に記録してもよい。
動画処理部188は、ステップS143において、第1の判断処理の結果を示すテキスト情報を、第1の画像と対応する静止画に記録してもよい。動画処理部188は、ステップS145において、第2の判断処理の結果を示すテキスト情報を、第2の画像と対応する静止画に記録してもよい。
動画処理部188は、ステップS146において、計測処理に最も適している画像を示すテキスト情報を、その画像と対応する静止画に記録してもよい。動画処理部188は、ステップS147において、リンク情報を示すテキスト情報を、第1の画像または第2の画像と対応する静止画に記録してもよい。
CPU18cは、図18に示す動き判断部187を有してもよい。第1の画像と第2の画像との間の被写体の動き量が所定量よりも小さいと動き判断部187が判断した場合、画像取得部181は新たな第2の画像を取得してもよい。その所定量は、微小な動き量と対応する。過去に取得された第2の画像は、ステップS105よりも後の処理において使用されない。第1の画像と第2の画像との間の被写体の動き量が所定量以上であると動き判断部187が判断した場合、ステップS105よりも後の処理が実行されてもよい。これにより、リンク情報が示すリンク先の画像が画素毎に異なることを避けることができる。
本発明の各態様は次の変形例を含んでもよい。動画処理部188は、第1の関連付けステップ(ステップS142)において、第1の実行情報を第1の画像と関連付ける。第1の実行情報は、第1の判断ステップ(ステップS103)が実行されたことを示す。動画処理部188は、第2の関連付けステップ(ステップS144)において、第2の実行情報を第2の画像と関連付ける。第2の実行情報は、第2の判断ステップ(ステップS107)が実行されたことを示す。
本発明の各態様は次の変形例を含んでもよい。第1の画像および第2の画像の各々は、動画を構成する2枚以上のフレームのいずれか1枚である。動画処理部188は、第1の関連付けステップ(ステップS142)において、第1の実行情報を動画に付加する。動画処理部188は、第2の関連付けステップ(ステップS144)において、第2の実行情報を動画に付加する。
本発明の各態様は次の変形例を含んでもよい。動画処理部188は、第3の関連付けステップ(ステップS146)において、第1の判断ステップ(ステップS103)の結果と第2の判断ステップ(ステップS107)の結果とに基づいて第1の画像および第2の画像のいずれか一方を選択する。動画処理部188は、第3の関連付けステップ(ステップS146)において、選択された画像を識別する情報を、選択された画像と関連付ける。
本発明の各態様は次の変形例を含んでもよい。動画処理部188は、第4の関連付けステップ(ステップS147)において、第1の画像と第2の画像とを互いに関連付けるための情報を第2の画像と関連付ける。
本発明の各態様は次の変形例を含んでもよい。第1の画像および第2の画像の各々は、動画を構成する2枚以上のフレームのいずれか1枚である。動画処理部188は、第4の関連付けステップ(ステップS147)において、第1の画像と第2の画像とを互いに関連付けるための情報を動画に付加する。
第6の実施形態において内視鏡装置1は、各種情報を第1の画像または第2の画像と関連付ける。内視鏡装置1が計測処理を実行するとき、ユーザーは、計測処理に使用される画像を容易に見つけることができる。そのため、計測処理におけるユーザーの作業の効率が向上する。
(第6の実施形態の変形例)
本発明の第6の実施形態の変形例を説明する。リンク情報を含む動画ファイルを使用する計測処理の手順を説明する。
以下では、図4に示すPC41が計測処理を実行する例を説明する。ソフトウェアがクラウド環境において用意され、かつそのソフトウェアが計測処理を実行してもよい。ソフトウェアが組み込み機器に搭載され、かつそのソフトウェアが計測処理を実行してもよい。計測処理が実行される環境は、上記の例に限らない。
図28は、PC41の構成を示す。例えば、PC41は、デスクトップPCである。PC41は、携帯性を有するラップトップPCまたはタブレット端末であってもよい。PC41は、クラウド上で動作するコンピュータシステムであってもよい。図28に示すPC41は、CPU43、操作部44、表示部45、通信部46、およびメモリ47を有する。
操作部44は、ユーザーインタフェースである。例えば、操作部44は、ボタン、スイッチ、キー、マウス、ジョイスティック、タッチパッド、トラックボール、およびタッチパネルの少なくとも1つである。操作部44は、PC41に対するユーザーの操作を受け付ける。ユーザーは、操作部44を操作することにより、各種情報をPC41に入力することができる。操作部44は、ユーザーが入力した情報を受け付け、その情報をCPU43に出力する。
表示部45は、表示画面を有し、かつ検査対象物内の被写体の画像等を表示画面に表示する。表示部45は、LCD等のモニタ(ディスプレイ)である。表示部45は、タッチパネルであってもよい。その場合、操作部44および表示部45は一体化される。
通信部46は、内視鏡装置1等の外部装置と通信を実行する。例えば、通信部46はケーブルあるいは無線で外部装置と接続される。通信部46と外部装置との間の通信は、LAN(Local Area Network)またはインターネットを経由して実行されてもよい。
メモリ47は、揮発性または不揮発性のメモリである。例えば、メモリ47は、RAM(Random Access Memory)、DRAM(DynamicRandom Access Memory)、SRAM(Static Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、およびフラッシュメモリの少なくとも1つである。メモリ47は、画像等を記憶する。
CPU43は、PC41の動作を制御する。
図29を参照し、第6の実施形態の変形例における計測処理について説明する。図29は、計測処理の手順を示す。
計測処理が開始される前、通信部46は、動画ファイルを内視鏡装置1から受信する。メモリ47は、受信された動画ファイルを記憶する。
計測処理が開始されたとき、CPU43は、動画ファイルをメモリ47から読み出す(ステップS201)。
CPU43は、動画ファイルを表示部45に表示する。ユーザーは、操作部44を操作することにより、計測処理に使用される特定の画像(フレーム)を示す情報をPC41に入力する。CPU43は、その情報を受け付け、その情報が示す画像を選択する(ステップS202)。
動画ファイルが表示部45に表示されたとき、図27に示す動画ファイルVdが表示部45に表示される。また、図27に示すマークTa、マークTb、マークTc、およびマークTdが表示部45に表示される。ユーザーは、マークTa、マークTb、マークTc、およびマークTdのいずれか1つをクリックすることにより、ユーザーが選択した画像を示す情報をPC41に入力する。以下では、ユーザーがマークTdをクリックし、第4の画像Idを選択する例を説明する。マークTdは、第4の画像Idが計測処理に最も適していることを示す。ユーザーが第4の画像Id以外の画像を選択する場合も、以下で説明する処理の手順は変わらない。
ステップS202の後、CPU43は、ユーザーによって選択された画像を表示部45に表示する(ステップS203)。
図30は、表示部45が有する表示画面45aに表示される画像の例を示す。CPU43は、動画ファイルVdを表示画面45aに表示する。動画ファイルVdは、図27に示す動画ファイルVdと同様に、第1の画像Ia、第2の画像Ib、第3の画像Ic、および第4の画像Idを含む。CPU43は、第4の画像IM41を表示画面45aに表示する。第4の画像IM41は、第4の画像Idと同じである。第4の画像IM41は、撮像素子28によって取得されたステレオ画像に含まれる2枚の画像の一方である。そのステレオ画像に含まれる2枚の画像の他方は、表示画面45aに表示されていないが、メモリ47に記録されている。
ステップS203において画像が表示部45に表示された後、ユーザーは、操作部44を操作することにより、2つ以上の計測点をPC41に入力する。PC41は、2つの計測点の間の長さを計測してもよい。PC41は、3つ以上の計測点によって規定された領域の面積を計測してもよい。PC41は、2つの計測点で規定された直線と1つの計測点との間の距離をしてもよい。以下の例では、PC41が2つの計測点の間の長さを計測する例を説明する。PC41が3つ以上の計測点を設定する場合であっても、PC41が計測結果を得るまでの手順は、PC41が2つの計測点を設定する計測処理の手順と同様である。
ユーザーが第1の計測点をPC41に入力したとき、CPU43は、ステップS202において選択された画像に第1の計測点を設定する(ステップS204)。ユーザーが第2の計測点をPC41に入力したとき、CPU43は、ステップS202において選択された画像に第2の計測点を設定する(ステップS205)。図30に示す例では、CPU43は、第1の計測点P41および第2の計測点P42を表示画面45aに表示する。
ステップS205の後、CPU43は、2つの計測点を含む画像を動画ファイルにおいて探索する。2つの計測点を含む2枚以上の画像が特定された場合、CPU43は、その2枚以上の画像の各計測点における計測処理の信頼度を算出する。CPU43は、最も高い信頼度を持つ画像を選択する(ステップS206)。その画像は計測処理に最も適している。
CPU43は、ステップS206において、2つの計測点の両方が写っている1枚の画像を選択する。以下では、ステップS206の詳細を説明する。
例えば、CPU43は、第1の探索範囲の中心にある画像を特定する。その画像は第1の計測点を含む。図25および図26に示す画像処理が実行されたとき、判断部183は、その画像の第1の計測点において第1の判断処理または第2の判断処理を実行し、その画像が計測処理に適していると判断する。その画像のリンク情報は、動画ファイルに埋め込まれている。また、CPU43は、第2の探索範囲の中心にある画像を特定する。その画像は第2の計測点を含む。図25および図26に示す画像処理が実行されたとき、判断部183は、その画像の第2の計測点において第1の判断処理または第2の判断処理を実行し、その画像が計測処理に適していると判断する。その画像のリンク情報は、動画ファイルに埋め込まれている。
図30に示す第4の画像IM41は、第1の領域Rda、第2の領域Rdb、第3の領域Rdc、および第4の領域Rddを含む。第1の計測点P41は、第1の領域Rdaに含まれる。第2の計測点P42は、第3の領域Rdcに含まれる。図27に示すように、第1の領域Rdaは、リンク情報によって第1の画像Iaの第1の領域Raaと関連付けられている。第1の画像Iaは、第1の探索範囲の中心にある。図27に示すように、第3の領域Rdcは、リンク情報によって第3の画像Icの第3の領域Rccと関連付けられている。第3の画像Icは、第2の探索範囲の中心にある。
例えば、第1の探索範囲は、第1の探索範囲の中心にある画像(中心画像)と、中心画像の前の所定枚数の画像と、中心画像の後の所定枚数の画像とを含む。例えば、第2の探索範囲は、第2の探索範囲の中心にある画像(中心画像)と、中心画像の前の所定枚数の画像と、中心画像の後の所定枚数の画像とを含む。例えば、その所定枚数は100枚である。
第2の探索範囲の中心にある画像が、第1の探索範囲の中心にある画像と異なる場合がある。この場合、CPU43は、第1の探索範囲と第2の探索範囲とで共通する範囲(重複範囲)を探索範囲として使用する。CPU43は、探索範囲において、第1の計測点および第2の計測点を含む画像を探索する。
2つの計測点を含む画像を探索する方法は、上記の例に限らない。上記の例では、CPU43は、第1の探索範囲および第2の探索範囲の間で共通の範囲を探索範囲として使用する。その探索範囲は、第1の探索範囲および第2の探索範囲の論理積として得られる。CPU43は、第1の計測点および第2の計測点の少なくとも一方を含む探索範囲を使用してもよい。その探索範囲は、第1の探索範囲および第2の探索範囲の論理和として得られる。
CPU43は、計測処理の信頼度を算出するための指標として、第1の判断処理および第2の判断処理において使用される各種指標を使用してもよい。CPU43は、第1の計測点における信頼度の値と、第2の計測点における信頼度の値との平均値を算出してもよい。CPU43は、その平均値を最終的な信頼度として使用してもよい。CPU43は、平均値の代わりに最小値または最大値のような各種統計値を使用してもよい。CPU43は、探索範囲に含まれる各画像において計測処理の信頼度を算出する。CPU43は、その信頼度に基づいて、計測処理に最も適している画像を選択する。
内視鏡装置1の計算リソースは小さく、処理時間の低減への要求は高い。そのため、内視鏡装置1が検査中に判断処理を実行する範囲は限定される。つまり、内視鏡装置1は、計測処理に適していると判断された領域において判断処理を再度実行しない。PC41の計算リソースは大きく、処理時間の低減への要求は低い。そのため、PC41は、第1の計測点および第2の計測点を含む画像における計測処理の信頼度を算出することができる。PC41が計測処理の信頼度を算出する必要はない。
ステップS206の後、CPU43は、ステップS206において選択された画像を使用することによりマッチング処理を実行し、各計測点と対応する対応点を検出する(ステップS207)。各計測点は、ステレオ画像に含まれる2枚の画像の一方にあり、対応点はその2枚の画像の他方にある。CPU43は、第1の計測点と対応する第1の対応点を検出し、かつ第2の計測点と対応する第2の対応点を検出する。
ステップS207の後、CPU43は、各計測点および各対応点を使用する三角測量を実施する。CPU43は、各計測点と対応する3D座標を算出する(ステップS208)。CPU43は、第1の計測点と対応する第1の3D座標を算出し、かつ第2の計測点と対応する第2の3D座標を算出する。
ステップS208の後、CPU43は、第1の3D座標を持つ点と第2の3D座標を持つ点との間の長さ(ユークリッド距離)を算出する。これにより、CPU43は、被写体の長さを計測する(ステップS209)。
ステップS209の後、CPU43は、ステップS209において算出された長さを計測結果として表示部45に表示する(ステップS210)。ステップS210が実行されたとき、計測処理が終了する。
第6の実施形態の変形例において、PC41は、動画ファイルに埋め込まれたリンク情報を使用することにより、計測処理に適している画像を検出することができる。そのため、PC41は計測処理の時間を短縮することができる。
(第7の実施形態)
本発明の第7の実施形態を説明する。内視鏡装置1は、第2の実施形態と同様に判断処理を実行し、かつ判断処理の結果を表示する。また、内視鏡装置1は、3D再構成処理を実行し、被写体の3D形状を算出する。内視鏡装置1は、3D形状の画像を表示する。
図8に示すCPU18は、図31に示すCPU18dに変更される。図31は、CPU18dの機能構成を示す。CPU18dの機能は、制御部180、画像取得部181、領域設定部182、判断部183、表示制御部184、情報受付部185、領域探索部186、および3D形状算出部189を含む。図31に示すブロックの少なくとも1つがCPU18dと異なる回路で構成されてもよい。図8に示す構成と同じ構成の説明を省略する。
図31に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。図31に示す各部は、1つまたは複数のプロセッサを含むことができる。図31に示す各部は、1つまたは複数の論理回路を含むことができる。
3D形状算出部189(処理部)は、第1の画像および第2の画像の少なくとも一方を含む2枚以上の画像を使用することにより、被写体の3D形状を算出する(算出ステップ)。表示制御部184は、3D形状の画像を表示部5に表示する(画像表示ステップ)。
図32を参照し、第7の実施形態における画像処理について説明する。図32は、画像処理の手順を示す。図32に示す画像処理は、図15に示す画像処理の変形例である。図32に示す画像処理は、図9、図19、図20、図25、または図26に示す画像処理と組み合わされてもよい。図9または図15に示す処理と同じ処理の説明を省略する。
ステップS108の後、3D形状算出部189は、被写体の3D形状を算出する(ステップS151)。ステップS151は、算出ステップと対応する。
例えば、3D形状算出部189は、ステレオ画像に含まれる2枚の画像のペアを使用する。その2枚の画像の一方は、ステップS101において取得された第1の画像である。あるいは、3D形状算出部189は、第1の画像と、第1の画像よりも前に取得された1枚以上の画像とを使用する。3D形状算出部189は、第1の画像における第1の領域を使用し、かつその第1の領域と対応する他の画像の領域を使用する。
あるいは、ステレオ画像に含まれる2枚の画像の一方は、ステップS105において取得された第2の画像である。あるいは、3D形状算出部189は、第2の画像と、第2の画像よりも前に取得された1枚以上の画像とを使用する。その1枚以上の画像は、第1の画像を含んでもよい。3D形状算出部189は、第2の画像における第2の領域を使用し、かつその第2の領域と対応する他の画像の領域を使用する。3D形状算出部189は、第2の画像における第1の領域を使用し、かつその第1の領域と対応する他の画像の領域を使用してもよい。第2の画像における第1の領域は、第1の画像における第1の領域と対応する。
ステップS151の後、表示制御部184は、ステップS151において算出された3D形状の画像を表示部5に表示する(ステップS152)。ステップS152は、画像表示ステップと対応する。ステップS152が実行されたとき、画像処理が終了する。
図33は、ステップS152において表示部5に表示された第2の画像IM51を示す。表示制御部184は、第2の画像IM51を表示部5に表示する。また、表示制御部184は、領域RG51を第2の画像IM51上に表示する。領域RG51は、第1の判断処理が実行された領域と、第2の判断処理が実行された領域とを含む。例えば、判断部183は、領域RG51が所定の処理に適していると判断する。
3D形状算出部189は、領域RG51と対応する被写体の3D形状を算出する。表示制御部184は、領域RG52を第2の画像IM51上に表示する。表示制御部184は、被写体の3D形状の画像を領域RG52に表示する。
図34は、表示部5に表示された第3の画像IM52を示す。第2の画像IM51が取得された後、第3の画像IM52が取得される。表示制御部184は、第3の画像IM52を表示部5に表示する。また、表示制御部184は、領域RG53および領域RG54を第3の画像IM52上に表示する。領域RG53および領域RG54は、第1の判断処理が実行された領域と、第2の判断処理が実行された領域と、第3の判断処理が実行された領域とを含む。例えば、判断部183は、領域RG53が所定の処理に適していると判断する。判断部183は、領域RG54が所定の処理に適していないと判断する。
3D形状算出部189は、領域RG53および領域RG54と対応する被写体の3D形状を算出する。表示制御部184は、領域RG55を第3の画像IM52上に表示する。表示制御部184は、被写体の3D形状の画像を領域RG55に表示する。
図35は、表示部5に表示された第4の画像IM53を示す。第3の画像IM52が取得された後、第4の画像IM53が取得される。表示制御部184は、第4の画像IM53を表示部5に表示する。また、表示制御部184は、領域RG56を第4の画像IM53上に表示する。領域RG56は、第1の判断処理が実行された領域と、第2の判断処理が実行された領域と、第3の判断処理が実行された領域と、第4の判断処理が実行された領域とを含む。例えば、判断部183は、領域RG56が所定の処理に適していると判断する。
3D形状算出部189は、領域RG56と対応する被写体の3D形状を算出する。表示制御部184は、領域RG57を第4の画像IM53上に表示する。表示制御部184は、被写体の3D形状の画像を領域RG57に表示する。
本発明の各態様は次の変形例を含んでもよい。3D形状算出部189は、算出ステップ(ステップS151)において、第1の画像および第2の画像の少なくとも一方を含む2枚以上の画像を使用することにより、被写体の3D形状を算出する。表示制御部184は、画像表示ステップ(ステップS152)において、3D形状の画像を表示部5(ディスプレイ)に表示する。
第7の実施形態において、内視鏡装置1は、被写体の3D形状を算出し、かつその3D形状を表示する。ユーザーは、判断処理の結果に加えて、被写体の3D形状を確認することができる。そのため、画像が計測に適しているか否かをユーザーが判断するときに、判断結果の信頼性が高まる。
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。