以下、図面を参照し、本発明の実施形態を説明する。
[第1の実施形態]
まず、本発明の第1の実施形態を説明する。図1は、本実施形態による計測用内視鏡装置の構成を示している。図1に示すように、本実施形態による計測用内視鏡装置は、内視鏡2と、コントロールユニット3と、リモートコントローラ4と、液晶モニタ5と、フェイスマウントディスプレイ(FMD)6と、FMDアダプタ6aと、光学アダプタ7a,7b,7cと、内視鏡ユニット8と、カメラコントロールユニット9と、制御ユニット10とから構成されている。
計測対象物を撮像し撮像信号を生成する内視鏡2(電子内視鏡)は細長の挿入部20を備えている。挿入部20は、先端側から順に、硬質な先端部21と、例えば上下左右に湾曲可能な湾曲部22と、柔軟性を有する可撓管部23とを連設して構成されている。挿入部20の基端部は内視鏡ユニット8に接続されている。先端部21は、観察視野を2つ有するステレオ用の光学アダプタ7a,7bあるいは観察視野が1つだけの通常観察光学アダプタ7c等、各種の光学アダプタが例えば螺合によって着脱自在な構成になっている。
コントロールユニット3は、内視鏡ユニット8、画像処理手段であるカメラコントロールユニット(以下、CCUと記載する。)9、および制御装置である制御ユニット10を内部に備えている。内視鏡ユニット8は、観察時に必要な照明光を供給する光源装置と、挿入部20を構成する湾曲部22を湾曲させる湾曲装置とを備えている。CCU9は、挿入部20の先端部21に内蔵されている固体撮像素子2aから出力された撮像信号を入力し、これをNTSC信号等の映像信号に変換して制御ユニット10に供給する。
制御ユニット10は、音声信号処理回路11と、映像信号処理回路12と、ROM13と、RAM14と、PCカードインターフェース(以下、PCカードI/Fと記載する。)15と、USBインターフェース(以下、USB I/Fと記載する。)16と、RS−232Cインターフェース(以下、RS−232C I/Fと記載する。)17と、計測処理部18とから構成されている。
マイク34によって集音された音声信号や、メモリカード等の記録媒体を再生して得られる音声信号、あるいは計測処理部18によって生成された音声信号が音声信号処理回路11に供給される。映像信号処理回路12は、CCU9から供給された内視鏡画像とグラフィックによる操作メニューとを合成した合成画像を表示するために、CCU9からの映像信号を、計測処理部18の制御により生成される操作メニュー等のための表示信号と合成する処理を行う。また、映像信号処理回路12は、液晶モニタ5の画面上に映像を表示するために合成後の映像信号に所定の処理を施して液晶モニタ5に供給する。
PCカードI/F15は、PCMCIAメモリカード32やフラッシュメモリカード33等のメモリカード(記録媒体)を自由に着脱できるようになっている。メモリカードを装着することにより、計測処理部18の制御に従って、このメモリカードに記憶されている制御処理情報や画像情報等を取り込んだり、制御処理情報や画像情報等をメモリカードに記録したりすることができる。
USB I/F16は、コントロールユニット3とパーソナルコンピュータ31とを電気的に接続するためのインターフェースである。このUSB I/F16を介してコントロールユニット3とパーソナルコンピュータ31とを電気的に接続することにより、パーソナルコンピュータ31側で内視鏡画像の表示の指示や計測時における画像処理等の各種の制御指示を行うことが可能となる。また、コントロールユニット3とパーソナルコンピュータ31との間で各種の処理情報やデータを入出力することが可能となる。
RS−232C I/F17には、CCU9および内視鏡ユニット8が接続されると共に、これらCCU9や内視鏡ユニット8等の制御および動作指示を行うリモートコントローラ4が接続されている。ユーザがリモートコントローラ4を操作すると、その操作内容に基づいて、CCU9および内視鏡ユニット8を動作制御する際に必要な通信が行われる。
図2は計測処理部18の構成を示している。図2に示すように計測処理部18は、制御部18aと、基準点指定部18bと、基準曲線算出部18cと、欠損構成点算出部18dと、欠損種類判別部18eと、欠損サイズ算出部18fと、記憶部18gとから構成されている。
制御部18a(制御手段)は計測処理部18内の各部を制御する。また、制御部18aは、液晶モニタ5またはフェイスマウントディスプレイ6(表示手段)に計測結果や操作メニュー等を表示させるための表示信号を生成して映像信号処理回路12へ出力する機能も有している。
基準点指定部18b(基準点指定手段)は、リモートコントローラ4あるいはPC31から入力される信号に基づいて、計測対象物上の基準点(基準点の詳細は後述する)を指定する。ユーザが、液晶モニタ5あるいはフェイスマウントディスプレイ6に表示された計測対象物の画像を見ながら所望の基準点を2点入力すると、それらの座標が基準点指定部18bによって算出される。
基準曲線算出部18c(輪郭近似線算出手段)は、基準点指定部18bによって指定された基準点に基づいて、計測対象物の輪郭を近似する輪郭近似線に相当する基準曲線(基準曲線の詳細は後述する)を算出する。欠損構成点算出部18d(欠損構成点算出手段)は、基準点および基準曲線に基づいて、計測対象物に形成された欠損の輪郭(エッジ)を構成する欠損構成点(欠損構成点の詳細は後述する)を算出する。
欠損種類判別部18e(欠損種類判別手段)は、基準点指定部18bによって指定された2つの基準点に対応した2本の基準曲線がなす角度を算出し、その角度に応じて欠損の種類を判別する。欠損サイズ算出部18f(欠損計測手段)は、欠損構成点に基づいて欠損のサイズを計測する。記憶部18gは、計測処理部18内で処理される各種情報を記憶する。記憶部18gに格納された情報は、適宜制御部18aによって読み出されて各部へ出力される。
次に、本実施形態で使用する用語の内容を説明する。まず、図3を参照し、基準点、基準曲線、および基準点エリアを説明する。基準点301,302は、表示される計測画面上においてユーザが実際に指定する点であり、図3のように欠損300の両側に位置し、かつ欠損の存在しないエッジ上の点である。
基準曲線311,312は、計測対象物の輪郭(エッジ)を近似する曲線であり、2つの基準点301,302に基づいて算出される。本実施形態では特に、内視鏡2の先端(先端部21内)に設置された撮像光学系、および内視鏡2の先端に別途装着される撮像光学系(光学アダプタ7a,7b,7c)の歪みを補正した歪補正曲線として基準曲線が算出される。
基準点エリア321,322は、基準曲線311,312を求める際に基準点周囲のエッジを抽出するための画像範囲である。基準点エリア321,322のサイズは、歪補正曲線の算出に適した値に設定するのが良い。
次に、図4〜図5を参照し、欠損の種類、欠損始点・終点・頂点、および欠損構成点を説明する。本実施形態で計測対象となる欠損には、辺の欠損と角の欠損の2種類がある。辺の欠損は図4の欠損400のように計測対象のエッジの辺上に形成された欠損であり、角の欠損は図5の欠損500のように計測対象のエッジの角に形成された欠損である。
欠損始点401,501は、表示される計測画面上において、後述する欠損計算で欠損を構成する点として最初に認識される点である。欠損終点402,502は、欠損を構成する点として最後に認識される点である。欠損頂点503は、角の欠損500において、2つの基準曲線521,522の交点として認識される点である。欠損構成点410,510は、計測対象物に形成された欠損のエッジを構成する点であり、欠損始点・欠損終点・欠損頂点を含む。
次に、図6〜図7を参照し、欠損サイズを説明する。欠損サイズとは、検出された欠損の大きさを表すパラメータである。本実施形態で計算される欠損サイズは、辺の欠損では欠損の幅、深さ、面積であり、角の欠損では欠損の幅、辺の長さ、面積である。より具体的には、欠損の幅は欠損始点−欠損終点間の空間距離である。欠損の深さは、所定の欠損構成点から、欠損始点と欠損終点を結んだ直線までの空間距離である。欠損の辺は欠損頂点−欠損始点間の空間距離および欠損頂点−欠損終点間の空間距離である。欠損の面積は、全ての欠損構成点で囲まれた領域の空間面積である。
図6は辺の欠損サイズを示しており、欠損の幅600は、後述する欠損計算で欠損始点611と欠損終点612の空間距離として算出される。欠損の深さ601は所定の欠損構成点613から、欠損始点611と欠損終点612を結んだ直線までの空間距離として算出される。欠損の面積は、図示していない欠損構成点を含む全ての欠損構成点で囲まれた領域620の空間面積として算出される。
図7は角の欠損サイズを示しており、欠損の幅700は、後述する欠損計算で欠損始点711と欠損終点712の空間距離として算出される。欠損の辺701は欠損頂点713と欠損始点711の空間距離として算出され、欠損の辺702は欠損頂点713と欠損終点712の空間距離として算出される。欠損の面積は、図示していない欠損構成点を含む全ての欠損構成点で囲まれた領域720の空間面積として算出される。
次に、図8を参照し、計測点および計測点エリアを説明する。計測点801は、表示される計測画面上における計測対象物のエッジ上の点であり、後述する欠損計算で第1の基準点802から第2の基準点803に向かう方向(方向T8)に順次サーチ(探索)される。さらに、サーチされた計測点の一部は、欠損構成点として認識される。
計測点エリア804は、計測点801をサーチする際に、計測点周囲のエッジを抽出するための画像範囲である。計測点エリア804のサイズは、エッジ抽出を行うのに適した値に設定するのが良い。
次に、図9〜図10を参照し、特徴点を説明する。特徴点901,902および特徴点1001,1002は、基準点903を含む基準点エリア910および計測点1003を含む計測点エリア1010内で抽出されるエッジ上の特徴的な点である。基準点エリア910内で抽出された特徴点901,902は、後述する欠損計算で基準曲線を算出するために用いられる。また、計測点エリア1010等で抽出された特徴点の一部は、欠損計算で計測点として選択される。
次に、本実施形態における欠損計測の手順を説明する。以下、図11〜図12を参照し、欠損計測の手順と計測画面を説明する。図11は欠損計測の手順を示し、図12は計測画面を示している。以後の説明に用いる図12等の計測画面では、操作メニュー等が説明に不要な場合、その図示を省略することがある。図12において、計測画面1200,1210,1220は、辺の欠損を計測対象としたときの計測画面であり、計測画面1230,1240,1250は、角の欠損を計測対象としたときの計測画面である。
本実施形態では、ステレオ計測による欠損計測が行われる。ステレオ計測においては、ステレオ光学アダプタを内視鏡2の先端部21に装着した状態で計測対象物を撮像するため、計測画面では計測対象物の画像が左右1対で表示される。
欠損計測では、まず、液晶モニタ5またはフェイスマウントディスプレイ6に表示された計測画面上において、リモートコントローラ4あるいはPC31の操作により、ユーザが基準点を2つ指定すると、指定された基準点の情報が計測処理部18に入力される(ステップSA)。このとき、ユーザは、欠損の両側に位置する点であって欠損の存在しないエッジ上の点を基準点として選択することが望ましい。図12において、左画像内の基準点1201,1202と基準点1231,1232が指定されている。
続いて、指定された基準点の座標に基づいて、計測処理部18が欠損計算を行う(ステップSB)。欠損計算では、欠損構成点の座標や欠損サイズの算出、欠損の種類の判別が行われる。計測画面1210,1240は計算中の計測画面である。欠損計算の詳細については後述する。
欠損計算が終了すると、計測処理部18の指示により、検出された欠損領域が計測画面上に表示される(ステップSC)と共に、欠損の種類および欠損サイズが表示される(ステップSD〜SE)。図12に示すように、欠損領域は計測画面1220の左画面1221上および計測画面1250上の左画面1251上に表示される。より具体的には、算出された欠損構成点が線で結ばれて表示される。さらに、欠損構成点の中で、欠損始点・終点・頂点が、それぞれ○・*・□のカーソルで表示される。
また、検出された欠損の種類は計測画面1220,1250の右画面1222,1252上の結果ウィンドウ1223,1253の上部にイメージで表示される。さらに、検出された欠損のサイズが計測画面1220,1250の右画面1222,1252上の結果ウィンドウ1223,1253の下部に文字で表示される。
次に、図13を参照し、図11のステップSB2における欠損計算の手順を説明する。ユーザによって指定された左画面内の2つの基準点の位置情報が計測処理部18に入力されると、基準点指定部18bは2つの基準点の画像座標(液晶モニタ5またはフェイスマウントディスプレイ6に表示される画像上の2次元座標)を算出する(ステップSB1)。続いて、基準曲線算出部18cは、2つの基準点の画像座標に基づいて、2つの基準曲線を算出する(ステップSB2)。
続いて、欠損種類判別部18eは、2本の基準曲線がなす角度を算出し、その角度に応じて欠損の種類を判別する(ステップSB3)。続いて、欠損構成点算出部18dは、2つの基準点の画像座標に基づいて(角の欠損の場合には基準曲線も用いて)欠損構成点の画像座標を算出する(ステップSB4)。
続いて、欠損構成点算出部18dは、算出した左画面内の各欠損構成点に対応した右画面内のマッチング点の画像座標を算出し(ステップSB5)、算出された欠損構成点およびそのマッチング点の画像座標に基づいて各欠損構成点の空間座標(現実の空間上の3次元座標)を算出する(ステップSB6)。
空間座標の計算方法は、特開2004−49638号公報に記載されているものと同様である。最後に、欠損サイズ算出部18fは、算出された欠損構成点の空間座標に基づいて、欠損の種類に応じた欠損サイズを算出する(ステップSB7)。
次に、図14を参照し、図12のステップSB2における基準曲線の算出処理の手順を説明する。基準点指定部18bによって算出された2つの基準点の画像座標が入力される(ステップSB21)と、基準曲線算出部18cは、入力された基準点の画像座標に基づいて、各基準点について特徴点を2つずつ算出する(ステップSB22)。
続いて、基準曲線算出部18cは、2つの特徴点に基づいて、撮像光学系の歪みを補正した歪補正曲線を算出する(ステップSB23)。基準点が2つであるので、2本の歪補正曲線が算出される。最後に、基準曲線算出部18cは、この歪補正曲線の情報(曲線を構成する点の画像座標または曲線の式)を基準曲線の情報として制御部18aへ出力する(ステップSB24)。
以下、図15を参照し、上記のステップSB22における特徴点の算出処理の手順を説明する。特徴点の算出処理は基準曲線の算出時だけでなく欠損構成点の算出時にも行われる。欠損構成点の算出処理については後述するが、ここでは特徴点の算出処理をまとめて説明する。
また、図16〜図17は特徴点の算出処理の手順を模式的に示しており、適宜図16〜図17も参照する。図16は基準点周囲の特徴点を算出する場合の手順を示し、図17は計測点周囲の特徴点を算出する場合の手順を示している。
基準点の画像座標もしくは計測点の画像座標が入力される(ステップSF1)と、入力された基準点の画像座標もしくは計測点の画像座標に基づいて、基準点エリア内もしくは計測点エリア内のエリア画像が抽出される(ステップSF2)。これによって、基準点1600を含む基準点エリア内のエリア画像1601、もしくは計測点1700を含む計測点エリア内のエリア画像1701が抽出される。
続いて、抽出されたエリア画像がグレースケール化され(ステップSF3)、グレースケール化された画像に対してエッジ抽出が行われる(ステップSF4)。続いて、抽出されたエッジの近似直線が算出され(ステップSF5)、算出されたエッジ近似直線とエリア境界線との2つの交点が算出される(ステップSF6)。これによって、エッジ近似直線1602もしくはエッジ近似直線1702が算出され、エッジ近似直線1602とエリア境界線との交点1603,1604もしくはエッジ近似直線1702とエリア境界線との交点1703,1704が算出される。
最後に、算出された各交点と抽出されたエッジとの最近傍点が算出され(ステップSF7)、算出された2つの最近傍点が特徴点として制御部18aへ出力される(ステップSF8)。これによって、交点1603,1604に対応した最近傍点1605,1606、もしくは交点1703,1704に対応した最近傍点1705,1706が特徴点として出力される。
ステップSF4のエッジ抽出後にエッジ近似直線の算出を行うため、エッジ抽出には、抽出後の画像にできるだけノイズが発生しない処理を用いるのが良い。例えばSobel・Prewitt・Gradientフィルタ等の1次微分フィルタやLaplacianフィルタ等の2次微分フィルタを用いると良い。
また、膨張・収縮・差分処理およびノイズ低減フィルタ等を組み合わせた処理を用いてエッジ抽出を行っても良い。このとき、グレースケール画像を2値化する必要があるが、2値化閾値には固定値を用いても良いし、P−タイル法、モード法、判別分析法など、グレースケール画像の輝度に基づいて閾値を変更する方法を用いても良い。
また、ステップSF5のエッジ近似直線の算出では、ステップSF4で抽出されたエッジの情報に基づいて、例えば最小2乗法を用いて近似直線を算出する。なお、上記では、エッジの形状に対して直線近似を行っているが、2次以上の関数を使って曲線近似を行っても良い。エッジの形状が直線よりも曲線に近い場合には、曲線近似を行った方がより精度の良い特徴点算出が可能となる。
次に、図14のステップSB23における歪補正曲線の算出処理の手順を説明する。本実施形態による計測用内視鏡装置1に適用される内視鏡2では、各内視鏡2特有の撮像光学系の光学データが測定される。測定された光学データは例えばメモリカード33に記録される。この光学データを用いることにより、計測画像を、撮像光学系の歪みを補正した歪補正画像に変換することができる。
以下、図18を参照し、歪補正曲線の算出方法を説明する。原画像1800は計測対象物の画像であり、点P1,P2は、図14のステップSB22で算出された2つの特徴点である。光学データを用いて原画像1800を変換すると歪補正画像1801となる。点P1’,P2’はそれぞれ点P1,P2の変換後の点である。
この点P1’,P2’を歪補正画像1801上で結んだ直線を直線Lとし、光学データを用いて直線L上の各画素点を逆変換すると、直線Lは原画像1802上において曲線L’に変換される。この曲線L’の情報が、点P1,P2を通る歪曲線の情報として制御部18aへ出力される。光学データの内容およびその作成方法、歪補正方法に関しては、特開2004−49638号公報に記載された内容と同じである。
次に、図19を参照し、図13のステップSB3における欠損種類の判別処理の手順を説明する。2本の基準曲線の情報が制御部18aから入力される(ステップSB31)と、欠損種類判別部18eは2本の基準曲線がなす角度を算出する(ステップSB32)。続いて、欠損種類判別部18eは、2本の基準曲線のなす角度が所定の範囲であるか否かを判定する(ステップSB33)。
2本の基準曲線のなす角度が所定の範囲であった場合(例えば角度が180°に近い値の場合)、欠損種類判別部18eは、欠損が辺の欠損であると判断し、欠損の判別結果を制御部18aへ出力する。制御部18aは欠損の判別結果を記憶部18gに格納する(ステップSB34)。また、2本の基準曲線のなす角度が所定の範囲でなかった場合(例えば角度が90°に近い値の場合)、欠損種類判別部18eは、欠損が角の欠損であると判断し、欠損の判別結果を制御部18aへ出力する。制御部18aは欠損の判別結果を記憶部18gに格納する(ステップSB35)。
次に、図13のステップSB4における欠損構成点の算出処理の手順を説明する。欠損構成点の算出処理は、欠損頂点算出処理、欠損始点算出処理、2種類の計測点算出処理、および欠損終点算出処理で構成される。まず、図20を参照し、欠損頂点算出処理の手順を説明する。
制御部18aから欠損の判別結果が入力される(ステップSB411a)と、欠損構成点算出部18dは、判別結果に基づいて欠損の種類を判別する(ステップSB411b)。欠損の種類が角の欠損であった場合、制御部18aから2本の基準曲線の情報が入力される(ステップSB411c)。
欠損構成点算出部18dは、入力された情報に基づいて2本の基準曲線の交点を算出し(ステップSB411d)、算出した交点の画像座標を制御部18aへ出力する。制御部18aは2本の基準曲線の交点の画像座標を欠損構成点(欠損頂点)の画像座標として記憶部18gに格納する(ステップSB411e)。続いて、図21に示す第1の計測点算出処理へ処理が移行する。また、欠損の種類が辺の欠損であった場合、ステップSB411bに続いて、図21に示す第1の計測点算出処理へ処理が移行する。
次に、図21を参照し、第1の計測点算出処理の手順を説明する。また、図22は第1の計測点算出処理の手順を模式的に示しており、適宜図22も参照する。ユーザによって指定された2つの基準点のうち、最初に指定された第1の基準点の画像座標が制御部18aから入力される(ステップSB412a)と、欠損構成点算出部18dは図15に示した特徴点の算出処理を実行し、2つの特徴点を算出する(ステップSB412b)。これによって、第1の基準点2200に対応した2つの特徴点2201,2202が算出される。
続いて、第2の基準点の画像座標が制御部18aから入力される(ステップSB412c)。欠損構成点算出部18dは2つの特徴点と第2の基準点の2次元距離を算出し、2つの特徴点のうち第2の基準点に近い方を次の計測点とする(ステップSB412d)。第2の基準点のある方向が図22の方向T22である場合、特徴点2201,2202のうち特徴点2202が次の計測点2203となる。
続いて、欠損構成点算出部18dは、算出した計測点の画像座標を制御部18aへ出力する。制御部18aは計測点の画像座標を記憶部18gに格納する(ステップSB412e)。続いて、図23に示す欠損始点算出処理へ処理が移行する。
次に、図23を参照し、欠損始点算出処理の手順を説明する。また、図24は欠損始点算出処理の手順を模式的に示しており、適宜図24も参照する。まず、前回求めた計測点の画像座標が制御部18aから入力され(ステップSB413a)、2本の基準曲線のうち第1の基準点から算出された第1の基準曲線の情報が制御部18aから入力される(ステップSB413b)。
続いて、欠損構成点算出部18dは第1の基準曲線と計測点の2次元距離を算出し(ステップSB413c)、算出した2次元距離が所定値以上であるか否かを判定する(ステップSB413d)。算出した2次元距離が所定値以上であった場合、欠損構成点算出部18dは、計測対象物のエッジを近似する直線であるエッジ近似直線を算出する(ステップSB413e)。例えば図24に示すように、第1の基準点2401から算出された第1の基準曲線2410と計測点2402の2次元距離D24が所定値以上であった場合、エッジ近似直線2411が算出される。
続いて、欠損構成点算出部18dは第1の基準曲線とエッジ近似直線の交点を算出する(ステップSB413f)。これによって、第1の基準曲線2410とエッジ近似直線2411の交点2403が算出される。
続いて、欠損構成点算出部18dは、算出した交点の画像座標を制御部18aへ出力する。制御部18aは交点の画像座標を欠損構成点(欠損始点)の画像座標として記憶部18gに格納する(ステップSB413g)。続いて、図25に示す第2の計測点算出処理へ処理が移行する。また、ステップSB413cで算出した2次元距離が所定値未満であった場合、ステップSB413dに続いて、図25に示す第2の計測点算出処理へ処理が移行する。
次に、図25を参照し、第2の計測点算出処理の手順を説明する。また、図26は第2の計測点算出処理の手順を模式的に示しており、適宜図26も参照する。前回求めた計測点の画像座標が制御部18aから入力される(ステップSB414a)と、欠損構成点算出部18dは図15に示した特徴点の算出処理を実行し、2つの特徴点を算出する(ステップSB414b)。これによって、計測点2600に対応した2つの特徴点2601,2602が算出される。
続いて、欠損構成点算出部18dは、前回求めた計測点と2つの特徴点のそれぞれとの2次元距離を算出し、2つの特徴点のうち、前回求めた計測点から遠い方を次の計測点とする(ステップSB414c)。前回求めた計測点のある方向が図26の方向T26である場合、特徴点2601,2602のうち特徴点2602が次の計測点2603となる。
続いて、欠損構成点算出部18dは、欠損始点の画像座標が既に記憶部18gに格納されているか否かを判定する(ステップSB414d)。欠損始点の画像座標が既に記憶部18gに格納されている場合、欠損構成点算出部18dは、算出した計測点の画像座標を制御部18aへ出力する。制御部18aは計測点の画像座標を欠損構成点の画像座標として記憶部18gに格納する(ステップSB414e)。続いて、図27に示す欠損終点算出処理へ処理が移行する。また、欠損始点の画像座標が記憶部18gにまだ格納されていない場合、図23に示す欠損始点算出処理へ処理が再度移行する。
次に、図27を参照し、欠損終点算出処理の手順を説明する。また、図28は欠損終点算出処理の手順を模式的に示しており、適宜図28も参照する。まず、前回求めた計測点の画像座標が制御部18aから入力され(ステップSB415a)、2本の基準曲線のうち第2の基準点から算出された第2の基準曲線の情報が制御部18aから入力される(ステップSB415b)。
続いて、欠損構成点算出部18dは第2の基準曲線と計測点の2次元距離を算出し(ステップSB415c)、算出した2次元距離が所定値以下であるか否かを判定する(ステップSB415d)。算出した2次元距離が所定値以下であった場合、欠損構成点算出部18dは、計測対象物のエッジを近似する直線であるエッジ近似直線を算出する(ステップSB415e)。例えば図28に示すように、第2の基準点2800から算出された第2の基準曲線2810と計測点2801の2次元距離D28が所定値以下であった場合、エッジ近似直線2811が算出される。
続いて、欠損構成点算出部18dは第2の基準曲線とエッジ近似直線の交点を算出する(ステップSB415f)。これによって、第2の基準曲線2810とエッジ近似直線2811の交点2803が算出される。
続いて、欠損構成点算出部18dは、算出した交点の画像座標を制御部18aへ出力する。制御部18aは交点の画像座標を欠損構成点(欠損終点)の画像座標として記憶部18gに格納する(ステップSB415g)。この処理によって、上述した欠損構成点の算出処理の全体が終了する。また、ステップSB415cで算出した2次元距離が所定値を超えた場合、ステップSB415dに続いて、図25に示した第2の計測点算出処理へ処理が再度移行する。
次に、図29を参照し、図23のステップSB413eおよび図27のステップSB415eにおけるエッジ近似直線の算出処理の手順を説明する。計測点の画像座標が入力される(ステップSG1)と、欠損構成点算出部18dは、入力された計測点の画像座標に基づいて、計測点エリア内のエリア画像を抽出する(ステップSG2)。
続いて、欠損構成点算出部18dは、抽出したエリア画像をグレースケール化し(ステップSG3)、グレースケール化した画像に対してエッジ抽出を行う(ステップSG4)。続いて、欠損構成点算出部18dは、抽出したエッジの近似直線を算出し(ステップSG5)、算出したエッジ近似直線の情報を制御部18aへ出力する(ステップSG6)。上記のステップSG1〜SG5の処理は図15のステップSF1〜SF5の処理と同様である。
次に、図13のステップSB5におけるマッチング点の算出方法を説明する。欠損構成点算出部18dは、上述した欠損計算で算出した欠損構成点に基づいてパターンマッチング処理を実行し、左右2画像の対応点であるマッチング点を算出する。このパターンマッチング処理の方法は特開2004−49638号公報に記載されたものと同じである。
しかし、欠損の種類が角の欠損であった場合、欠損頂点は計測対象物の背景に位置しており、画像上ではエッジ等の特徴的なパターンが存在しないので、パターンマッチング処理がうまく機能せず、マッチング点を算出できないことがある。そこで、本実施形態では、欠損の種類が角の欠損であった場合、欠損頂点のマッチング点の算出は以下のようにして行われる。
図30(a)に示すように、まず、左画像3000の基準点3001,3002に対応した右画像3020のマッチング点3021,3022が算出される。続いて、基準点3001,3002のそれぞれを通る基準曲線3010,3011と、マッチング点3021,3022のそれぞれを通る基準曲線3030,3031とが算出される。
続いて、図30(b)に示すように、左画像3000の基準曲線3010,3011の交点3003が欠損頂点として算出される。また、右画像3020の基準曲線3030,3031の交点3023が算出され、欠損頂点のマッチング点とみなされる。
次に、図31を参照し、図13のステップSB7における欠損サイズの算出処理の手順を説明する。欠損構成点の空間座標(3次元座標)および欠損の判別結果が制御部18aから入力される(ステップSB71)と、欠損サイズ算出部18fは欠損の幅(欠損始点−欠損終点間の空間距離)を算出する(ステップSB72)。
続いて、欠損サイズ算出部18fは、欠損の判別結果に基づいて欠損の種類を判定する(ステップSB73)。欠損の種類が辺の欠損であった場合、欠損サイズ算出部18fは欠損の深さ(所定の欠損構成点から、欠損始点と欠損終点を結んだ直線までの空間距離)を算出する(ステップSB74)。さらに、欠損サイズ算出部18fは欠損の面積(全ての欠損構成点で囲まれた領域の空間面積)を算出する(ステップSB75)。
続いて、欠損サイズ算出部18fは、算出した欠損サイズを制御部18aへ出力する。制御部18aは欠損サイズを記憶部18gに格納する(ステップSB76)。また、欠損の種類が角の欠損であった場合には、欠損サイズ算出部18fは欠損の辺(欠損頂点−欠損始点間の空間距離および欠損頂点−欠損終点間の空間距離)を算出する(ステップSB77)。これに続いて、処理はステップSB75に移行する。
次に、本実施形態における計測結果の表示方法を説明する。図32は欠損計測開始前の計測画面を示している。計測情報として、左画面3200には計測対象物の左画像が表示され、右画面3210には計測対象物の右画像が表示される。また、左画面3200および右画面3210を除く計測画面上の領域には他の計測情報として、光学アダプタ名称情報3220、時間情報3221、メッセージ情報3222、アイコン3223a,3223b,3223c,3223d,3223e、およびズームウィンドウ3224が表示される。
光学アダプタ名称情報3220と時間情報3221は共に計測条件を示す情報である。光学アダプタ名称情報3220は、現在使用している光学アダプタの名称を示す文字情報である。時間情報3221は現在の日付と時刻を示す文字情報である。メッセージ情報3222は、ユーザへの操作指示を示す文字情報と、計測条件の1つである基準点の座標を示す文字情報とを含んでいる。
アイコン3223a〜3223eは、ユーザが計測モードの切替や計測結果のクリア等の操作指示を入力するための操作メニューを構成している。ユーザがリモートコントローラ4あるいはPC31を操作し、図示せぬカーソルをアイコン3223a〜3223eのいずれかの上に移動させてクリック等の操作を行うと、その操作に応じた信号が計測処理部18に入力される。制御部18aは、その信号に基づいてユーザからの操作指示を認識し、計測処理を制御する。また、ズームウィンドウ3224には計測対象物の拡大画像が表示される。
図33は、欠損計測結果を表示したときの計測画面を示している。計測結果を表示するための結果ウィンドウ3300が、図32に示した計測対象物の撮像画像や各種情報の上に重ねて表示されるため、右画面の撮像画像や文字情報等が結果ウィンドウ3300の背後に隠れてしまっている。この状態(第1の表示状態)は、計測結果の表示に必要なスペースを確保して計測結果の視認性を良くするのに適している。
ユーザがリモートコントローラ4あるいはPC31を操作し、図示せぬカーソルを結果ウィンドウ3300の上に移動させてクリック等の操作を行うと、制御部18aの制御により、計測画面が、図34に示す計測画面に切り替わる。図34では結果ウィンドウ3400が透過状態となって計測結果が非表示となることによって、図33の結果ウィンドウ3300で隠れていた右画面の撮像画像や文字情報等が視覚可能となっている。結果ウィンドウ3400は枠だけが表示されている状態である。
この状態(第2の表示状態)は、撮像画像等の計測情報の表示に必要なスペースを確保して計測情報の視認性を良くするのに適している。これによって、例えば左右の画面内の欠損構成点のマッチング状態等を確認することができる。図34の状態で、ユーザがリモートコントローラ4あるいはPC31を操作し、クリック等の操作を行うと、制御部18aの制御により、計測画面が、図33に示す計測画面に再度切り替わる。
図33に示した表示状態で計測画面の切替がユーザによって指示された場合に、計測画面を図35に示す計測画面に切り替えても良い。図35に示す結果ウィンドウ3500は、結果ウィンドウを最小化し、かつ表示位置を、他の情報の表示の邪魔にならない位置に移動させたものである。図35に示した表示状態も、撮像画像等の計測情報の表示に必要なスペースを確保して計測情報の視認性を良くするのに適している。他の情報の表示の邪魔にならないのであれば、結果ウィンドウの大きさと表示位置の両方を変更しなくてもよく、一方だけを変更するようにしてもよい。
上述したように、本実施形態によれば、2つの基準点を指定すれば欠損サイズの計測が可能となるので、従来のように3点あるいは4点以上の基準点を指定する場合と比較して、操作の煩わしさを低減し操作性を向上することができる。また、電子内視鏡の先端に設置される撮像光学系の歪みを補正した歪補正曲線を基準曲線として算出することによって、欠損サイズの計測精度を向上することができる。
また、2つの基準点に対応した2本の基準曲線が形成する角度に応じて欠損の種類を判別することによって、欠損の種類に応じた自動計測を行うことが可能となるので、操作の煩わしさを低減し操作性を向上することができる。特に、欠損のサイズを示すパラメータとして、欠損の種類に応じたパラメータを自動的に選択して算出することによって、ユーザが欠損の種類を特に意識しなくても最適な自動計測を行うことが可能となるので、操作の煩わしさを低減し操作性を向上することができる。
また、従来の計測用内視鏡装置では、角の頂点を含む計測対象物の角に形成された角の欠損のエッジを、1つの仮想曲線とその曲線上の仮想点とで近似しており、角の欠損の頂点に相当する上記の仮想点の選択が手動で行われていたため、欠損サイズの計測精度を低下させるおそれがあるという問題があった。これに対して、本実施形態のように、2つの基準点に対応した2本の基準曲線の交点を欠損構成点の1つ(欠損頂点)として算出することによって、欠損サイズの計測精度を向上することができる。
また、欠損のサイズを示すパラメータとして、少なくとも2種類のパラメータを算出することによって、欠損のサイズを詳細に知ることができる。
また、1つの基準点について計測対象物のエッジ上の少なくとも2つの特徴点を算出し、それらの特徴点に基づいて基準曲線を算出することによって、基準曲線の算出精度を向上し、ひいては欠損サイズの計測精度を向上することができる。
また、本実施形態によれば、以下の効果を得ることもできる。従来の計測用内視鏡では、計測を行う現場での装置の移動を容易とするため、表示装置の大きさに制限があり、表示装置の画面の大きさも限られていた。このため、従来の計測用内視鏡装置では、計測対象物の撮像画像と計測結果の表示に十分な表示スペースを確保できずに視認性が悪くなる可能性があった。
これに対して、本実施形態のように、計測対象物の撮像画像を含む計測情報の少なくとも一部の上に計測結果が重なって表示された第1の表示状態と、第1の表示状態において計測結果が重なっていた計測情報を視覚可能とした第2の表示状態との間で表示状態を切り替えることによって、計測情報と計測結果のそれぞれに対して必要な表示スペースを確保することが可能となる。これによって、計測情報と計測結果の視認性を向上することができる。また、表示装置の画面には、計測対象物の撮像画像の他にも、計測条件を示す文字情報、ユーザへの操作指示を示す文字情報、操作内容の入力に使用される操作メニュー等も表示されるが、これらの表示スペースも確保して視認性を向上することができる。
(第1の変形例)
次に、本実施形態の変形例を説明する。まず、第1の変形例を説明する。上記の説明では、2つの特徴点から1本の基準曲線が算出されるが、3つの特徴点から1本の基準曲線を算出する方法を以下で説明する。
図36に示すように、まず、原画像3600において、基準点3601および基準点エリア3602の位置に基づいて、2つの特徴点P1,P2が算出される。さらに、基準点3601と計測対象物のエッジとの最近傍点が第3の特徴点P3として算出される。なお、図面の表現上の都合により、原画像3600では特徴点P3の図示を省略している。
光学データを用いて原画像3600を変換すると、歪補正画像3610となる。点P1’,P2’,P3’はそれぞれ点P1,P2,P3の変換後の点である。この点P1’,P2’,P3’に基づいて例えば最小2乗法を用いて算出した直線を近似直線Lとし、光学データを用いて近似直線L上の各画素点を逆変換すると、近似直線Lは原画像3620上において曲線L’に変換される。この曲線L’が、点P1,P2,P3を通る歪補正曲線である。
以上のように、3つの特徴点を用いて基準曲線を算出することにより、基準曲線の算出精度を向上することができる。また、上記では特徴点を3つとしたが、4つ以上の特徴点を算出して、その特徴点に基づいて上記と同様の方法で基準曲線の算出を行っても良い。さらに、上記では歪補正後の特徴点に基づいて直線近似を行っているが、2次以上の関数を使って曲線近似を行っても良い。歪補正後のエッジの形状が直線よりも曲線に近い場合には、曲線近似を行った方が特徴点算出の精度が向上する。
(第2の変形例)
次に、第2の変形例を説明する。図30を参照して前述した説明では、欠損頂点の空間座標(3次元座標)を算出する際に、2つの基準点のマッチング点を右画像上で求め、そのマッチング点に基づいて右画像上の2本の基準曲線を算出し、それらの交点を欠損頂点のマッチング点とみなし、そのマッチング点の画像座標から欠損頂点の空間座標を算出していた。以下では、2つの基準点から算出した特徴点に基づいて2本の3次元直線を算出し、その2本の3次元直線の交点を欠損頂点の空間座標として算出する方法を説明する。
図37に示す角の欠損において、まず、ユーザが指定した2つの基準点に基づいて特徴点を算出する。特徴点P1,P2は基準点3700から算出した特徴点であり、点P3,P4は基準点3701から算出した特徴点である。続いて、点P1〜P4のマッチング点P1’〜P4’を求め、これらの特徴点P1〜P4および特徴点P1’〜P4’の空間座標を算出する。ここで、特徴点P1,P2の空間座標をそれぞれ(Plx,Ply),(Clx,Cly)とし、特徴点P3,P4の空間座標をそれぞれ(Prx,Pry),(Crx,Cry)とすると、特徴点P1,P2を通る3次元直線Lの式、および特徴点P3,P4を通る3次元直線Rの式はそれぞれ以下の(1)式および(2)式のようになる。
続いて、2本の3次元直線L,Rの交点を算出する。実際には3次元直線L,Rが交わるということはほとんどないので、本変形例では、2直線が再接近する位置を2直線の交点とみなす。2直線が最接近する位置を探すことは、2直線の法線が一致する位置を探すことと同じである。すなわち、図38に示すように、直線L上の最接近点Qlと、直線R上の最接近点Qrとを結ぶ直線Nは、直線L,Rそれぞれに対して直交する。このため、直線L,Rの方向ベクトルと直線Nの方向ベクトルとの内積は0となる。これらは、それぞれ以下の(3)式および(4)式で表される。
また、最接近点Ql,Qrがそれぞれ直線L,R上にあることから、(1)式および(2)式と定数s,tを用いて以下の(5)式および(6)式が成り立つ。
続いて、上記の(1)式〜(6)式を用いて、最接近点Ql,Qrの空間座標を求める。まず、定数tmp1,tmp2,tmp3,tmp4,tmp5,tmp6を以下の(7)式および(8)式のように定義する。
定数tmp1〜tmp6を用いて(3)式および(4)式を書き換えると以下の(3a)式および(4a)式となる。
また、定数tmp1〜tmp6を用いて(5)式および(6)式を書き換えると以下の(5a)式および(6a)式となる。
続いて、(5a)式および(6a)式を用いて(3a)式および(4a)式を書き換えると以下の(3b)式および(4b)式となる。
さらに、(3b)式および(4b)式を展開すると以下の(3c)式および(4c)式となる。
また、定数al,bl,cl,ar,br,crを以下の(9)式〜(14)式のように定義する。
(9)式〜(14)式を用いて(3c)式および(4c)式を整理すると以下の(3d)式および(4d)式となる。
(3d)式および(4d)式から以下の(15)式および(16)式が成り立つ。
一方、(5)式〜(8)式を用いると最接近点Ql,Qrの座標は以下の(17)式および(18)式で表される。(7)式〜(8)式、(9)式〜(14)式、(15)式〜(16)式を(17)式および(18)式に代入することにより、最接近点Ql,Qrの座標が求まる。
最後に、最接近点Ql,Qrの中点を直線L,Rの交点とみなすことにより、欠損頂点の空間座標は以下の(19)式で表される。上記と同様にして、特徴点P1’〜P4’の空間座標から右画像における欠損頂点の空間座標を求めることができる。
(第3の変形例)
次に、第3の変形例を説明する。上記の説明では、欠損の両側に位置する点であって欠損の存在しないエッジ上の点が基準点として選択されることを想定しているが、欠損が撮像画像の端の方に撮像されている場合には、欠損の存在しないエッジ上の点を基準点として選択することが困難なこともある。以下では、欠損の端点を基準点として欠損計測を行う方法を説明する。
図39に示すように、ユーザは欠損の2つの端点を基準点3900,3901として指定する。基準点3900は、欠損の周辺における計測対象物のエッジ3910と欠損のエッジ3911が交差する位置にある点である。また、基準点3901は、欠損の周辺における計測対象物のエッジ3912と欠損のエッジ3913が交差する位置にある点である。
欠損計算では、基準曲線を算出するのに用いる特徴点は、基準点3900から方向T39aに向かって、および基準点3901から方向T39bに向かってサーチされる。また、欠損構成点を算出するのに用いる計測点は、基準点3900から方向T39cに向かって、および基準点3901から方向T39dに向かってサーチされる。基準点3900,3901と、特徴点または計測点となる点との位置関係から方向T39a,T39b,T39c,T39dを識別することが可能である。
特徴点の算出処理は、必要な数の特徴点が算出された時点で終了となる。また、計測点の算出処理に関しては、基準点3900と基準点3901のそれぞれから計測点のサーチを開始し、基準点3900側からサーチした計測点と、基準点3901側からサーチした計測点との2次元距離が所定値以下となった場合に計測点の算出処理が終了する。上記では辺の欠損について欠損計算の方法を説明したが、角の欠損についても同様に、欠損の端点を基準点として欠損計算を行うことが可能である。
以上のように、欠損の端点を基準点として指定することを可能とすることによって、欠損の全体が撮像されてさえいれば、撮像画像内の欠損の位置によらず、欠損計測を行うことができる。また、基準点の指定のために撮像位置を変更して再度撮像を行う必要がなくなるので、操作の煩わしさを低減し操作性を向上することができる。
[第2の実施形態]
次に、本発明の第2の実施形態を説明する。第1の実施形態による計測用内視鏡装置では、以下のような問題が生じる場合がある。例えば、図40(a)に示すような辺の欠損において、ユーザが、欠損のエッジ上の点やエッジ同士の交点ではなく、エッジよりも内側(計測対象物の内部側)の点4000,4010を基準点として指定した場合、図40(b)に示す欠損構成点(基準点4000,4010および計測点を含む)が認識される。
この場合、基準点4000から基準点4010へ向かって、抽出された順に欠損構成点同士を結んだ線分で構成される欠損輪郭線4020(基準点4000,4010を結ぶ線分を含む)の形状がねじれ形状となる。ここでのねじれ形状とは、欠損輪郭線を構成する一部の線分同士が交差する形状であることを意味する。図40(b)に示すように、欠損輪郭線4020を構成する線分同士が領域4030,4040で交差するため、欠損輪郭線4020の形状はねじれ形状である。欠損輪郭線の形状がねじれ形状となると、図40(c)に示すように、計測結果がエラーであることを示す結果ウィンドウ4050が計測画面に表示される。
欠損輪郭線の形状がねじれ形状となった場合に欠損の面積を算出することができないのは以下の理由による。第1の実施形態および本実施形態による計測用内視鏡装置は、以下の方法により欠損の面積を算出する。すなわち、図41(a)に示すように、欠損構成点で囲まれた欠損領域を、欠損構成点を頂点とする複数の三角形に分割し、これらの三角形の3次元面積の合計を欠損の面積とする。しかし、図41(b)に示すように、欠損輪郭線で囲まれた領域が1つの閉領域ではなく複数の閉領域で構成される場合には、欠損輪郭線の形状がねじれ形状となる。この場合、欠損輪郭線同士が交差する位置4100に欠損構成点がないため、三角形を定義できず、欠損の面積を算出することができなくなる。
角の欠損に関しても同様の問題が生じる場合がある。例えば、図42(a)に示すように、ユーザが、欠損のエッジ上の点やエッジ同士の交点ではなく、エッジよりも内側(計測対象物の内部側)の点4200,4210を基準点として指定した場合、図42(b)に示す欠損構成点(基準点4200,4210、欠損頂点4220、および計測点を含む)が認識される。
この場合、基準点4200から基準点4210へ向かって、抽出された順に欠損構成点同士を結んだ線分で構成される欠損輪郭線4230(基準点4200と欠損頂点4220を結ぶ線分および基準点4210と欠損頂点4220を結ぶ線分を含む)の形状がねじれ形状となる。なぜなら、図42(b)に示すように、欠損輪郭線4230を構成する線分同士が領域4240,4250で交差するからである。欠損輪郭線の形状がねじれ形状となると、図42(c)に示すように、計測結果がエラーであることを示す結果ウィンドウ4260が計測画面に表示される。
また、ユーザが指定した基準点の位置に問題がなくても、図43(a)に示すように、欠損の形状が細く複雑な形状であると、欠損の面積を算出することができなくなる場合がある。例えば、図43(a)に示すように、ユーザが基準点4300,4310を指定した場合、図43(b)に示す欠損構成点(基準点4300,4310および計測点を含む)が認識される。
この場合、基準点4300から基準点4310へ向かって、抽出された順に欠損構成点同士を結んだ線分で構成される欠損輪郭線4320(基準点4300,4310を結ぶ線分を含む)の形状がねじれ形状となる。なぜなら、図43(b)に示すように、欠損輪郭線4320を構成する線分同士が領域4330で交差するからである。欠損輪郭線の形状がねじれ形状となると、図43(c)に示すように、計測結果がエラーであることを示す結果ウィンドウ4340が計測画面に表示される。
欠損輪郭線4320の形状がねじれ形状となるのは、欠損構成点となる計測点をサーチする際に、1つ前に抽出された計測点の周囲の計測点エリアで複数のエッジが検出されると、本来のエッジとは異なる位置にエッジがあると認識されるからである。以下、図43(a)に示す形状を有する欠損輪郭線の形状がねじれ形状となる理由を詳細に説明する。
図44(a)に示すように、ユーザが基準点4400,4401を指定すると、図44(b)に示す矢印4410の方向に沿って計測点が順次サーチされる。図44(c)に示すように、計測点4420の次の計測点をサーチする場合、計測点4420の周囲の計測点エリア4420a内の画像が抽出される。
図45は、計測点エリア4420a内における次の計測点をサーチする手順を示している。まず、計測点エリア4420a内をグレースケール化した画像から、エッジ4500,4501が抽出される。続いて、抽出されたエッジ4500,4501を近似するエッジ近似直線4510が算出され、エッジ近似直線4510とエリア境界線との交点4520,4521が算出される。さらに、算出された各交点とエッジ4500,4501との最近傍点4530,4531が算出される。
2つの最近傍点4530,4531のうち、計測点4420の1つ前に求めた計測点から遠い方の最近傍点4531が次の計測点4430となる。計測点4420がエッジ4500上に位置しているのに対して、計測点4430は、エッジ4500とは異なるエッジ4501上に位置している。このように、1つの計測点エリアで2つ以上のエッジが抽出された場合に、連続して検出される2つの計測点が同じエッジ上に位置しないことがあり、同一のエッジ上に位置する所望の計測点を抽出することができないことがある。
図44(d)に示すように計測点4430が抽出された後、図44(e)に示す矢印4440の方向に計測点のサーチが継続される。図44(f)に示すように、計測点4450の次の計測点をサーチする場合、計測点4450の周囲の計測点エリア4450a内の画像が抽出される。
図46は、計測点エリア4450a内における次の計測点をサーチする手順を示している。まず、計測点エリア4450a内をグレースケール化した画像から、エッジ4600,4601が抽出される。続いて、抽出されたエッジ4600,4601を近似するエッジ近似直線4610が算出され、エッジ近似直線4610とエリア境界線との交点4620,4621が算出される。さらに、算出された各交点とエッジ4600,4601との最近傍点4630,4631が算出される。
2つの最近傍点4630,4631のうち、計測点4450の1つ前に求めた計測点から遠い方の最近傍点4630が次の計測点4460となる。計測点4450がエッジ4600上に位置しているのに対して、計測点4460は、エッジ4600とは異なるエッジ4601上に位置している。
図44(g)に示すように計測点4460が抽出された後、図44(h)に示す矢印4470の方向に計測点のサーチが継続される。図44(i)に示すように、基準点4401との2次元距離が所定値以下となる計測点4480が抽出されると、計測点のサーチが終了し、求めた計測点が欠損構成点として登録される。欠損構成点同士を結んだ線分で構成される欠損輪郭線4480を構成する線分同士が領域4490で交差するため、欠損輪郭線4480の形状はねじれ形状となる。
上述したように、第1の実施形態による計測用内視鏡装置では、欠損輪郭線の形状がねじれ形状になると、欠損サイズ、特に欠損の面積を算出することができなくなるという問題がある。このような問題の発生が非常に稀であるならば、ステレオ計測機能の運用上問題ないが、ユーザは必ずしも注意して基準点を指定するわけではなく、また、欠損のエッジの形状が複雑であることも多いので、上記の問題は無視できない頻度で発生すると考えてよい。そこで、本実施形態による計測用内視鏡装置では、欠損輪郭線の形状がねじれ形状であることを検出し、ねじれ形状が解消するように欠損構成点を修正することが可能となっている。
図47は、本実施形態による計測処理部18の構成を示している。図2に示した計測処理部18と比較して、ねじれ形状検出部18h(ねじれ形状検出手段)と欠損構成点修正部18i(欠損構成点修正手段)が新たに設けられている。ねじれ形状検出部18hは、欠損輪郭線の形状がねじれ形状であるか否かを検出するねじれ形状検出処理を行う。欠損構成点修正部18iは、ねじれ形状検出部18hによって、欠損輪郭線の形状がねじれ形状であることが検出された場合に、ねじれ形状が解消するように欠損構成点の画像座標を修正する。その他の構成は、第1の実施形態で説明した通りである。
次に、本実施形態における欠損計測の手順を説明する。図48は欠損計測全体の手順を示している。ステップSB1〜SB4の処理は図13のステップSB1〜SB4の処理と同様である。ステップSB4に続いて、ねじれ形状検出部18hは、ステップSB4で欠損構成点算出部18dによって算出された欠損構成点の画像座標に基づいて、欠損輪郭線の形状がねじれ形状であるか否かを検出する。欠損輪郭線の形状がねじれ形状であることが検出された場合には、欠損構成点修正部18iは、ねじれ形状が解消するように欠損構成点の画像座標を修正する(ステップSB8)。ステップSB8に続くステップSB5〜SB7の処理は図13のステップSB5〜SB7の処理と同様である。
(第1の動作例)
以下、図48のステップSB8におけるねじれ形状検出処理の詳細を説明する。まず、図49を参照しながら第1の動作例を説明する。第1の動作例は辺の欠損についての動作例である。また、図50はねじれ形状検出処理の手順を模式的に示しており、適宜図50も参照する。ステップSB4で算出された欠損構成点(2つの基準点を含む)の画像座標等の情報が制御部18aから入力されると、ねじれ形状検出部18hは、2つの基準点を通る直線である基準線を算出する(ステップSB801)。例えば、図50(a)に示すように、基準点5000,5001を通る基準線5010が算出される。
続いて、ねじれ形状検出部18hは、算出した基準線を境界として画像の領域を2つに分割する(2つの領域をカテゴリ1,2とする)(ステップSB802)。例えば、図50(b)に示すように、基準線5010の右側の領域がカテゴリ1、左側の領域がカテゴリ2となる。続いて、ねじれ形状検出部18hは、各欠損構成点の画像座標に基づいて、各欠損構成点がカテゴリ1,2のどちらに属するのかを調べ(ステップSB803)、全ての欠損構成点(ただし、基準線上の2つの基準点を除く)が一方のカテゴリに属しているか否かを判定する(ステップSB804)。
全ての欠損構成点が一方のカテゴリに属している場合には、ねじれ形状が検出されなかったことになる。この場合にはねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。また、カテゴリ1に属する欠損構成点と、カテゴリ2に属する欠損構成点との両方が存在する場合には、ねじれ形状が検出されたことになり、以下の処理が行われる。図50(b)に示す例では、カテゴリ1,2の両方に欠損構成点が存在するので、ねじれ形状が検出される。
ねじれ形状が検出された場合、制御部18aを介してねじれ形状検出部18hから欠損構成点修正部18iに欠損構成点の座標や基準線等の情報が入力される。欠損構成点修正部18iは、カテゴリ1に属する欠損構成点と基準線によって形成される領域の面積(カテゴリ1の面積とする)を算出する(ステップSB805)。同様に、欠損構成点修正部18iは、カテゴリ2に属する欠損構成点と基準線によって形成される領域の面積(カテゴリ2の面積とする)を算出する(ステップSB806)。図50(c)において、カテゴリ1に属する欠損構成点と基準線によって形成される領域5020の面積がステップSB805で算出され、カテゴリ2に属する欠損構成点と基準線によって形成される領域5021a,5021bの面積の合計がステップSB806で算出される。
本実施形態におけるカテゴリ1,2の面積は以下のように定義される。図51に示すように、カテゴリ1の面積は、カテゴリ1に属する欠損構成点5100から基準線5110に下ろした垂線5100aの長さの合計である。また、カテゴリ2の面積は、カテゴリ2に属する欠損構成点5101から基準線5110に下ろした垂線5101aの長さの合計である。
ステップSB806に続いて、欠損構成点修正部18iはカテゴリ1,2の面積を比較する(ステップSB807)。カテゴリ1の面積>カテゴリ2の面積であった場合、欠損構成点修正部18iは、カテゴリ2に属する欠損構成点から基準線に下ろした垂線の長さが全て所定値以下であるか否かを判定する(ステップSB808)。カテゴリ2に属するいずれかの欠損構成点から基準線に下ろした垂線の長さが所定値を超える場合には、ねじれ形状が未解消のままでねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。
また、全ての垂線の長さが所定値以下である場合には、欠損構成点修正部18iは、カテゴリ2に属する欠損構成点をカテゴリ1側にシフトさせる(ステップSB809)。このとき、その欠損構成点が基準線上に来るように、または基準線よりもカテゴリ1側に来るように欠損構成点の画像座標が修正される。例えば、図50(c)に示すカテゴリ2に属していた欠損構成点5030,5031の位置が、カテゴリ1に属するように修正される(図50(d))。以上でねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。
このように、カテゴリ2に属する欠損構成点をカテゴリ1側にシフトさせることによって、ねじれ形状を解消することができる。ステップSB807でカテゴリ1,2の面積を比較するのは、どちらのカテゴリに属する欠損構成点をシフトさせるのかを決定するためである。また、面積が小さい方のカテゴリに属する欠損構成点をシフトさせるのは、欠損構成点のシフトによる欠損の形状や面積の変化を最小限にするためである。また、ステップSB808での判定の結果、カテゴリ2に属するいずれかの欠損構成点から基準線に下ろした垂線の長さが所定値を超えていることが分かった場合に、ねじれ形状が未解消のままでねじれ形状検出処理を終了するのは、この場合に欠損構成点のシフトを行うと、欠損の形状や面積を大きく変化させてしまい、測定精度に影響を与える可能性があるからである。
一方、ステップSB807での判定の結果、カテゴリ1の面積≦カテゴリ2の面積であった場合、欠損構成点修正部18iは、カテゴリ1に属する欠損構成点から基準線に下ろした垂線の長さが全て所定値以下であるか否かを判定する(ステップSB810)。カテゴリ1に属するいずれかの欠損構成点から基準線に下ろした垂線の長さが所定値を超える場合には、ねじれ形状が未解消のままでねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。
また、全ての垂線の長さが所定値以下である場合には、欠損構成点修正部18iは、カテゴリ1に属する欠損構成点をカテゴリ2側にシフトさせる(ステップSB811)。このとき、その欠損構成点が基準線上に来るように、または基準線よりもカテゴリ2側に来るように欠損構成点の画像座標が修正される。以上でねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。
上記のねじれ形状検出処理によって、辺の欠損におけるねじれ形状が解消され、欠損の面積を算出することが可能となる。上記のねじれ形状検出処理のステップSB808,SB810では、カテゴリ1またはカテゴリ2に属する欠損構成点から基準線に下ろした垂線の1本ずつの長さを所定値と比較した結果に基づいて判定を行っているが、各カテゴリに属する各欠損構成点についての垂線の合計である各カテゴリの面積を所定値と比較した結果に基づいて判定を行ってもよい。あるいは、カテゴリ1の面積とカテゴリ2の面積の比を所定値と比較した結果に基づいて判定を行ってもよい。
また、ステップSB808,SB810での判定の結果、いずれかの欠損構成点から基準線に下ろした垂線の長さが所定値を超えていることが分かった場合に、ねじれ形状が未解消のままでねじれ形状検出処理が終了するが、これを以下のように変形してもよい。例えば、欠損計測の誤差を許容するのであれば、欠損の面積を算出する際に、カテゴリ2に属する欠損構成点の情報を使用しなくてもよい。あるいは、欠損構成点の画像座標と基準線の情報とに基づいて、カテゴリ1,2の3次元面積を個別に算出し、それらの合計を欠損の面積としてもよい。
(第2の動作例)
次に、図52および図53を参照しながら第2の動作例を説明する。第2の動作例は角の欠損についての動作例である。また、図54はねじれ形状検出処理の手順を模式的に示しており、適宜図54も参照する。ねじれ形状を解消するために、第1の動作例では1本の基準線を設定し欠損構成点のシフトを行うが、第2の動作例では2本の基準線を設定し、各基準線について欠損構成点のシフトを行う。図48のステップSB4で算出された欠損構成点(2つの基準点および欠損頂点を含む)の画像座標等の情報が制御部18aから入力されると、ねじれ形状検出部18hは、2つの基準点のうちの一方と欠損頂点を通る直線である第1の基準線を算出する(ステップSB821)。例えば、図54(a)に示すように、基準点5400と欠損頂点5402を通る第1の基準線5410が算出される。
続いて、ねじれ形状検出部18hは、算出した第1の基準線を境界として画像の領域を2つに分割する(2つの領域をカテゴリ1,2とする)(ステップSB822)。例えば、図54(b)に示すように、第1の基準線5410の右側の領域がカテゴリ1、左側の領域がカテゴリ2となる。続いて、ねじれ形状検出部18hは、各欠損構成点の画像座標に基づいて、各欠損構成点がカテゴリ1,2のどちらに属するのかを調べ(ステップSB823)、全ての欠損構成点(ただし、第1の基準線上の基準点と欠損頂点を除く)が一方のカテゴリに属しているか否かを判定する(ステップSB824)。
全ての欠損構成点が一方のカテゴリに属している場合には、ねじれ形状が検出されなかったことになる。この場合には図53のステップSB832へ処理が移行する。また、カテゴリ1に属する欠損構成点と、カテゴリ2に属する欠損構成点との両方が存在する場合には、ねじれ形状が検出されたことになり、以下の処理が行われる。図54(b)に示す例では、カテゴリ1,2の両方に欠損構成点が存在するので、ねじれ形状が検出される。
ねじれ形状が検出された場合、制御部18aを介してねじれ形状検出部18hから欠損構成点修正部18iに欠損構成点の座標や第1の基準線等の情報が入力される。欠損構成点修正部18iは、カテゴリ1に属する欠損構成点と第1の基準線によって形成される領域の面積(カテゴリ1の面積とする)を算出する(ステップSB825)。同様に、欠損構成点修正部18iは、カテゴリ2に属する欠損構成点と第1の基準線によって形成される領域の面積(カテゴリ2の面積とする)を算出する(ステップSB826)。カテゴリ1,2の面積は、第1の動作例と同様に、各カテゴリに属する欠損構成点から第1の基準線に下ろした垂線の長さの合計として算出される。図54(c)において、カテゴリ1に属する欠損構成点と第1の基準線によって形成される領域5420の面積がステップSB825で算出され、カテゴリ2に属する欠損構成点と第1の基準線によって形成される領域5421の面積がステップSB826で算出される。
続いて、欠損構成点修正部18iはカテゴリ1,2の面積を比較する(ステップSB827)。カテゴリ1の面積>カテゴリ2の面積であった場合、欠損構成点修正部18iは、カテゴリ2に属する欠損構成点から第1の基準線に下ろした垂線の長さが全て所定値以下であるか否かを判定する(ステップSB828)。カテゴリ2に属するいずれかの欠損構成点から第1の基準線に下ろした垂線の長さが所定値を超える場合には、ねじれ形状が未解消のままで、図53のステップSB832へ処理が移行する。
また、全ての垂線の長さが所定値以下である場合には、欠損構成点修正部18iは、カテゴリ2に属する欠損構成点をカテゴリ1側にシフトさせる(ステップSB829)。このとき、その欠損構成点が第1の基準線上に来るように、または第1の基準線よりもカテゴリ1側に来るように欠損構成点の画像座標が修正される。例えば、図54(c)に示すカテゴリ2に属していた欠損構成点5430の位置が、カテゴリ1に属するように修正される(図54(d))。続いて、図53のステップSB832へ処理が移行する。
一方、ステップSB827での判定の結果、カテゴリ1の面積≦カテゴリ2の面積であった場合、欠損構成点修正部18iは、カテゴリ1に属する欠損構成点から第1の基準線に下ろした垂線の長さが全て所定値以下であるか否かを判定する(ステップSB830)。カテゴリ1に属するいずれかの欠損構成点から第1の基準線に下ろした垂線の長さが所定値を超える場合には、ねじれ形状が未解消のままで、図53のステップSB832へ処理が移行する。
また、全ての垂線の長さが所定値以下である場合には、欠損構成点修正部18iは、カテゴリ1に属する欠損構成点をカテゴリ2側にシフトさせる(ステップSB831)。このとき、その欠損構成点が第1の基準線上に来るように、または第1の基準線よりもカテゴリ2側に来るように欠損構成点の画像座標が修正される。続いて、図53のステップSB832へ処理が移行する。
第1の基準線に関する処理が終了した場合、ねじれ形状検出部18hは、2つの基準点のうちの他方と欠損頂点を通る直線である第2の基準線を算出する(ステップSB832)。例えば、図54(e)に示すように、基準点5401と欠損頂点5402を通る第2の基準線5411が算出される。
続いて、ねじれ形状検出部18hは、算出した第2の基準線を境界として画像の領域を2つに分割する(2つの領域をカテゴリ1,2とする)(ステップSB833)。例えば、図54(f)に示すように、第2の基準線5411の左側の領域がカテゴリ1、右側の領域がカテゴリ2となる。続いて、ねじれ形状検出部18hは、各欠損構成点の画像座標に基づいて、各欠損構成点がカテゴリ1,2のどちらに属するのかを調べ(ステップSB834)、全ての欠損構成点(ただし、第2の基準線上の基準点と欠損頂点を除く)が一方のカテゴリに属しているか否かを判定する(ステップSB835)。
全ての欠損構成点が一方のカテゴリに属している場合には、ねじれ形状が検出されなかったことになる。この場合にはねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。また、カテゴリ1に属する欠損構成点と、カテゴリ2に属する欠損構成点との両方が存在する場合には、ねじれ形状が検出されたことになり、以下の処理が行われる。図54(f)に示す例では、カテゴリ1,2の両方に欠損構成点が存在するので、ねじれ形状が検出される。
ねじれ形状が検出された場合、制御部18aを介してねじれ形状検出部18hから欠損構成点修正部18iに欠損構成点の座標や第2の基準線等の情報が入力される。欠損構成点修正部18iは、カテゴリ1に属する欠損構成点と第2の基準線によって形成される領域の面積(カテゴリ1の面積とする)を算出する(ステップSB836)。同様に、欠損構成点修正部18iは、カテゴリ2に属する欠損構成点と第2の基準線によって形成される領域の面積(カテゴリ2の面積とする)を算出する(ステップSB837)。図54(g)において、カテゴリ1に属する欠損構成点と第2の基準線によって形成される領域5422の面積がステップSB836で算出され、カテゴリ2に属する欠損構成点と第2の基準線によって形成される領域5423の面積がステップSB837で算出される。
続いて、欠損構成点修正部18iはカテゴリ1,2の面積を比較する(ステップSB838)。カテゴリ1の面積>カテゴリ2の面積であった場合、欠損構成点修正部18iは、カテゴリ2に属する欠損構成点から第2の基準線に下ろした垂線の長さが全て所定値以下であるか否かを判定する(ステップSB839)。カテゴリ2に属するいずれかの欠損構成点から第2の基準線に下ろした垂線の長さが所定値を超える場合には、ねじれ形状が未解消のままでねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。
また、全ての垂線の長さが所定値以下である場合には、欠損構成点修正部18iは、カテゴリ2に属する欠損構成点をカテゴリ1側にシフトさせる(ステップSB840)。このとき、その欠損構成点が第2の基準線上に来るように、または第2の基準線よりもカテゴリ1側に来るように欠損構成点の画像座標が修正される。例えば、図54(g)に示すカテゴリ2に属していた欠損構成点5431の位置が、カテゴリ1に属するように修正される(図54(i))。以上でねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。
一方、ステップSB838での判定の結果、カテゴリ1の面積≦カテゴリ2の面積であった場合、欠損構成点修正部18iは、カテゴリ1に属する欠損構成点から第2の基準線に下ろした垂線の長さが全て所定値以下であるか否かを判定する(ステップSB841)。カテゴリ1に属するいずれかの欠損構成点から第2の基準線に下ろした垂線の長さが所定値を超える場合には、ねじれ形状が未解消のままでねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。
また、全ての垂線の長さが所定値以下である場合には、欠損構成点修正部18iは、カテゴリ1に属する欠損構成点をカテゴリ2側にシフトさせる(ステップSB842)。このとき、その欠損構成点が第2の基準線上に来るように、または第2の基準線よりもカテゴリ2側に来るように欠損構成点の画像座標が修正される。以上でねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。
上記のねじれ形状検出処理によって、角の欠損におけるねじれ形状が解消され、欠損の面積を算出することが可能となる。上記のねじれ形状検出処理において、第1の動作例と同様の変形を施してもよい。
(第3の動作例)
次に、第3の動作例を説明する。第3の動作例は、図43に示したように細く複雑な形状を有する欠損についての動作例である。図55は、図48のステップSB8におけるねじれ形状検出処理の詳細を示している。ステップSB4で算出された欠損構成点(2つの基準点を含む)の画像座標等の情報が制御部18aから入力されると、ねじれ形状検出部18hは、欠損構成点のラベル表を作成する(ステップSB851)。
図56(a)は初期状態のラベル表の内容を示している。ラベル表には、欠損構成点毎に異なるラベル番号と、欠損構成点の画像座標値と、各欠損構成点がどの欠損構成点に隣接するのかを示す2つの隣接ラベル番号とが含まれている。図57は、図56(a)に示すラベル表に対応した欠損構成点の画像上の位置を模式的に示している。各欠損構成点を結ぶ線分が欠損輪郭線である。また、各欠損構成点の近傍に記載されている数字は、ラベル表に含まれるラベル番号である。
最初および最後のラベル番号は2つの基準点に付与される。図57(a)に示す例では、第1の基準点にラベル番号1が付与され、第2の基準点にラベル番号11が付与されている。その他の欠損構成点に対しては、抽出された順に1ずつ増加するラベル番号が付与されている。また、2つの隣接ラベル番号から、各欠損構成点に隣接する欠損構成点を知ることが可能である。例えばラベル番号1の欠損構成点(第1の基準点)に隣接する欠損構成点はラベル番号11の欠損構成点(第2の基準点)とラベル番号2の欠損構成点である。
ステップSB851に続いて、ねじれ形状検出部18hは、欠損構成点の画像座標に基づいて欠損輪郭線の形状を調べる(ステップSB852)。欠損輪郭線の形状を調べるには、ラベル表の隣接ラベル番号に基づく隣接した欠損構成点を結ぶ線分同士の位置関係を調べればよい。これによって、欠損輪郭線の形状がねじれ形状であるか否かを調べることができる。ねじれ形状の有無を調べるには、ラベル表の隣接ラベル番号に基づく隣接した欠損構成点を結ぶ線分同士が交差するか否か(互いに交差している2本の線分があるか否か)を調べればよい。図57(b)に示す例では、ラベル番号4,5の欠損構成点を結ぶ線分5700と、ラベル番号7,8の欠損構成点を結ぶ線分5710とが交差しているため、欠損輪郭線の形状がねじれ形状となっていることが分かる。
ねじれ形状検出部18hは、ステップSB852の処理結果に基づいて、欠損輪郭線の形状がねじれ形状であるか否かを判定する(ステップSB853)。欠損輪郭線の形状がねじれ形状でなかった場合には、ねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。
また、欠損輪郭線の形状がねじれ形状であった場合には、制御部18aを介してねじれ形状検出部18hから欠損構成点修正部18iにラベル表等の情報が入力される。欠損構成点修正部18iは、ねじれ形状に関係する4つの欠損構成点の外接矩形を算出する(ステップSB854)。例えば、図57(c)に示す外接矩形5720がステップSB854で算出される。この外接矩形は、ねじれ形状を解消するか否かを判定するための目安となる図形であり、外接矩形でなくてもよい。
続いて、欠損構成点修正部18iは、外接矩形の縦サイズおよび横サイズに基づくサイズを算出する(ステップSB855)。縦サイズは、図57(c)に示す外接矩形5720の垂直方向の長さであり、横サイズは外接矩形5720の水平方向の長さである。また、外接矩形のサイズは、例えば縦サイズと横サイズの積とすればよい。欠損構成点修正部18iは、ステップSB855で算出した外接矩形のサイズが所定値以下であるか否かを算出する(ステップSB856)。
外接矩形のサイズが所定値を超える場合には、ねじれ形状が未解消のままでねじれ形状検出処理が終了し、図48のステップSB5へ処理が移行する。また、外接矩形のサイズが所定値以下の場合には、欠損構成点修正部18iは、ねじれ形状に関係する4つの欠損構成点のうちの任意の2点を通る、互いに異なる2本の線分の組合せの中から、互いに交差しない2本の線分からなる組合せを求める(ステップSB857)。
例えば、図57に示した欠損構成点のうち、ねじれ形状に関係するのはラベル番号4,5,7,8の4つの欠損構成点である。これら4つの欠損構成点の中の2点を通る2本の線分の組合せのうち、図58(a)(b)に示す2つの組合せでは、2本の線分が交差していない。このような組合せをそれぞれグループA,Bとする。図58の例では、図58(a)に示す線分の組合せをグループAとし、図58(b)に示す線分の組合せをグループBとする。
続いて、欠損構成点修正部18iは、グループAを構成する線分の情報に基づいてラベル表の隣接ラベル番号を書き直す(ステップSB858)。この処理は、グループAを構成する線分を含むように欠損輪郭線を修正するための処理である。例えば、図58(a)に示すグループAを構成する線分を含むように欠損輪郭線を修正すると図59(a)のようになる。この場合、図56(a)に示す初期状態のラベル表において、ラベル番号4の欠損構成点の隣接ラベル番号を5から8に変更し、ラベル番号5の欠損構成点の隣接ラベル番号を4から7に変更し、ラベル番号7の欠損構成点の隣接ラベル番号を8から5に変更し、ラベル番号8の欠損構成点の隣接ラベル番号を7から4に変更する必要がある。図56(b)は変更後のラベル表の内容を示している。
続いて、欠損構成点修正部18iは、最初のラベル番号が付与された欠損構成点から順に、書き直されたラベル表に基づいて欠損構成点をサーチし(ステップSB859)、全ての欠損構成点を通過したか否かを判定する(ステップSB860)。欠損構成点をサーチするのは、ラベル表を書き直したことによって、欠損輪郭線が2つに分断されていないか否かを確認するためである。
図56(b)に示すラベル表に基づく欠損構成点のサーチは以下のようにして行われる。まず、ラベル番号1の欠損構成点が選択され、その隣接ラベル番号が参照される。隣接ラベル番号は11と2であるが、2が選択されたとする。続いて、ラベル番号2の欠損構成点が選択され、その隣接ラベル番号が参照される。隣接ラベル番号は1と3であるが、直前にサーチした欠損構成点のラベル番号とは異なる隣接ラベル番号が選択される。すなわち、3が選択される。
同様の処理を繰り返すことにより、ラベル番号1,2,3,4,8,9,10,11の欠損構成点が順にサーチされる(図59(b))。また、サーチを開始した欠損構成点のラベル番号と同一の隣接ラベル番号が発見された場合に、欠損構成点のサーチが終了する。ラベル番号11の欠損構成点の隣接ラベル番号は10と1であるが、ラベル番号1の欠損構成点からサーチが開始されたので、ラベル番号11の欠損構成点がサーチされた段階でサーチが終了する。ラベル表に記録されている欠損構成点の数(=11)と、サーチした欠損構成点の数(=8)とを比較すると、両者が異なるため、一部の欠損構成点がサーチされなかったことが分かる。
ステップSB860での判定の結果、全ての欠損構成点をサーチしたことが分かった場合には、所望の欠損輪郭線が得られたことになる。この場合には、ステップSB863へ処理が移行する。また、ステップSB860での判定の結果、一部の欠損構成点をサーチしなかったことが分かった場合には、欠損構成点修正部18iは、グループBを構成する線分について上記と同様の処理を行う。
すなわち、欠損構成点修正部18iは、グループBを構成する線分の情報に基づいてラベル表の隣接ラベル番号を書き直す(ステップSB861)。例えば、図58(b)に示すグループBを構成する線分を含むように欠損輪郭線を修正すると図59(c)のようになる。この場合、図56(a)に示す初期状態のラベル表において、ラベル番号4の欠損構成点の隣接ラベル番号を5から7に変更し、ラベル番号5の欠損構成点の隣接ラベル番号を4から8に変更し、ラベル番号7の欠損構成点の隣接ラベル番号を8から4に変更し、ラベル番号8の欠損構成点の隣接ラベル番号を7から5に変更する必要がある。図56(c)は変更後のラベル表の内容を示している。
続いて、欠損構成点修正部18iは、最初のラベル番号が付与された欠損構成点から順に、書き直されたラベル表に基づいて欠損構成点をサーチする(ステップSB862)。図59(c)に示す欠損構成点の場合、図59(d)に示すように順次サーチを行うと、全ての欠損構成点を通過することが分かる。したがって、図59(c)に示す欠損輪郭線ではねじれ形状が解消されていることが分かる。
ステップSB862に続いて、欠損構成点修正部18iは、ステップSB862でサーチした欠損構成点のサーチの順番がラベル番号の順番と一致するようにラベル表の画像座標値を書き直すと共に、ラベル表の隣接ラベル番号を、初期状態と同じ状態となるように書き直す(ステップSB863)。図59(c)に示すサーチでは、ラベル番号1,2,3,4,7,6,5,8,9,10,11の順に欠損構成点がサーチされるが、ラベル番号5,7の欠損構成点については、ラベル番号とサーチの順番が異なっている。したがって、ステップSB863では、ラベル番号5の欠損構成点の画像座標値とラベル番号7の欠損構成点の画像座標値とを入れ替える処理が行われる。
この入れ替えによって、ラベル番号5,7の欠損構成点の位置が図57(d)に示すように入れ替わることになる。また、隣接ラベル番号が、図56(a)と同じ状態となるように書き直される。図56(d)は変更後のラベル表の内容を示している。ステップSB863の処理は、必要がなければ省略してもよい。ステップSB863に続いて、ステップSB852に処理が戻る。
上記のねじれ形状検出処理によって、細く複雑な形状を有する欠損におけるねじれ形状が解消され、欠損の面積を算出することが可能となる。上記のねじれ形状検出処理のステップSB856での判定の結果、外形矩形のサイズが所定値を超えていると分かった場合に、ねじれ形状が未解消のままでねじれ形状検出処理を終了するのは、この場合に欠損のねじれ形状を解消すると、欠損の形状や面積を大きく変化させ測定精度に影響を与える可能性があるからである。
例えば、欠損輪郭線の形状が、図60(a)に示す形状であった場合、図60(b)に示すように、ラベル番号4,5,6,7の欠損構成点がねじれ形状に関係していることが分かる。図60(c)に示すように、この4つの欠損構成点に隣接する外接矩形6000のサイズが大きいため、ねじれ形状を解消した場合の欠損輪郭線(図60(d))の形状が、図60(a)に示す形状と大きく異なる。そこで、このような場合には、ねじれ形状が未解消のままでねじれ形状検出処理を終了する。ただし、欠損計測の誤差を許容するのであれば、ねじれ形状を解消してもよい。また、上述した第4の動作例におけるねじれ形状検出処理を辺の欠損や角の欠損に適用してもよい。
(第4の動作例)
次に、第4の動作例を説明する。第1〜第3の動作例では、タービンブレードあるいはコンプレッサブレードのエッジに生じた欠損を主な計測対象としていたが、第4の動作例では、ブレード表面に生じたバーニング(焼け)や塗装のはがれ、パイプ内部に生じたサビ等の欠陥を主な計測対象とする。
例えば、図61(a)に示すように、コンプレッサブレード6100のエッジに欠損6110が形成され、表面にバーニング6120が形成されている。図61(b)は欠損6110を拡大した図であり、図61(c)はバーニング6120を拡大した図である。欠損6110では端点6111,6112を結ぶ直線6113を基準にして片側のみにエッジがあるのに対して、バーニング6120ではバーニング周囲の輪郭線(エッジ)上の任意の2つの点6121,6122を結ぶ直線6123を基準にして両側にエッジがある。
以下、図62を参照しながら、計測対象物上の任意の2点を結ぶ直線の両側にエッジを有する計測対象物に対して欠損計測を行う方法を説明する。図62(a)に示すバーニング6200に対して、まずユーザがエッジ上の任意の2つの基準点6210,6211を指定する。続いて、第1の実施形態で説明したように、指定された2つの基準点の間に位置するエッジ上の点が順次サーチされ、欠損構成点(計測点)として抽出される。このとき、図62(b)に示すように、基準点6210から基準点6211に向かって、矢印6220,6221が示す2方向に欠損構成点がサーチされる。また、第4の変形例では基準曲線の算出処理は行われず、基準点4110,4111がそれぞれそのまま欠損始点、欠損終点になる。
サーチされた欠損構成点と基準点6211との2次元距離が所定値以下になった場合に、欠損構成点のサーチが終了する。図62(c)は、欠損構成点のサーチが終了した状態を示している。続いて、抽出された欠損構成点のマッチング点の算出および各点の空間座標の算出が行われ、算出された各点の空間座標に基づいてバーニング6200のサイズが算出される。算出されるバーニング6200のサイズは、図62(d)に示すように、バーニング6200の幅6230,6231と周囲長6232と面積である。
幅6230は基準点6210,6211間の空間距離であり、幅6231は、基準点6210,6211を結ぶ直線から左右方向に最も離れている欠損構成点6212,6213間の空間距離である。周囲長6232は隣接する2つの欠損構成点間の空間距離の合計である。面積は、全ての欠損構成点で囲まれた領域の空間面積である。バーニング6200のサイズが算出されると、図62(e)が示すように、計測結果を示す結果ウィンドウ6240が計測画面に表示される。以上のように、バーニングに対しても欠損計測を行うことができる。
第4の動作例で扱うような計測対象物においても、欠損輪郭線の形状がねじれ形状になることがある。例えば、図63(a)に示すバーニング6300では、エッジの一部が細く複雑な形状を有している。基準点6310,6311が指定されると、図63(b)および図63(c)に示すように、指定された2つの基準点の間に位置するエッジ上の点が順次サーチされ、欠損構成点(計測点)として抽出される。このとき、矢印6320,6321が示す2方向に欠損構成点がサーチされる。
図63(d)は、欠損構成点のサーチが終了した状態を示している。欠損輪郭線を構成する2つの線分が領域6330で交差しており、欠損輪郭線の一部の形状がねじれ形状になっている。このため、図63(e)に示すように、計測結果がエラーであることを示す結果ウィンドウ6340が計測画面に表示される。
このような場合でも、第3の動作例で説明したねじれ形状検出処理が有効である。図63(d)に示すように欠損輪郭線の形状がねじれ形状になっていても、第3の動作例で説明したねじれ形状検出処理を適用することによって、図63(f)に示すように、ねじれ形状を解消することが可能となる。
上述したように、本実施形態によれば、欠損輪郭線の形状がねじれ形状であるか否かを検出することによって、欠損の面積を算出することが可能となる。例えば、欠損輪郭線の形状がねじれ形状であることが検出された場合に、第1の動作例および第2の動作例においては、基準点の再指定をユーザに促すことによって、欠損輪郭線の形状がねじれ形状となることを防止し、欠損の面積を算出することができるようになる。また、欠損輪郭線の形状がねじれ形状であることが検出された場合に、ねじれ形状が解消するように欠損構成点を修正することによって、欠損の面積を算出することができるようになる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
1・・・計測用内視鏡装置、18・・・計測処理部、18a・・・制御部、18b・・・基準点指定部、18c・・・基準曲線算出部、18d・・・欠損構成点算出部、18e・・・欠損種類判別部、18f・・・欠損サイズ算出部、18g・・・記憶部、18h・・・ねじれ形状検出部、18e・・・欠損構成点修正部