以下、図面を参照し、本発明の実施形態を説明する。
(第1の実施形態)
まず、本発明の第1の実施形態を説明する。図1は、本実施形態によるブレード検査システムの構成を示している。ジェットエンジン1内には、検査対象物である複数のタービンブレード10(もしくはコンプレッサーブレード)が所定の間隔で周期的に配置されている。また、ジェットエンジン1には、タービンブレード10を回転方向Aに所定の速度で回転させるターニングツール2が接続されている。本実施形態では、タービンブレード10の画像を取り込んでいる間は常にタービンブレード10を回転させた状態にしている。
本実施形態では、タービンブレード10の画像を取得するため、内視鏡装置3(本発明の画像処理装置に対応)が用いられる。ジェットエンジン1の内部には、内視鏡装置3の内視鏡挿入部20が挿入されており、この内視鏡挿入部20により、回転しているタービンブレード10の映像が取り込まれる。また、内視鏡装置3には、タービンブレード10を所望の角度で撮像した画像を記録するためのブレード記録ソフトが記憶されている。
図2は内視鏡装置3の構成を示している。内視鏡装置3は、内視鏡挿入部20、内視鏡装置本体21、モニタ22、およびリモコン(リモートコントローラ)23から構成されている。内視鏡挿入部20の先端には、撮像光学系30aおよび撮像素子30bが内蔵されている。また、内視鏡装置本体21には、画像信号処理装置(CCU)31、光源32、湾曲制御ユニット33、および制御用コンピュータ34が内蔵されている。
内視鏡挿入部20において、撮像光学系30aは被写体からの光を集光し、撮像素子30bの撮像面上に被写体像を結像する。撮像素子30bは、被写体像を光電変換して撮像信号を生成する。撮像素子30bから出力された撮像信号は画像信号処理装置31に入力される。
内視鏡装置本体21において、画像信号処理装置31は、撮像素子30bからの撮像信号をNTSC信号等の映像信号に変換して制御用コンピュータ34に供給し、さらに必要に応じてアナログビデオ出力として、外部に出力する。
光源32は、光ファイバ等を通じて内視鏡挿入部20の先端に接続されており、光を外部に照射することができる。湾曲制御ユニット33は内視鏡挿入部20の先端と接続されており、先端を上下左右に湾曲させることができる。光源32および湾曲制御ユニット33の制御は、制御用コンピュータ34によって行われる。
制御用コンピュータ34は、RAM34a、ROM34b、CPU34c、外部インターフェースとしてネットワークI/F34d、RS232C I/F34e、カード I/F34fから構成されている。RAM34aは、ソフトウェア動作に必要な画像情報等のデータを一時記憶するために使用される。ROM34bには、内視鏡装置3を制御するための一連のソフトウェアが記憶されており、後述するブレード記録ソフトもROM34b内に記憶される。CPU34cは、ROM34bに記憶されているソフトウェアの命令コードに従って、RAM34aに記憶されたデータを用いて各種制御のための演算等を実行する。
ネットワークI/F34dは、外部PCとLANケーブルによって接続するためのインターフェースであり、外部PCに対して、画像信号処理装置31から出力された映像情報を展開することができる。RS232C I/F34eは、リモコン23と接続するためのインターフェースであり、このリモコン23をユーザが操作することによって、内視鏡装置3の各種動作を制御することができる。カード I/F34fは、記録媒体である各種メモリカード50を自由に着脱できるようになっている。メモリカード50を装着することにより、CPU34cの制御によって、メモリカード50に記憶されている画像情報等のデータを取り込み、あるいは画像情報等のデータをメモリカード50に記録することができる。
本実施形態によるブレード検査システムの構成の変形例として、図3に示す構成を用いてもよい。本変形例では、内視鏡装置3にビデオ端子ケーブル4およびビデオキャプチャカード5が接続されており、これによって、内視鏡装置3が取り込んだ映像をPC6(本発明の画像処理装置に対応)にも取り込ませることが可能となっている。PC6は、図3ではノート型PCとして描かれているが、デスクトップ型のPC等でもよい。PC6には、タービンブレード10を所望の角度で撮像した画像を記録するためのブレード記録ソフトが記憶されている。
さらに、図3では、PC6への映像の取り込みにビデオ端子ケーブル4およびビデオキャプチャカード5を用いているが、図4に示すようにLANケーブル7を用いてもよい。内視鏡装置3は、取り込まれた映像をLANネットワーク上に展開することのできるネットワークI/F34dを備えている。そして、LANケーブル7を通じて、PC6に映像を取りませることができる。
図5はPC6の構成を示している。PC6はPC本体24およびモニタ25から構成されている。PC本体24には、制御用コンピュータ35が内蔵されている。制御用コンピュータ35は、RAM35a、HDD(ハードディスクドライブ)35b、CPU35c、外部インターフェースとして、ネットワークI/F35d、USB I/F35eから構成されている。制御用コンピュータ35はモニタ25に接続されており、映像情報およびソフトウェアの画面等がモニタ25に表示される。
RAM35aは、ソフトウェア動作に必要な画像情報等のデータを一時記憶するために使用される。HDD35bには、内視鏡装置を制御するために一連のソフトウェアが記憶されており、ブレード記録ソフトもHDD35b内に記憶される。また、本実施形態では、タービンブレード10の画像を保存する保存用フォルダはHDD35b内に設定される。CPU35cは、HDD35bに記憶されているソフトウェアの命令コードに従って、RAM35aに記憶されたデータを用いて各種制御のための演算等を実行する。
ネットワークI/F35dは、内視鏡装置3とPC6をLANケーブル7によって接続するためのインターフェースであり、内視鏡装置3からLAN出力された映像情報をPC6に入力することができる。USB I/F35eは、内視鏡装置3とPC6をビデオキャプチャカード5によって接続するためのインターフェースであり、内視鏡装置3からアナログビデオ出力された映像情報をPC6に入力することができる。
図3および図4に示すブレード検査システムでは、図1に示すブレード検査システムと同様の効果を得ることができる。特に、内視鏡装置の性能がPCよりも劣っており、内視鏡装置の動作速度等が十分でない場合等に、図3および図4に示すブレード検査システムは有効である。
次に、ブレード記録ソフトの画面を説明する。図6は、ブレード記録ソフトのメインウィンドウを示している。図6に示すメインウィンドウ600は、ユーザがブレード記録ソフトを起動した際に表示される。
メインウィンドウ600の表示は、CPU34cによる制御に従って行われる。CPU34cは、メインウィンドウ600を表示するためのグラフィック画像信号(表示信号)を生成し、モニタ22へ出力する。また、内視鏡装置3に取り込まれた映像(以下、内視鏡映像と記載)をメインウィンドウ600上に重畳表示する場合には、CPU34cは、画像信号処理装置31から取り込んだ画像データをグラフィック画像信号に重畳する処理を行い、処理後の信号(表示信号)をモニタ22へ出力する。
また、メインウィンドウ600上のGUIの表示状態を更新する場合、CPU34cは、更新後のメインウィンドウ600に対応したグラフィック画像信号を生成し、上記と同様の処理を行う。メインウィンドウ600以外のウィンドウの表示に係る処理も上記と同様である。以下、メインウィンドウ600等を表示(更新も含む)するためにCPU34cがグラフィック画像信号を生成する処理のことを、メインウィンドウ600等を表示するための処理と記載する。
ユーザは、GUI(グラフィカルユーザインタフェース)機能を利用して、リモコン23を介してメインウィンドウ600を操作することにより、内視鏡映像の閲覧および画像ファイルの保存を行うことができる。以下、各種GUIの機能を説明する。
メインウィンドウ600の上部には、[プレビュー画像]ボックス601、[テンプレート画像]ボックス602、[レコード画像]ボックス603が配置されている。
[プレビュー画像]ボックス601は、内視鏡映像を表示するためのボックスである。ターニングツール2によってタービンブレード10が回転している状態のとき、後述する[プレビュー開始]ボタン610が押下されると、内視鏡映像(タービンブレード10が回転している映像)がリアルタイムに表示される。このように、[プレビュー画像]ボックス601により、ユーザは内視鏡映像を閲覧することができる。以下、[プレビュー画像]ボックス601に内視鏡映像が表示されることを、プレビューと記載する。
[テンプレート画像]ボックス602は、テンプレート画像を表示するためのボックスである。後述する[テンプレート登録]ボタン612が押下されると、内視鏡映像を構成する各フレームの画像のうち、そのタイミングで取りこまれた1フレーム分の画像が、[テンプレート画像]ボックス602にテンプレート画像として表示される。テンプレート画像とは、後述するレコード画像を表示する際に基準となる画像のことである。
[レコード画像]ボックス603は、後述するレコード画像を表示するためのボックスである。後述する[レコード開始]ボタン613が押下された後、内視鏡映像を構成する各フレームの画像のうち、テンプレート画像との相関の高い画像(以下、レコード画像と記載)が順次表示される。[レコード画像]ボックス603に表示されたレコード画像は、画像ファイルとしてメモリカード50内の保存フォルダに順次保存される。
ここで保存される画像ファイルを、以下、レコード画像ファイルと記載する。また、レコード画像ファイルをメモリカード50内の保存フォルダに順次保存することを、以下、レコードと記載する。保存フォルダの詳細は、後述する。
[プレビュー開始]ボタン610は、[プレビュー画像]ボックス601への内視鏡映像の表示を開始するためのボタンである。[プレビュー停止]ボタン611は、[プレビュー画像]ボックス601への内視鏡映像の表示を停止するためのボタンである。
[テンプレート登録]ボタン612は、所望の画像をテンプレート画像として登録するためのボタンである。[テンプレート登録]ボタン612が押下されると、内視鏡映像を構成する各フレームの画像のうち、そのタイミングで取りこまれた1フレーム分の画像が、[テンプレート画像]ボックス602にテンプレート画像として表示される。さらに、その1フレーム分の画像が、テンプレート画像としてRAM34aに記録される。
[レコード開始]ボタン613は、レコードを開始するためのボタンである。[レコード開始]ボタン613が押下されると、後述する[レコード数]ボックス620の値が0にリセットされる。そして、内視鏡映像とテンプレート画像との比較が毎フレームで行われ、内視鏡映像を構成する各フレームの画像のうち、テンプレート画像との相関の高い1フレーム分のレコード画像が[レコード画像]ボックス603に順次表示される。さらに、表示されたレコード画像は、画像ファイルとしてメモリカード50内の保存フォルダに順次保存される。
より具体的には、内視鏡映像内のタービンブレード10の位置や角度が、テンプレート画像内のタービンブレード10の位置や角度と同じになったとき(簡略化して言い換えると、内視鏡映像内のタービンブレード10と、テンプレート画像内のタービンブレード10との見え方が同じになったとき)の1フレーム分の画像が表示および保存されることになる。
[レコード停止]ボタン614は、レコードを停止するためのボタンである。[画像閲覧]ボタン615は、メモリカード50内の保存フォルダに保存された画像ファイルを閲覧するためのボタンである。[画像閲覧]ボタン615が押下されると、後述する[画像閲覧]ウィンドウが表示される。[画像閲覧]ウィンドウが表示されている間は、メインウィンドウ600は、ユーザによる操作が無効の状態となる。
[レコード数]ボックス620には、レコード画像ファイルの現在の保存枚数(以下、レコード数と記載)を表示するためのボックスである。但し、テンプレート画像の画像ファイルはカウントされない。また、前述したように、[レコード開始]ボタン613が押下されると、[レコード数]ボックス620の値が0にリセットされる。
[最大レコード]数ボックス621には、レコード画像ファイルの最大枚数(以下、最大レコード数と記載)を表示するためのボックスである。レコード中に、レコード数が最大レコード数と同じ値になった場合、レコードが自動的に終了する。[最大レコード]数ボックス621には、任意の最大レコード数を入力することが可能である。例えば、[最大レコード]数ボックス621にタービンブレード10の1周分のブレード枚数を入力しておくことにより、タービンブレード10の画像ファイルを必要な枚数だけ保存することができる。
[終了]ボタン630は、ブレード記録ソフトを終了するためのボタンである。[終了]ボタン630が押下されると、メインウィンドウ600が非表示となり、ブレード記録ソフトの動作が終了する。
図7は、ブレード記録ソフトの[画像閲覧]ウィンドウを示している。図7に示す[画像閲覧]ウィンドウ700は、前述したように、メインウィンドウ600の[画像閲覧]ボタン615が押下された際に、表示される。
ユーザは、GUI機能を利用して、リモコン23を介して[画像閲覧]ウィンドウ700を操作することにより、レコード画像ファイルの閲覧を行うことができる。以下、各種GUIの機能を説明する。
[閲覧画像]ボックス701は、レコード画像ファイルを表示するためのボックスである。後述する[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[閲覧画像]ボックス701に表示されるレコード画像ファイルが切り替わる。[閲覧画像]ボックス701により、ユーザはレコード画像ファイルを閲覧することができる。以下、[閲覧画像]ボックス701に表示されているレコード画像を閲覧画像と記載し、その画像ファイルを閲覧画像ファイルと記載する。
[<< 前]ボタン710は、閲覧画像を切り替えるためのボタンである。[<< 前]ボタン710が押下されると、後述する画像ファイルリストの中で、[閲覧画像]ボックス701に表示されている画像ファイルの画像ファイルNo(画像ファイルナンバー)より1つ小さな画像ファイルNoをもつ画像ファイルが表示される。それに伴い、後述する[画像ファイル名]ボックス720に表示されている画像ファイル名も切り替わる。
[次 >>]ボタン711も、閲覧画像を切り替えるためのボタンである。[次 >>]ボタン711が押下されると、後述する画像ファイルリストの中で、[閲覧画像]ボックス701に表示されている画像ファイルの画像ファイルNoより1つ大きな画像ファイルNoをもつ画像ファイルが表示される。それに伴い、後述する[画像ファイル名]ボックス720に表示されている画像ファイル名も切り替わる。
[画像ファイル名]ボックス720は、閲覧画像ファイルのファイル名を表示するためのボックスである。[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[画像ファイル名]ボックス720の画像ファイル名の表示が切り替わる。
[画像ファイル数]ボックス721は、後述する画像ファイルリストの中の画像ファイル数を表示するためのボックスである。[日時選択]ボックス724の選択が変更されると、[画像ファイル数]ボックス721の画像ファイル数の表示が切り替わる。
[保存日時]ボックス722は、閲覧画像ファイルの保存日時を表示するためのボックスである。[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[保存日時]ボックス722の画像ファイルの保存日時の表示が切り替わる。
[日時選択]ボックス724は、閲覧画像を切り替えるためのボックスである。後述する保存フォルダリストのレコード開始日時が[日時選択]ボックス724にリスト形式で表示される。[日時選択]ボックス724のレコード開始日時の選択が変更されると、選択されたレコード開始日時をもつ保存フォルダに保存されたレコード画像ファイルが[閲覧画像]ボックス701に表示される。それに伴い、[画像ファイル名]ボックス720の画像ファイル名、および[画像ファイル数]ボックス721の画像ファイル数の表示も切り替わる。
[閉じる]ボタン730は、画像の閲覧を終了するためのボタンである。[閉じる]ボタン730が押下されると、[画像閲覧]ウィンドウ701が非表示となり、メインウィンドウ600が操作される状態に戻る。
次に、図8〜図10を用いて、メモリカード50内のディレクトリ構造を説明する。図8に示すように、メモリカード50の直下のディレクトリは複数の保存フォルダ800から構成されている。保存フォルダ800は、レコード画像ファイルが保存されるフォルダである。レコード開始日時が保存フォルダ800のフォルダ名となる。例えば、レコード開始日時が「2007/12/26 21:32:21」の場合、フォルダ名は「20071226_213221」となる。
各保存フォルダの直下のディレクトリは複数のレコード画像ファイル810から構成されている。レコード画像ファイル名は、レコード画像ファイルが保存された順にそれぞれ「001.jpg」、「002.jpg」、「003.jpg」・・・となる。但し、テンプレート画像ファイルのファイル名は「Temp.jpg」となる。
また、後述する画像閲覧処理の際には、保存フォルダリストおよび画像ファイルリストが作成される。
保存フォルダリストとは、保存フォルダの一覧表である。図9に示すように、保存フォルダリストは、保存フォルダNo(保存フォルダナンバー)、レコード開始日時、およびフォルダ名から構成されている。保存フォルダNoには、保存フォルダが作成された順に、1、2、3・・・の番号が割り当てられる。
画像ファイルリストとは、各保存フォルダに保存されたレコード画像ファイルの一覧表である。図10に示すように、画像ファイルリストは、画像ファイルNo、ファイル保存日時、およびファイル名から構成されている。画像ファイルNoには、ファイルが保存された順に、1、2、3・・・の番号が割り当てられる。但し、テンプレート画像のみ、最後の画像ファイルNoが割り当てられる。
次に、図11を用いて、ブレード記録ソフトの動作の流れを説明する。ステップSAでは、ユーザがブレード記録ソフトを起動する。このとき、リモコン23に入力されたブレード記録ソフトの起動指示に基づいて、CPU34cは、ROM34bに格納されているブレード記録ソフトをRAM34aに読み込み、ブレード記録ソフトに従った動作を開始する。ステップSBでは、CPU34cが、メインウィンドウを表示するための処理を行う。
ステップSCでは、CPU34cが初期化処理を行う。初期化処理とは、メインウィンドウ内の各種GUIの初期状態を設定したり、RAM34aに記録された各種データの初期値を設定したりする処理のことである。初期化処理の詳細は、後述する。ステップSDでは、CPU34cがプレビュー処理を行う。プレビュー処理とは、プレビューの開始および停止を行う処理のことである。プレビュー処理の詳細は、後述する。
ステップSEでは、CPU34cがテンプレート登録処理を行う。テンプレート登録処理とは、[テンプレート画像]ボックスにテンプレート画像を表示し、さらにテンプレート画像をRAM34aに記録する処理のことである。テンプレート登録処理の詳細は、後述する。ステップSFでは、CPU34cがレコード処理を行う。レコード処理とは、レコードの開始および停止を行う処理のことである。レコード処理の詳細は、後述する。
ステップSGでは、CPU34cが画像閲覧処理を行う。画像閲覧処理とは、ユーザがレコード画像ファイルを閲覧するために行う処理のことである。画像閲覧処理の詳細は、後述する。ステップSHでは、ユーザによる[終了]ボタンの押下の有無に応じて処理が分岐する。ユーザが[終了]ボタンを押下した場合、処理はステップSIに移行する。また、ユーザが[終了]ボタンを押下しなかった場合、処理はステップSDに移行する。ステップSIでは、CPU34cがメインウィンドウを非表示とし、ブレード記録ソフトの動作を終了する。
次に、図12を用いて、初期化処理(ステップSC)の流れを説明する。ステップSC1では、CPU34cが、[プレビュー停止]ボタン、[テンプレート登録]ボタン、[レコード開始]ボタン、[レコード停止]ボタンの全てを、ユーザによる操作が無効の状態とする。以下、ボタン等のGUIが、ユーザによる操作無効の状態(例えば、グレー状態)であることを、単に無効と記載し、ユーザによる操作有効の状態であることを、単に有効と記載する。
ステップSC2では、CPU34cが、レコード数Rを0、最大レコード数RmをRiとして、RAM34aに記録する。Riは最大レコード数Rmの初期値であり、Riとして所定の値がRAM34aに記録されている。ステップSC3では、CPU34cが、[レコード数]ボックスにレコード数R(=0)を表示するための処理を行う。ステップSC4では、CPU34cが、[最大レコード数]ボックスに最大レコード数Rmを表示するための処理を行う。
ステップSC5では、CPU34cが、プレビューフラグ、レコードフラグ、保存フラグを、全てOFFとして、RAM34aに記録する。プレビューフラグとは、現在の状態がプレビュー状態かどうかを示すフラグである。レコードフラグとは、現在の状態がレコード中かどうかを示すフラグである。保存フラグとは、レコード中に、後述するバッファ画像をレコード画像ファイルとして保存するかどうかを示すフラグである。以下、ブレード記録ソフトの動作中に使用される全てのフラグはONもしくはOFFの値を取る。ステップSC5の処理が終了すると、処理はステップSDに移行する。
次に、図13を用いて、ステップSDのプレビュー処理の流れを説明する。ステップSD1では、CPU34cが、 [プレビュー開始]ボタンがユーザにより押下されたかどうかを確認する。[プレビュー開始]ボタンが押下された場合、処理はステップSD2に移行し、[プレビュー開始]ボタンが押下されていない場合、処理はステップSD4に移行する。
ステップSD2では、CPU34cが、[プレビュー開始]ボタンを無効、[プレビュー停止]ボタンを有効、[テンプレート登録]ボタンを有効とする。ステップSD3では、CPU34cが、プレビューフラグをONとして、RAM34aに記録する。
ステップSD4では、CPU34cが、RAM34aに記録されたプレビューフラグがONかどうかを確認する。プレビューフラグがONの場合、処理はステップSD5に移行し、OFFの場合、処理はステップSD8に移行する。
ステップSD5では、CPU34cが、画像信号処理装置31から1フレーム分の画像(画像信号)をフレーム画像として取り込む。なお、ステップSD5よりも前の時点で、撮像素子30bは1フレーム分の撮像信号を生成し、画像信号処理装置31はその撮像信号を映像信号に変換し、1フレーム分の画像を生成している。
ステップSD6では、CPU34cが、ステップSD5で取り込んだフレーム画像をRAM34aに記録する。RAM34aに記録されたフレーム画像は、CPU34cがフレーム画像を取り込む度に上書きされる。ステップSD7では、CPU34cが、ステップSD5で取り込んだフレーム画像を[プレビュー画像]ボックスに表示するための処理を行う。
ステップSD8では、CPU34cが、[プレビュー停止]ボタンがユーザにより押下されたかどうかを確認する。[プレビュー停止]ボタンが押下された場合、処理はステップSD9に移行し、[プレビュー停止]ボタンが押下されていない場合、処理はステップSEに移行する。
ステップSD9では、CPU34cが、[プレビュー開始]ボタンを有効、[プレビュー停止]ボタンを無効、[テンプレート登録]ボタンを無効とする。ステップSD10では、CPU34cが、プレビューフラグをOFFとして、RAM34aに記録する。ステップSD10の処理が終了すると、処理はステップSEに移行する。
次に、図14を用いて、ステップSEのテンプレート登録処理の流れを説明する。ステップSE1では、CPU34cが、 [テンプレート登録]ボタンがユーザにより押下されたかどうかを確認する。[テンプレート登録]ボタンが押下された場合、処理はステップSE2に移行し、[テンプレート登録]ボタンが押下されていない場合、処理はステップSFに移行する。
ステップSE2では、CPU34cが、RAM34aに記録されたフレーム画像を、テンプレート画像として、RAM34aに記録する。RAM34aに記録されたテンプレート画像は、[テンプレート登録]ボタンが押下される度に上書きされる。ステップSE3では、CPU34cが、RAM34aに記録されたフレーム画像を[テンプレート画像]ボックスに表示するための処理を行う。具体的には、CPU34cは、RAM34aに記録されたフレーム画像をグラフィック画像信号に重畳する処理を行い、処理後の信号(表示信号)をモニタ22へ出力する。
上記より、ステップSE2〜SE3の処理は、[テンプレート登録]ボタンが押下されたタイミングで取りこまれたフレーム画像を、テンプレート画像として登録する処理であることがわかる。ステップSE4では、CPU34cが[レコード開始]ボタンを有効とする。ステップSE4の処理が終了すると、処理はステップSFに移行する。
次に、図15を用いて、ステップSFのレコード処理の流れを説明する。ステップSF1では、CPU34cが、[レコード開始]ボタンがユーザにより押下されたかどうかを確認する。[レコード開始]ボタンが押下された場合、処理はステップSF2に移行し、[レコード開始]ボタンが押下されていない場合、処理はステップSF9に移行する。
ステップSF2では、CPU34cが、[プレビュー停止]ボタンを無効、[テンプレート登録]ボタンを無効、[レコード開始]ボタンを無効、[レコード停止]ボタンを有効、[画像閲覧]ボタンを無効、[最大レコード数]ボックスを無効とする。ステップSF3では、CPU34cが、レコード数R、相関値C、最大相関値Cm、相関値バッファCb、相関値ステータスScを全て0として(R=0、C=0、Cm=0、Cb=0、Sc=0)、RAM34aに記録する。相関値C、最大相関値Cm、相関値バッファCb、相関値ステータスCdの詳細は、後述する。
ステップSF4では、CPU34cが、[レコード数]ボックスにレコード数R(=0)を表示するための処理を行う。ステップSF5では、CPU34cが、[最大レコード数]ボックスに入力されている最大レコード数Rmを取得し、RAM34aに記録する。ステップSF6では、CPU34cがメモリカード50内に保存フォルダを作成する。このとき、[レコード開始]ボタンがユーザにより押下された日時が、そのまま保存フォルダのフォルダ名となる。
ステップSF7では、CPU34cが、図14のステップSE2でRAM34aに記録されたテンプレート画像を画像ファイルとして(以下、テンプレート画像ファイルと記載)、メモリカード50内の保存フォルダに保存する。このとき、テンプレート画像ファイル名は、「Temp.jpg」となる。ステップSF8では、CPU34cが、レコードフラグをONとして、RAM34aに記録する。
ステップSF9では、CPU34cが、RAM34aに記録されたレコードフラグがONかどうかを確認する。レコードフラグがONの場合、処理はステップSF10に移行し、レコードフラグがOFFの場合、処理はステップSF18に移行する。
ステップSF10では、CPU34cが、テンプレート画像とフレーム画像との相関値を算出し、相関値に基づいて、レコード画像を保存するタイミングを決定する相関処理を実行する。相関処理の詳細は、後述する。ステップSF11では、CPU34cが、RAM34aに記録された保存フラグがONかどうかを確認する。保存フラグがONの場合、処理はステップSF12に移行し、保存フラグがOFFの場合、処理はステップSF18に移行する。
ステップSF12では、CPU34cが、ステップSF10の相関処理中にRAM34aに記録されたレコード画像を[レコード画像]ボックスに表示するための処理を行う。ステップSF13では、CPU34cが、レコード数Rを1つインクリメント(R+1をRに代入)して、RAM34aに記録する。ステップSF14では、CPU34cが、[レコード画像]ボックスにレコード数Rを表示するための処理を行う。
ステップSF15では、CPU34cが、ステップSF10の相関処理中にRAM34aに記録されたレコード画像を、画像ファイルとして、保存フォルダに保存する。ステップSF16では、CPU34cが、保存フラグをOFFとして、RAM34aに記録する。ステップSF17では、CPU34cが、レコード数Rが最大レコード数Rm以上(R≧Rm)であるかどうかを確認する。レコード数Rが最大レコード数Rm以上の場合、処理はステップSF19に移行し、最大レコード数Rm未満の場合、処理はステップSF18に移行する。
ステップSF18では、CPU34cが、[レコード停止]ボタンがユーザにより押下されたかどうかを確認する。[レコード停止]ボタンが押下された場合、処理はステップSF19に移行し、[レコード停止]ボタンが押下されていない場合、処理はステップSGに移行する。
ステップSF19では、CPU34cが、[プレビュー停止]ボタンを有効、[テンプレート登録]ボタンを有効、[レコード開始]ボタンを有効、[レコード停止]ボタンを無効、[画像閲覧]ボタンを有効、[最大レコード数]ボックスを有効とする。ステップSF20では、CPU34cが、レコードフラグをOFFとして、RAM34aに記録する。ステップSF20の処理が終了すると、処理はステップSGに移行する。
次に、図16を用いて、ステップSF10の相関処理の流れを説明する。図16に示す相関処理と実際の相関値の変化との対応関係については、図17を用いて後述する。ステップSF100では、CPU34cが、RAM34aに記録されているテンプレート画像およびフレーム画像の各画素の輝度値(明度値)を取得する。ここで、例えばRGBの各成分の輝度で表された画素の輝度値は、以下の(1)式を用いて算出される。
Y=0.299×R+0.587 ×G+0.114×B ・・・(1)
ステップSF101では、CPU34cが、RAM34aに記録されているテンプレート画像とフレーム画像との相関値Cを算出する。以下、相関値Cの詳細を説明する。ある2枚の画像の画素位置(x,y)の輝度値をそれぞれf1(x,y)、f2(x,y)とすると、2枚の画像の平均輝度値はそれぞれ(2)式、(3)式で表される。但し、X,Yはそれぞれx,y方向の画素数であり、Sizeは全画素数(Size=X×Y)である。
さらに、2枚の画像の標準偏差はそれぞれ(4)式、(5)式で表される。
さらに、2枚の画像の共分散は(6)式で表される。
そして、2枚の画像の相関値Cは(7)式で表される。この相関値Cは、2枚の画像が類似しているかどうかを表す尺度となる。一般的に、類似していれば相関値は1に近い値となり、類似していなければ0に近づく傾向にある。
画像サイズを間引いた上で相関値を求める場合は、上記の各式において、x,yに関する総和を計算する際にx,yの増加ステップ数を変更し、さらに全画素数Sizeを変更すればよい。例えば、画像サイズを1/4に間引いた上で相関値を求める場合、x,yの増加ステップ数を4とし、全画素数SizeをSize=(X×Y)/(4×4)とすればよい。相関処理の速度を向上させたい場合は、間引き処理を用いると、計算量が少なくて済むので有効である。
ステップSF102では、CPU34cが、相関値ステータスScが0(Sc=0)であるかどうかを確認する。相関値ステータスScは、相関値Cのステータスのことである。相関値ステータスScは0〜2の値をとる。相関値ステータスScが0の場合は初期状態であり、1の場合はCPU34cがレコード画像として保存すべきフレーム画像をみつけるまでの状態であり、2の場合はCPU34cがレコード画像として保存すべきフレーム画像をみつけた状態である。相関値ステータスScが0の場合、処理はステップSF103に移行し、相関値ステータスScが0でない場合、処理はステップSF105に移行する。
ステップSF103では、CPU34cが、相関値Cが相関値閾値Ctより大きく(C>Ct)、かつ相関値バッファCbが相関値閾値Ct以下(Cb≦Ct)であるかどうかを確認する。相関値閾値Ctとは、相関値Cの閾値であり、相関値閾値Ctとして所定の値がRAM34aに記録されている。相関値Cが相関値閾値Ctと比べてどのような値をとるかによって、相関値ステータスScが変化する。相関値閾値Ctにどのような値が設定されるかについては、後述する。相関値バッファCbは、CPU34cが1つ前に算出した相関値Cを保持しておくためにRAM34aに設けられたバッファ内の値である。ステップSF103でC>CtかつCb≦Ctの場合、処理はステップSF104に移行し、C≦CtまたはCb>Ctの場合、処理はステップSF105に移行する。
ステップSF104では、CPU34cが、相関値ステータスScを1(Sc=1)として、RAM34aに記録する。ステップSF105では、CPU34cが、相関値ステータスScが1(Sc=1)であるかどうかを確認する。相関値ステータスScが1の場合、処理はステップSF106に移行し、相関値ステータスScが1でない場合、処理はステップSF110に移行する。
ステップSF106では、CPU34cが、相関値Cが最大相関値Cmより大きいかどうか(C>Cm)を確認する。最大相関値Cmとは、相関値Cの最大値を保持しておくためのバッファの値である。C>Cmの場合、処理はステップSF107に移行し、C≦Cmの場合、処理はステップSF108に移行する。
ステップSF107では、CPU34cが、最大相関値Cmを相関値C(Cm=C)として、RAM34aに記録する。ステップSF109では、CPU34cが、フレーム画像をバッファ画像としてRAM34aに記録する。RAM34aに記録されたバッファ画像は、ステップSF109の処理が実行される度に上書きされる。バッファ画像とは、CPU34cが、フレーム画像がレコード画像(テンプレート画像と相関の高い画像)であると確認できるまでフレーム画像を一時的に保持しておくためにRAM34aに設けられたバッファ内の画像のことである。
ステップSF108では、CPU34cが、相関値ステータスScを2(Sc=2)として、RAM34aに記録する。ステップSF110では、CPU34cが、相関値ステータスScが2(Sc=2)であるかどうかを確認する。相関値ステータスScが2の場合、処理はステップSF111に移行し、相関値ステータスScが2でない場合、処理はステップSF116に移行する。
ステップSF111では、CPU34cが、相関値Cが相関値閾値Ctより小さく(C<Ct)かつ相関値バッファCbが相関値閾値Ct以上(Cb≧Ct)であるかどうかを確認する。C<CtかつCb≧Ctの場合、処理はステップSF112に移行し、C≧CtまたはCb<Ctの場合、処理はステップSF116に移行する。
ステップSF112では、CPU34cが、相関値ステータスScを0(Sc=0)として、RAM34aに記録する。ステップSF113では、CPU34cが、最大相関値Cmを0(Cm=0)として、RAM34aに記録する。ステップSF114では、CPU34cが、バッファ画像をレコード画像としてRAM34aに記録する。RAM34aに記録されたレコード画像は、ステップSF114の処理が実行される度に上書きされる。ステップSF115では、CPU34cが、保存フラグをONとして、RAM34aに記録する。
ステップSF116では、CPU34cが、相関値バッファCbを相関値C(Cb=C)として、RAM34aに記録する。ステップSF116の処理が終了すると、処理はステップSF11に移行する。
図17は、相関値Cの経時変化を示すグラフである。以下、図17を参照しながら、レコード処理および相関処理の詳細を説明する。
図17に示すグラフの横軸は時間であり、縦軸はステップSF101でCPU34cが算出する相関値Cである。相関値Cには、周期的に極大値と極小値が現われている。相関値Cが極大値を示す領域は、テンプレート画像とブレード画像との相関値を示している。また、相関値Cが極小値を示す領域は、テンプレート画像とブレードの背景(ジェットエンジンの内壁等)の画像との相関値を示している。相関値閾値Ctは、両者のほぼ中間の値になるように設定され、RAM34aに記録されている。
まず、ユーザが[レコード開始]ボタンを押下したタイミング(t=0)から、相関値Cが相関値閾値Ctより大きくなるタイミング(t=t1)までの間、相関値ステータスScは0(Sc=0)である。続いて、t=t1から、相関値Cが極大値を示すタイミング(t=t2)までの間、相関値ステータスScは1(Sc=1)である。この間、最大相関値Cmは相関値Cに順次更新され(Cm=C:ステップSF107)、かつフレーム画像はバッファ画像としてRAM34aに順次記録される(ステップSF109)。
続いて、t=t2から、相関値Cが相関値閾値Ctより小さくなるタイミング(t=t3)までの間、相関値ステータスScは2(Sc=2)である。この間、最大相関値Cmは更新されず一定のままであり、かつフレーム画像がバッファ画像としてRAM34aに記録されることはない。
続いて、t=t3において、相関値ステータスScは再度0(Sc=0)となり(ステップSF112)、バッファ画像はレコード画像としてRAM34aに記録される(ステップSF114)。このときのバッファ画像は、t=t2において、相関値Cが極大を示すタイミングでのフレーム画像である。これ以降、ユーザが[レコード停止]ボタンを押下するまで、相関値Cが極大を示すタイミング(t=t4,t5,t6,・・・)におけるフレーム画像がレコード画像として順次保存される。
次に、図18を用いて、ステップSGの画像閲覧処理の流れを説明する。ステップSG1では、CPU34cが、[画像閲覧]ボタンがユーザにより押下されたかどうかを確認する。[画像閲覧]ボタンが押下された場合、処理はステップSG2に移行し、[画像閲覧]ボタンが押下されていない場合、処理はステップSHに移行する。
ステップSG2では、CPU34cが、[画像閲覧]ウィンドウを表示するための処理を行う。前述したように、[画像閲覧]ウィンドウが表示されている間、メインウィンドウはユーザによる操作が無効の状態となる。ステップSG3では、CPU34cが初期化処理を行う。初期化処理とは、[画像閲覧]ウィンドウ内の各種GUIの初期状態を設定したり、RAM34aに記録された各種データの初期値を設定したりする処理のことである。初期化処理の詳細は、後述する。
ステップSG4では、CPU34cが日時選択処理行う。日時選択処理とは、ユーザが[日時選択]ボックスのレコード開始日時の選択を変更したことをCPU34cが検出し、[閲覧画像]ボックスに表示される画像を変更する処理のことである。日時選択処理の詳細は、後述する。
ステップSG5では、CPU34cが画像選択処理を行う。画像選択処理とは、ユーザが[<< 前]ボタン、[次 >>]ボタンを押下することをCPU34cが検出し、[閲覧画像]ボックスに表示される画像を変更する処理のことである。画像選択処理の詳細は、後述する。
ステップSG6では、CPU34cが、[閉じる]ボタンがユーザにより押下されたかどうかを確認する。[閉じる]ボタンが押下された場合、処理はステップSG7に移行し、[閉じる]ボタンが押下されていない場合、処理はステップSG4に移行する。ステップSG7では、CPU34cが、[画像閲覧]ウィンドウを非表示とする処理を行う。ステップSG7の処理が終了すると、処理はステップSHに移行する。
次に、図19を用いて、ステップSG3の初期化処理の流れを説明する。ステップSG300では、CPU34cが保存フォルダリストを作成する。ステップSG301では、CPU34cが、作成された保存フォルダリストをRAM34aに記録する。RAM34aに記録された保存フォルダリストは、保存フォルダリストが作成される度に、上書きされる。
ステップSG302では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoが1の保存フォルダ内の画像ファイルリストを作成する。ステップSG303では、CPU34cが、作成された画像ファイルリストをRAM34aに記録する。RAM34aに記録された画像フォルダリストは、画像フォルダリストが作成される度に上書きされる。
ステップSG304では、CPU34cが、保存フォルダリストにおいて、全てのレコード開始日時を[日時選択]ボックスにリスト表示するための処理を行う。ステップSG305では、CPU34cが、[日時選択]ボックスにリスト形式で表示されたレコード開始日時のうち、保存フォルダリストにおいて、保存フォルダNoが1のレコード開始日時を強調表示するための処理を行う。
ステップSG306では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG307では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
ステップSG308では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoが1の保存フォルダ内の画像ファイル数を[画像ファイル数]ボックスに表示するための処理を行う。ステップSG309では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG309の処理が終了すると、処理はステップSG4に移行する。
次に、図20を用いて、ステップSG4の日時選択処理の流れを説明する。ステップSG400では、CPU34cが、[日時選択]ボックスにおけるレコード開始日時の選択がユーザにより変更されたかどうかを確認する。レコード開始日時の選択が変更された場合、処理はステップSG401に移行し、レコード開始日時の選択が変更されていない場合、処理はステップSG5に移行する。
ステップSG401では、CPU34cが、[日時選択]ボックスにおいてユーザが選択したレコード開始日時をもつ保存フォルダの保存フォルダNoを保存フォルダリストから取得する。このとき取得したフォルダナンバーをFとする。ステップSG402では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoがFの保存フォルダ内の画像ファイルリストを作成する。ステップSG403では、CPU34cが、ステップSG402で作成された画像ファイルリストをRAM34aに記録する。RAM34aに記録された画像ファイルリストは、画像ファイルリストが作成される度に上書きされる。
ステップSG404では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG405では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
ステップSG406では、CPU34cが、保存フォルダリストにおいて、フォルダNoが1の保存フォルダ内の画像ファイル数を[画像ファイル数]ボックスに表示するための処理を行う。ステップSG407では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG407の処理が終了すると、処理はステップSG5に移行する。
次に、図21を用いて、ステップSG5の画像選択処理の流れを説明する。ステップSG500では、CPU34cが、[<< 前]ボタンがユーザにより押下されたかどうかを確認する。[<< 前]ボタンが押下された場合、処理はステップSG501に移行し、[<< 前]ボタンが押下されていない場合、処理はステップSG504に移行する。
ステップSG501では、CPU34cが、画像ファイルリストにおいて、現在の[閲覧画像]ボックスに表示されている画像ファイルの画像ファイルNoより、1つ前の画像ファイルNoをもつ画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG502では、CPU34cが、画像ファイルリストにおいて、上記1つ前の画像ファイルNoをもつ画像ファイルの画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
ステップSG503では、CPU34cが、画像ファイルリストにおいて、上記1つ前の画像ファイルNoをもつ画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG504では、CPU34cが、[次 >>]ボタンがユーザにより押下されたかどうかを確認する。[次 >>]ボタンが押下された場合、処理はステップSG505に移行し、[次 >>]ボタンが押下されていない場合、処理はステップSG6に移行する。
ステップSG505では、CPU34cが、画像ファイルリストにおいて、現在の[閲覧画像]ボックスに表示されている画像ファイルの画像ファイルNoより、1つ後の画像ファイルNoをもつ画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG506では、CPU34cが、画像ファイルリストにおいて、上記1つ後の画像ファイルNoをもつ画像ファイルの画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
ステップSG507では、CPU34cが、画像ファイルリストにおいて、上記1つ後の画像ファイルNoをもつ画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG507の処理が終了すると、処理はステップSG6に移行する。
本実施形態の変形例として、ジェットエンジン1の個体を識別する手段を設けると共にジェットエンジン1毎のタービンブレード10の最大枚数を内視鏡装置3に記憶させておき、識別されたジェットエンジン1に対応した最大枚数をブレード記録ソフトの動作時に用いてもよい。ジェットエンジン1の個体を識別する手段としては、例えばバーコードやICタグ等をジェットエンジン1に取り付け、バーコードリーダやICタグリーダ等の読み取り器を内視鏡装置3に接続し、読み取り器でバーコードやICタグ等からジェットエンジン1の識別情報を読み取るようにすればよい。
本実施形態によれば、以下の効果を得ることができる。本実施形態では、タービンブレードを撮像した複数のフレーム画像の中から、テンプレート画像との画像比較の結果である相関値に基づいて、一部のフレーム画像を選択することによって、フレーム画像内のタービンブレードの位置や角度がテンプレート画像内のタービンブレードの位置や角度と同じになったときのフレーム画像を取得することができる。そのため、タービンブレードの回転と撮像のタイミングを合わせるための特別な制御を必要とせず、簡易な方法でタービンブレードの画像を取得することができる。
本実施形態で示した手法により取得したタービンブレードの画像を用いて、タービンブレードの検査を行うことが可能となる。特に、図6のレコード画像ボックス603にレコード画像を表示することによって、タービンブレードの検査をリアルタイムで行うことができる。また、このレコード画像を画像ファイルとして記録媒体に保存することによって、検査を行うことが可能な時間や場所を拡張することができる。さらに、タービンブレードの画像を保存する場合に、内視鏡映像をそのまま動画ファイルとして保存すると、ファイルサイズが大きくなってしまうが、本実施形態のように、内視鏡映像のうち、一部のフレーム画像を静止画像ファイルとして保存することによって、記録媒体の記録容量が圧迫されることを防ぎながら、検査に必要なタービンブレードの画像を保存することができる。
また、テンプレート画像を基準にして、フレーム画像内のタービンブレードの位置や角度がテンプレート画像内のタービンブレードの位置や角度と同じになったときのフレーム画像を取得することによって、ユーザにとってタービンブレードの検査を行うのに適した状態で撮像したフレーム画像を取得することができ、検査を効率的に行うことができる。また、フレーム画像の中から選択したテンプレート画像を使用することによって、図17に示した相関値の経時変化がはっきりとするので、所望の状態で撮像したフレーム画像を取得する精度を向上することができる。さらに、フレーム画像の中から選択したテンプレート画像を表示することによって、取得するフレーム画像内のタービンブレードの状態がユーザにとって適した状態となっているか否かをユーザに確認させることができる。
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。第1の実施形態では、フレード記録ソフトの[画像閲覧]ウィンドウにはレコード画像ファイルの閲覧機能のみが搭載されていたが、本実施形態における[画像閲覧]ウィンドウには、レコード画像ファイルの閲覧機能だけでなく、ブレードの欠陥抽出機能およびステレオ計測機能が搭載されている。
図22は、本実施形態における[画像閲覧]ウィンドウを示している。図22に示す[画像閲覧]ウィンドウ2200において、第1の実施形態における[画像閲覧]ウィンドウ700(図7)と異なるのは、[画像閲覧]ウィンドウ2200の右側に[欠陥検査]グループボックス2201が配置されている点である。[欠陥検査]グループボックス2201内には、欠陥抽出およびステレオ計測を行うための各種GUIが配置されている。以下では、閲覧画像2202が、同一被写体に関する2つの被写体像を結像可能なステレオ光学アダプタを通して撮像された左右一対の画像である場合を中心として説明する。ステレオ光学アダプタは内視鏡挿入部20の先端に装着される。以下、左側に表示される画像を左画像、右側に表示される画像を右画像と記載する。
以下、[欠陥抽出]グループボックス2201内の各種GUIの機能を説明する。[欠陥抽出]チェックボックス2210は、閲覧画像2202に対して、欠陥抽出処理を行うためのチェックボックスである。ユーザが[欠陥抽出]チェックボックス2210にチェックを入れると、図23のように、閲覧画像2202上に欠陥輪郭線2230が重畳表示される。欠陥抽出処理の詳細は、後述する。
[輝度閾値]バー2211は、後述する欠陥抽出処理の検査パラメータの1つである輝度閾値を設定するためのバーである。輝度閾値は、欠陥抽出処理において、閲覧画像2202を2値化する際に使用される。[面積閾値]バー2212は、後述する欠陥抽出処理の検査パラメータの1つである面積閾値を設定するためのバーである。面積閾値は、欠陥抽出処理において、閲覧画像内の小さなブロブ(Blob、粒子)を除去する際に使用される。[輝度選択]ラジオボタン2213は、後述する欠陥抽出処理の検査パラメータの1つである輝度値の種類を設定するためのラジオボタンである。輝度値は、欠陥抽出処理において、画像をグレースケール画像に変換する際に使用される。
[ステレオ計測]チェックボックス2220は、閲覧画像2202に対して、後述するステレオ計測を行うためのチェックボックスである。[欠陥抽出]チェックボックス2210にチェックが入った状態で、ユーザが[ステレオ計測]チェックボックス2220にチェックを入れると、図24のように、閲覧画像2202に計測領域線2240が重畳表示され、欠陥抽出処理によって抽出された欠陥に対して、ステレオ計測が可能な状態となる。
計測領域線2240は、閲覧画像2202内においてステレオ計測を行うことが可能な領域の境界線であり、左右一対の矩形線で表示される。そして、図25のように、閲覧画像2202の左画像上に重畳表示された欠陥の輪郭線2230に、ユーザがカーソル2250を移動させ、左クリック等で欠陥の輪郭線2230を指定すると、図26のように、欠陥輪郭線2230が欠陥矩形線2260で囲まれ、左画像上に計測点2270が表示されると共に、右画像上にマッチング点2271が表示される。欠陥矩形線、計測点、マッチング点の詳細は、後述する。さらに、後述する[計測結果]ボックス2222に、指定された欠陥に対するステレオ計測の結果が表示される。
図22の[環境データ]ボタン2221は、環境データを選択するためのボタンである。環境データは、ステレオ計測を行う際に使用するデータであり、ステレオ光学アダプタの光学的歪みを補正するためのデータ等が含まれる。環境データは、特開2001−275934号公報に記載されているものと同様である。
[環境データ]ボタン2221が押下されると、図示しないファイル選択ダイアログが開く。そして、このファイル選択ダイアログにおいて、ユーザが環境データを選択する。このとき選択される環境データは、画像を撮像する際に使用したステレオ光学アダプタに対応したデータである。そして、[ステレオ計測]チェックボックス2220が無効状態から有効状態へ切り替わり、[ステレオ計測]チェックボックス2220にチェックを入れることが可能となる。
なお、[ステレオ計測]チェックボックスおよび[環境データ]ボタンは、閲覧画像がステレオ計測用の画像(左右1対の画像)でなかった場合、常に無効となり、ステレオ計測を行うことはできない状態となる。
[計測結果]ボックス2222は、計測結果を表示するためのボックスである。計測結果には、距離、幅1,2、周囲長、面積の5つがある。計測結果の詳細は、後述する。
次に、図27を用いて、本実施形態における画像閲覧処理の流れを説明する。図27に示すステップSG3aの初期化処理、ステップSG4aの日時選択処理、ステップSG5aの画像選択処理の内容は、第1の実施形態における画像閲覧処理の流れ(図18)と異なる。また、図27に示すステップSG5aとステップSG6との間に、ステップSG8の欠陥抽出処理、ステップSG9のステレオ計測前処理、ステップSG10の欠陥指定処理が追加されていることも、第1の実施形態における処理の流れ(図18)と異なる。以下、第1の実施形態における画像閲覧処理の流れ(図18)と異なる点のみ、説明する。
ステップSG3aでは、CPU34cが初期化処理を行う。初期化処理の詳細は、後述する。ステップSG4aでは、CPU34cが日時選択処理を行う。日時選択処理の詳細は、後述する。ステップSG5aでは、CPU34cが画像選択処理を行う。画像選択処理の詳細は、後述する。
ステップSG8では、CPU34cが欠陥抽出処理を行う。欠陥抽出処理とは、設定された検査パラメータに基づいて、閲覧画像上の欠陥を抽出する処理を行い、抽出した欠陥を閲覧画像に重畳表示する処理のことである。欠陥抽出処理の詳細は、後述する。
ステップSG9では、CPU34cがステレオ計測前処理を行う。ステレオ計測前処理とは、選択された環境データに基づいて、閲覧画像の補正を行い、閲覧画像をステレオ計測が可能な状態とする処理のことである。ステレオ計測前処理の詳細は、後述する。
ステップSG10では、CPU34cが欠陥指定処理を行う。欠陥指定処理とは、CPU34cが、閲覧画像に重畳表示された欠陥をユーザが指定したことを検出し、[計測結果]ボックスに欠陥サイズの計測結果を表示する処理のことである。欠陥指定処理の詳細は、後述する。
次に、図28を用いて、ステップSG3aの初期化処理の流れを説明する。図28に示すステップSG309の後にステップSG310およびステップSG311が追加されている点が、第1の実施形態における初期化処理の流れ(図19)と異なる。以下、第1の実施形態における初期化処理の流れ(図19)と異なる点のみ、説明する。
ステップSG310では、CPU34cが[ステレオ計測]チェックボックスを無効とする。ステップSG311では、CPU34cが、欠陥抽出フラグをOFF、ステレオ計測フラグをOFFとして、RAM34aに記録する。欠陥抽出フラグとは、欠陥抽出処理を行うかどうかを示すフラグである。ステレオ計測フラグとは、ステレオ計測前処理を行うかどうかを示すフラグである。
次に、図29を用いて、ステップSG4aの日時選択処理の流れを説明する。図29に示すステップSG407の後にステップSG408が追加されている点が、第1の実施形態における日時選択処理の流れ(図20)と異なる。以下、第1の実施形態における日時選択処理の流れ(図20)と異なる点のみ、説明する。
ステップSG408では、CPU34cが、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとして、RAM34aに記録する。ステップSG408において、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとするのは、ステップSG400において、[日時選択]ボックスのレコード開始日時の選択が変更されると、閲覧画像が変更されることにより、欠陥抽出処理およびステレオ計測前処理を改めて行う必要があるからである。なお、ステップSG404において、画像ファイルが[閲覧画像]ボックスに表示されるとき、既に重畳表示された計測領域線等は全て非表示となる。
次に、図30を用いて、ステップSG5の画像選択処理の流れを説明する。図30に示すステップSG503の後にステップSG508が追加され、ステップSG507の後にステップSG509が追加されている点が、第1の実施形態における画像選択処理の流れ(図21)と異なる。以下、第1の実施形態における画像選択処理の流れ(図21)と異なる点のみ、説明する。
ステップSG508では、CPU34cが、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとして、RAM34aに記録する。ステップSG509では、CPU34cが、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとして、RAM34aに記録する。ステップSG508,SG509において、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとするのは、ステップSG500,SG504において、[<< 前]ボタン、[次 >>]ボタンが押下されると、閲覧画像が変更されることにより、欠陥抽出処理およびステレオ計測前処理を改めて行う必要があるからである。なお、ステップSG501,SG505において、画像ファイルが[閲覧画像]ボックスに表示されるとき、既に重畳表示された計測領域線等は全て非表示となる。
次に、図31および図32を用いて、ステップSG8の欠陥抽出処理の流れを説明する。ステップSG800では、CPU34cが、[欠陥抽出]チェックボックスにチェックがあるかどうかを確認する。[欠陥抽出]チェックボックスにチェックがある場合、処理はステップSG801に移行し、[欠陥抽出]チェックボックスにチェックがない場合、処理はステップSG802に移行する。
ステップSG801では、CPU34cが、[輝度閾値]バーから輝度閾値Yt、[面積閾値]バーから面積閾値At、[輝度選択]ラジオボタンから輝度選択Sをそれぞれ取得し、RAM34aに記録する。ステップSG802では、CPU34cが、 [欠陥抽出]チェックボックスにチェックを入れる指示がユーザからあったかどうかを確認する。[欠陥抽出]チェックボックスにチェックを入れる指示があった場合、処理はステップSG803に移行し、[欠陥抽出]チェックボックスにチェックを入れる指示がない場合、処理はステップSG9に移行する。
ステップSG803では、ステップSG801と同様、CPU34cが、[輝度閾値]バーから輝度閾値Yt、[面積閾値]バーから面積閾値At、[輝度選択]ラジオボタンから輝度選択Sをそれぞれ取得し、RAM34aに記録する。また、CPU34cは、[欠陥抽出]チェックボックスにチェックを入れる処理を行う。
ステップSG804では、CPU34cが、ステップSG803で取得した輝度閾値Yt、面積閾値At、輝度選択Sを、それぞれ前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slとし、RAM34aに記録する。前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slとは、前回欠陥抽出処理が行われた際に使用された、輝度閾値Yt、面積閾値At、輝度選択Sを、それぞれ一時的に記録したものである。ステップSG805では、CPU34cが、欠陥抽出フラグをONとして、RAM34aに記録する。
ステップSG806では、CPU34cが、輝度閾値Yt、面積閾値At、輝度選択Sが、それぞれ前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slと、全て等しいかどうかを確認する。ステップSG806の処理は、前回欠陥抽出処理が行われた際に使用された検査パラメータがユーザによって変更されたかどうかを確認する処理である。全ての検査パラメータが前回と同一の場合、処理はステップSG808に移行し、1つ以上の検査パラメータが前回と異なる場合、処理はステップSG807に移行する。ステップSG807では、CPU34cが、欠陥抽出フラグをONとして、RAM34aに記録する。
ステップSG808では、CPU34cが、欠陥抽出フラグがONかどうかを確認する。欠陥抽出フラグがONの場合、処理はステップSG809に移行し、欠陥抽出フラグがOFFの場合、処理はステップSG821に移行する。
以下、ステップSG809〜SG818では、適宜図33も用いて説明する。ステップSG809では、CPU34cが、保存フォルダに保存されたテンプレート画像ファイルおよび閲覧画像ファイルの画像データを取得し、RAM34aに記録する。この画像データとは、画像の各画素のRGB輝度値を指す。
ステップSG810では、CPU34cが、ステップSG801またはステップSG803でRAM34aに記録された輝度選択Sに基づいて、取得された2枚の画像データを、グレースケール画像に変換する。輝度選択Sが「Gray」であったとき、グレースケール画像の各画素の輝度値Yは、画像データの各画素のRGB輝度値から、以下の(8)式で算出される。
Y=0.299×R+0.587 ×G+0.114×B ・・・(8)
また、輝度選択Sが「R」、「G」、「B」のいずれかであったとき、画像データの各画素のR、G、Bそれぞれの輝度値が、そのままグレースケール画像の各画素の輝度値Yとなる。
ステップSG811では、CPU34cが、ステップSG810で作成された2枚のグレースケール画像の差分をとった画像(以下、差分画像と記載)を作成する。図33には、テンプレート画像のグレースケール画像3300と閲覧画像のグレースケール画像3301との間で差分を取ることにより、差分画像3310が作成される様子が示されている。
ステップSG812では、CPU34cが、RAM34aに記録された輝度閾値Ytに基づいて差分画像を2値化し、2値画像を作成する。図33には、差分画像3310を2値化することにより、2値画像3320が作成される様子が示されている。
ステップSG813では、CPU34cが、作成された2値画像に対して、膨張・収縮処理を行い、小さなノイズを除去する。ステップSG814では、CPU34cが、ステップSG813でノイズを除去した2値画像に対してラベリング処理を行い、ブロブ(粒子)を抽出する。ステップSG815では、CPU34cが、RAM34aに記録された面積閾値Atより小さな面積をもつブロブを、ステップSG814でノイズを除去した画像から除去する。図33には、2値画像3320から小さなブロブが除去された様子が示されている。
ステップSG816では、CPU34cが、ステップSG814で小さなブロブが除去された2値画像から、残ったブロブの輪郭線を欠陥輪郭線として抽出する。図33には、ブロブの輪郭線3330が抽出された様子が示されている。ステップSG817では、CPU34cが、ステップSG816で抽出された欠陥輪郭線の座標をRAM34aに記録する。
ステップSG818では、CPU34cが、RAM34aに記録された欠陥輪郭線の座標に基づいて、閲覧画像に欠陥輪郭線を重畳表示する処理を行う。図33には、閲覧画像3340に欠陥輪郭線3330が重畳表示された様子が示されている。ステップSG819では、CPU34cが、ステップSG801またはステップSG803でRAM34aに記録された輝度閾値Yt、面積閾値At、輝度選択Sを、それぞれ前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slとし、RAM34aに記録する。
ステップSG820では、CPU34cが、欠陥抽出フラグをOFFとして、RAM34aに記録する。ステップSG821では、CPU34cが、[欠陥抽出]チェックボックスからチェックを外す指示がユーザからあったかどうかを確認する。[欠陥抽出]チェックボックスからチェックを外す指示があった場合、処理はステップSG822に移行し、[欠陥抽出]チェックボックスからチェックを外す指示がない場合、処理はステップSG9に移行する。
ステップSG822では、CPU34cが、ステップSG817でRAM34aに記録された欠陥輪郭線の座標に基づいて、閲覧画像に表示された欠陥輪郭線を非表示とする処理を行う。また、CPU34cは、[欠陥抽出]チェックボックスからチェックを外す処理を行う。ステップSG822の処理が終了すると、処理はステップSG9に移行する。
次に、図34を用いて、ステップSG9のステレオ計測前処理の流れを説明する。ステップSG900では、CPU34cが、[環境データ]ボタンがユーザにより押下されたかどうかを確認する。[環境データ]ボタンが押下された場合、処理はステップSG901に移行し、[環境データ]ボタンが押下されていない場合、処理はステップSG905に移行する。
ステップSG901では、CPU34cが、図示しない[ファイルを開く]ダイアログを表示するための処理を行う。ステップSG902では、CPU34cが、[ファイルを開く]ダイアログにおいてユーザにより環境データが選択されたかどうかを確認する。環境データが選択された場合、処理はステップSG903に移行し、環境データが選択されていない場合、処理はステップSG905に移行する。
ステップSG903では、CPU34cが、選択された環境データをRAM34aに記録する。RAM34aに記録された環境データは、環境データが選択される度に上書きされる。ステップSG904では、CPU34cが[ステレオ計測]チェックボックスを有効にする。ステップSG905では、CPU34cが、[ステレオ計測]チェックボックスにチェックがあるかどうかを確認する。[ステレオ計測]チェックボックスにチェックがある場合、処理はステップSG908に移行し、[ステレオ計測]チェックボックスにチェックがない場合、処理はステップSG906に移行する。
ステップSG906では、CPU34cが、[ステレオ計測]チェックボックスにチェックを入れる指示がユーザからあったかどうかを確認する。[ステレオ計測]チェックボックスにチェックを入れる指示があった場合、処理はステップSG907に移行し、[ステレオ計測]チェックボックスにチェックを入れる指示がない場合、処理はステップSG10に移行する。
ステップSG907では、CPU34cが、ステレオ計測フラグをONとして、RAM34aに記録する。また、CPU34cは、[ステレオ計測]チェックボックスにチェックを入れる処理を行う。ステップSG908では、CPU34cが、ステレオ計測フラグがONかどうかを確認する。ステレオ計測フラグがONの場合、処理はステップSG909に移行し、ステレオ計測フラグがOFFの場合、処理はステップSG10に移行する。
ステップSG909では、CPU34cが、RAM34aに記録されている計測領域線の座標に基づいて、閲覧画像に計測領域線を重畳表示する処理を行う。計測領域線の座標は、環境データの一部として、RAM34aに記録されている。
ステップSG910では、CPU34cが、保存フォルダに保存された閲覧画像ファイルの画像データを取得し、RAM34aに記録する。ステップSG911では、CPU34cが、ステップSG910で取得された画像データを補正する。ステップSG911で行われる補正処理は、特開平10−248806号公報に記載されているものと同様である。
ステップSG912では、CPU34cが、ステップSG911で補正された画像データを、補正画像データとしてRAM34aに記録する。RAM34aに記録された補正画像データは、補正画像データが作成される度に上書きされる。ステップSG913では、CPU34cが、ステレオ計測フラグをOFFとして、RAM34aに記録する。
ステップSG914では、CPU34cが、[ステレオ計測]チェックボックスからチェックを外す指示がユーザからあったかどうかを確認する。[ステレオ計測]チェックボックスからチェックを外す指示があった場合、処理はステップSG915に移行し、[ステレオ計測]チェックボックスからチェックを外す指示がない場合、処理はステップSG10に移行する。ステップSG915では、CPU34cが、RAM34aに記録されている計測領域線の座標に基づいて、閲覧画像に表示された計測領域線を非表示とする処理を行なう。また、CPU34cは、[ステレオ計測]チェックボックスからチェックを外す処理を行う。ステップSG915の処理が終了すると、処理はステップSG10に移行する。
次に、図35を用いて、ステップSG10の欠陥指定処理の流れを説明する。ステップSG1000では、CPU34cが、[ステレオ計測]チェックボックスにチェックがあるかどうかを確認する。[ステレオ計測]チェックボックスにチェックがある場合、処理はステップSG1001に移行し、[ステレオ計測]チェックボックスにチェックがない場合、処理はステップSG6に移行する。
ステップSG1001では、CPU34cが、閲覧画像の左側計測領域内に表示された欠陥輪郭線がユーザにより指定されたかどうかを確認する。欠陥輪郭線がユーザにより指定された場合、処理はステップSG1002に移行し、欠陥輪郭線がユーザにより指定されていない場合、処理はステップSG6に移行する。
ステップSG1002では、CPU34cが、既に閲覧画像に重畳表示された欠陥矩形線、計測点、マッチング点を非表示とする処理を行う。ステップSG1003では、CPU34cが、閲覧画像に欠陥矩形線を重畳表示する処理を行う。欠陥矩形線とは、ユーザにより指定された欠損領域線の周囲に表示される矩形線であり、現在ユーザにより指定されている欠陥輪郭線であることを示す。
以下、ステップSG1004〜SG1009では、適宜図36も用いて説明する。ステップSG1004では、CPU34cが、RAM34aに記録された、現在ユーザにより指定されている欠陥輪郭線の座標に基づいて、計測点座標を算出する。計測点とは、欠陥のサイズを計測する際に用いる点である。図36(a),(b)のように、計測点3610は欠陥輪郭線3600上において等間隔に位置している。
ステップSG1005では、CPU34cが、閲覧画像の画像データに基づいて、左側計測領域内の計測点座標に対応した、右側計測領域内のマッチング点座標を算出する。より具体的には、CPU34cが、計測点座標に基づいてパターンマッチング処理を実行し、左右2画像の対応点であるマッチング点の座標を算出する。このパターンマッチング処理の方法は、特開2004−49638号公報に記載されたものと同様である。
ステップSG1006では、CPU34cが、ステップSG1004〜SG1005で算出された計測点座標およびマッチング点座標に基づいて、各計測点の空間点座標(現実の空間上の3次元座標)を算出する。空間点座標の計算方法は、特開2004−49638号公報に記載されているものと同様である。
ステップSG1007では、CPU34cが、ステップSG1006で算出された空間点座標に基づいて、計測結果を算出する。計測結果は、欠陥の距離、幅1,2、周囲長、面積の5種類を含む。
距離とは、全ての空間点の奥行き方向の座標の平均値である。幅1とは、図36(c),(d)のように、全ての計測点座標から求めた等価楕円3620と、その長軸3621との交点から最近傍にある計測点同士の空間距離である。幅2とは、図36(c),(d)のように、等価楕円3620とその短軸3622との交点から最近傍にある計測点同士の空間距離である。なお、等価楕円とは、複数の座標から近似できる楕円である。周囲長とは、図36(e)のように、全ての隣り合う計測点の空間点距離3630の合計である。面積とは、図36(f)のように、全ての隣り合う計測点によって囲まれた領域3640の空間面積である。
ステップSG1008では、CPU34cが、閲覧画像の左側計測領域内に計測点を重畳表示すると共に右側計測領域内にマッチング点を重畳表示する処理を行う。ステップSG1009では、CPU34cが、ステップSG1007で算出された計測結果を[計測結果]ボックスに表示する処理を行う。ステップSG1009の処理が終了すると、処理はステップSG6に移行する。
本実施形態では、ステレオ光学アダプタを使用して撮像した閲覧画像を用いているが、欠陥抽出処理に関しては、ステレオ光学アダプタ以外の光学アダプタを使用して撮像した閲覧画像を用いることも可能である。図37に示す[画像閲覧]ウィンドウ3700では、光学アダプタにより結像された1つの被写体像を撮像した閲覧画像3701が表示されている。ユーザが[欠陥抽出]チェックボックス3710にチェックを入れると、図38のように、閲覧画像3701上に欠陥輪郭線3720が重畳表示される。
また、本実施形態では、図23のように、閲覧画像2202において、欠陥抽出処理によって抽出された欠陥に対応する位置に欠陥輪郭線2230が表示されるが、欠陥の位置を明示できるものであれば、表示するのは線でなくてもよい。例えば、欠陥に対応する位置に矢印等の図形を表示したり、「欠陥」等の文字を表示したりしてもよい。
本実施形態によれば、閲覧画像とテンプレート画像との差分を抽出することによって、欠陥の種類によらずブレードの欠陥を抽出することができる。さらに、抽出された欠陥上に欠陥輪郭線等を重畳表示することによって、ユーザが欠陥の位置を認識しやすくなる。
また、抽出された欠陥に対して計測を実行することによって、欠陥のサイズを知ることができる。さらに、閲覧画像上に表示された欠陥のうち、ユーザが欠陥輪郭線を指定することによって指定した欠陥に対して計測を実行することによって、ユーザが希望する欠陥のサイズを知ることができる。さらに、ステレオ光学アダプタを使用して撮像した閲覧画像を用いて欠陥抽出処理を行い、抽出された欠陥に基づいてステレオ計測を実行することによって、欠陥の3次元サイズを知ることができる。
(第3の実施形態)
次に、本発明の第3の実施形態を説明する。第1の実施形態では、ユーザはフレード記録ソフトにおいて、最大レコード数を指定する必要があった。これに対して、本実施形態では、ユーザは必ずしも最大レコード数を指定する必要はなく、フレード記録ソフトが1周分のブレード枚数を自動的にカウントし、その枚数だけレコードを行うことができる。
以下、図39および図40を用いて、本実施形態におけるレコード処理の動作の流れを説明する。図39に示すステップSF3bの内容が、第1の実施形態におけるレコード処理の流れ(図15)と異なる。また、図40に示すステップSF10とステップSF11の間にステップSF21が追加されている点も、第1の実施形態におけるレコード処理の流れ(図15)と異なる。以下、第1の実施形態におけるレコード処理の流れ(図15)と異なる点のみ、説明する。
ステップSF3bでは、CPU34cが、レコード数R、相関値C、最大相関値Cm、相関値バッファCb、相関値ステータスSc、レコードステータスSrを全て0(R=0、C=0、Cm=0、Cb=0、Sc=0、Sr=0)として、RAM34aに記録する。レコードステータスとは、ユーザにより[レコード開始]ボタンが押下された後、レコード処理がどのような状態にあるかを示すステータスであり、0〜2の値をもつ。レコードステータスSrが0の場合、レコード処理はレコード開始前の状態にある。レコードステータスSrが1の場合、レコード処理はレコード実行中の状態にある。レコードステータスSrが2の場合、レコード処理はレコード停止後の状態にある。
ステップSF21では、CPU34cが、レコードステータスSrが2であるかどうかを確認する。レコードステータスSrが2である場合、処理はステップSF19に移行し、レコードステータスSrが2でない場合、処理はステップSF11に移行する。
次に、図41および図42を用いて、本実施形態における相関処理の流れを説明する。図42に示すステップSF117〜SF121が追加されている点が、第1の実施形態における相関処理の流れ(図16)と異なる。以下、第1の実施形態における相関処理の流れ(図16)と異なる点のみ、説明する。
ステップSF117では、CPU34cが、レコードステータスが0(Sr=0)であるかどうかを確認する。レコードステータスが0である場合、処理はステップSF118に移行し、レコードステータスが0でない場合、処理はステップSF120に移行する。
ステップSF118では、CPU34cが、最大相関値Cmが閾値Crより大きいかどうか(Cm>Cr)を確認する。閾値Crは相関値Cの閾値である。後述するように、CrはCtより大きく(Cr>Ct)、1に非常に近い所定の値がCrに割り当てられる(Cr≒1)。Cm>Crの場合、処理はステップSF119に移行し、Cm≦Crの場合、処理はステップSF116に移行する。
ステップSF119では、CPU34cが、レコードステータスSrを1(Sr=1)として、RAM34aに記録する。ステップSF120では、CPU34cが、最大相関値Cmが閾値Crより大きいかどうか(Cm>Cr)を確認する。Cm>Crの場合、処理はステップSF121に移行し、Cm≦Crの場合、処理はステップSF112に移行する。ステップSF121では、CPU34cが、レコードステータスSrを2(Sr=2)として、RAM34aに記録する。
図43は、相関値C(テンプレート画像との類似度)の経時変化を示すグラフである。以下、図43を参照しながら、本実施形態におけるレコード処理の詳細を説明する。
図43に示すグラフの横軸は時間であり、縦軸はステップSF101でCPU34cが算出する相関値Cである。相関値Cには、第1の実施形態と同様に、周期的に極大値と極小値が現われている。相関値Cが極大値を示す領域は、テンプレート画像とブレード画像との相関値を示している。また、相関値Cが極小値を示す領域は、テンプレート画像とブレードの背景(ジェットエンジンの内壁等)の画像との相関値を示している。
相関値閾値Ctは、第1の実施形態と同様に、極大値と極小値のちょうど中間の値になるように設定され、RAM34aに記録されている。相関値閾値Crは、Ctより大きく(Cr>Ct)、1に非常に近い値になるように設定され(Cr≒1)、RAM34aに記録されている。
まず、ユーザが[レコード開始]ボタンを押下したタイミング(t=0)から、相関値Cが相関値閾値Crより大きくなるタイミング(t=t1)までの間、レコードステータスSrは0(Sr=0)である。レコードステータスSrが0の間、CPU34cは、まだレコードを開始しない。
続いて、t=t1から、相関値Cが相関値閾値Crより再度大きくなるタイミング(t=t2)までの間、レコードステータスSrは1(Sr=1)である。この間に、CPU34cはレコードを開始し、バッファ画像をレコード画像ファイルとして順次保存する(ステップSF114)。回転しているブレードが撮像されるため、ブレードの配置順に従って、各ブレードを撮像した画像がレコード画像ファイルとして順次保存される。
t=t1において、最大相関値Cmが相関値閾値Crより大きい値を示したということは、最大相関値Cmが1に非常に近い値(Cm≒1)を示したということである。そのため、このときバッファ画像に写っているブレードは、テンプレート画像に写っているブレードと同じものであると考えることができる。このタイミングで、CPU34cはレコードを開始することになる。続いて、t=t2において、レコードステータスSrは2(Sr=2)となり、CPU34cはレコードを停止する。
t=t2において、最大相関値Cmが相関値閾値Crより大きい値を再度示したということは、最大相関値Cmが1に非常に近い値(Cm≒1)を示したということである。そのため、このときバッファ画像に写っているブレードは、テンプレート画像に写っているブレードと同じものであると考えることができ、t=t1の状態からブレードがちょうど1周したと考えることができる。このタイミングで、CPU34cはレコードを停止することになる。最終的に、CPU34cは、1周分のブレードに対応する16枚のブレード画像を、レコード画像ファイルとして保存する。
図44は、本実施形態における[画像閲覧]ウィンドウを示している。第1の実施形態における[画像閲覧]ウィンドウと異なるのは、[画像閲覧]ウィンドウの右側に[ブレード配置]イラスト4400が配置されている点である。
[ブレード配置]イラスト4400には、タービンブレード10の1周分の枚数のブレードのイラスト(模式図)が表示され、さらにその周囲にブレードNo(ブレードナンバー)が表示される。図44では、16枚のブレードおよび1〜16のブレードNoが表示される。このブレードNoは、画像ファイルリストにおけるファイルNoと一致する。但し、テンプレート画像ファイルのファイルNo(=17)のみ表示されない。さらに、[ブレード配置]イラスト4400において、ブレードNoが1のブレードは青く表示され、閲覧画像に写っているブレードは赤く表示される。図44では、閲覧画像のブレードNoは10である。また、前述したように、バッファ画像に写っているブレードが、テンプレート画像に写っているブレードと同じものであるときにレコードが開始されるので、テンプレート画像に写っているブレードに対応する閲覧画像のブレードNoは1である。
[<< 前]ボタン4420もしくは[次 >>]ボタン4421が押下されると、画像ファイルリストにおいて、[閲覧画像]ボックス4410に表示されている画像ファイルより1つ小さなファイルNoもしくは1つ大きなファイルNoをもつ画像ファイルが表示される。これによって、図45のように、[画像ファイル名]ボックス4430に表示されている画像ファイル名が切り替わり、 [ブレード配置]イラスト4400上で、赤く表示されるブレードも切り替わる。
さらに、図46のように、[ブレード配置]イラスト4400上のブレードがユーザにより押下されると、閲覧画像が、選択されたブレードのブレードNoと一致するファイルNoをもつ画像ファイルに切り替わる。それに伴い、[画像ファイル名]ボックス4430に表示されている画像ファイル名も切り替わる。
次に、図47を用いて、本実施形態における画像閲覧処理の流れを説明する。図47に示すステップSG3bの初期化処理、ステップSG4bの日時選択処理、ステップSG5bの画像選択処理の内容が、第1の実施形態における画像閲覧処理の流れ(図18)と異なる。以下、第1の実施形態における画像閲覧処理の流れ(図18)と異なる点のみ、説明する。
ステップSG3bでは、CPU34cが初期化処理を行う。初期化処理の詳細は、後述する。
ステップSG4bでは、CPU34cが日時選択処理を行う。日時選択処理の詳細は、後述する。
ステップSG5bでは、CPU34cが画像選択処理を行う。画像選択処理の詳細は、後述する。
次に、図48を用いて、ステップSG3bの初期化処理の流れを説明する。図48に示すステップSG309の後にステップSG312〜SG314が追加されている点が、第1の実施形態における初期化処理の流れ(図19)と異なる。以下、第1の実施形態における初期化処理の流れ(図19)と異なる点のみ、説明する。
ステップSG312では、CPU34cが、[ブレード配置]イラストに1周分のブレードおよびブレードNoを表示するための処理を行う。1周分のブレード枚数は、画像ファイルリストにおいて、ファイル枚数から1を引いた数となる。1を引くのは、テンプレート画像ファイルを除くためである。
ステップSG313では、CPU34cが、[ブレード配置]イラストのブレードNoが1のブレードを青く表示する。これは、テンプレート画像に写っているブレードに相当する。ステップSG314では、CPU34cが、[ブレード配置]イラストのブレードNoが1のブレードを赤く表示する。これは、閲覧画像に写っているブレードに相当する。ステップSG314の処理が終了すると、処理はステップSG4bに移行する。
次に、図49を用いて、ステップSG4bの日時選択処理の流れを説明する。図49に示すステップSG407の後にステップSG409〜SG411が追加されている点が、第1の実施形態における日時選択処理の流れ(図20)と異なる。以下、第1の実施形態における日時選択処理の流れ(図20)と異なる点のみ、説明する。
ステップSG409では、CPU34cが、[ブレード配置]イラストに1周分のブレードおよびブレードNoを表示するための処理を行う。ステップSG410では、CPU34cが、[ブレード配置]イラストのブレードNoが1のブレードを青く表示するための処理を行う。ステップSG411では、CPU34cが、[ブレード配置]イラストのブレードNoが1のブレードを赤く表示するための処理を行う。ステップSG411の処理が終了すると、処理はステップSG5bに移行する。
次に、図50を用いて、ステップSG5bの画像選択処理の流れを説明する。図50に示すステップSG503の後にステップSG510が追加されている点、ステップSG507の後にステップSG511〜SG517が追加されている点が、第1の実施形態における画像選択処理の流れ(図21)と異なる。以下、第1の実施形態における画像選択処理の流れ(図21)と異なる点のみ、説明する。
ステップSG510では、CPU34cが、現在[ブレード配置]イラストに赤く表示されているブレードのブレードNoより1つ前のブレードNoのブレードを赤く表示するための処理を行う。その際、CPU34cは、これまで赤く表示されていたブレードの赤色を非表示とする。
ステップSG511では、CPU34cが、現在[ブレード配置]イラストに赤く表示されているブレードのブレードNoより1つ後のブレードNoのブレードを赤く表示するための処理を行う。その際、これまで赤く表示されていたブレードの赤色を非表示とする。
ステップSG512では、CPU34cが、[ブレード配置]イラストのブレードがユーザにより押下されたかどうかを確認する。[ブレード配置]イラストのブレードが押下された場合、処理はステップSG513に移行し、[ブレード配置]イラストのブレードが押下されていない場合、処理はステップSG6に移行する。
ステップSG513では、CPU34cが、[ブレード配置]イラストにおいてユーザにより選択されたブレードのブレードNoを取得する。[ブレード配置]イラスト上のブレードの位置とブレードNoとの対応関係は予め決まっている。ステップSG513では、CPU34cは、リモコン23cを介してユーザから指定された[ブレード配置]イラスト上の位置に基づいて、上記の対応関係からブレードNoを取得する。ステップSG514では、CPU34cが、ユーザにより選択されたブレードNoのブレードを赤く表示するための処理を行う。その際、これまで赤く表示されていたブレードの赤色を非表示とする。
ステップSG515では、CPU34cが、ユーザにより選択されたブレードNoと同じファイルNoをもつ画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG516では、CPU34cが、ユーザにより選択されたブレードNoと同じファイルNoをもつ画像ファイル名を[閲覧画像]ボックスに表示するための処理を行う。
ステップSG517では、CPU34cが、ユーザにより選択されたブレードNoと同じファイルNoをもつ画像ファイルの保存日時を[画像ファイル名]ボックスに表示するための処理を行う。ステップSG517の処理が終了すると、処理はステップSG6に移行する。
本実施形態の[ブレード配置]イラストでは、閲覧画像に対応するブレードが赤く表示され、テンプレート画像に対応するブレードが青く表示されるが、ブレードの位置を明示する方法は、このように色で区別する方法に限らない。例えば、閲覧画像またはテンプレート画像に対応するブレードの位置に矢印等の図形を表示したり、「閲覧中」または「テンプレート」等の文字を表示したりしてもよい。
次に、本実施形態の変形例を説明する。上記では、ユーザは、[画像閲覧]ウィンドウにおいて、レコード画像ファイルを閲覧し、かつ[ブレード配置]イラストにより、閲覧中のレコード画像ファイルのブレード位置を確認できるのみであった。これに対して、本変形例では、ユーザは、レコード画像ファイルを閲覧する際に、ブレードの欠陥を抽出することができ、さらに[ブレード配置]イラストにより、欠陥が抽出されたブレード位置も確認することができる。
図51は、本変形例における[画像閲覧]ウィンドウを示している。図44〜図46に示した[画像閲覧]ウィンドウとは[ブレード配置]イラストの内容が異なる。また、[画像閲覧]ウィンドウの右側に[欠陥検査]グループボックス5100が配置されている点も、図44〜図46に示した[画像閲覧]ウィンドウと異なる。[欠陥検査]グループボックス5100は、第2の実施形態における[欠陥検査]グループボックスと同じものである。
[ブレード配置]イラスト5110は、図44〜図46における[ブレード配置]イラスト4400とほぼ同様であるが、[ブレード配置]イラスト5110の内側(ブレードの軸の部分)に欠陥抽出結果が表示される点が異なる。欠陥抽出結果は、ブレード画像から欠陥が抽出されたかどうか(言い換えると欠陥の有無)を示すマークである。欠陥が抽出された場合、「×」マークが表示され、欠陥が抽出されなかった場合、「○」マークが表示され、まだ欠陥抽出を行っていない場合は何も表示されない。
例えば、図52のように、[欠陥抽出]チェックボックス5120にチェックが入ると、閲覧画像に対して、欠陥抽出処理が行われる。欠陥が存在した場合、閲覧画像5130上に欠陥輪郭線5140が重畳表示され、さらに、[ブレード配置]イラスト5110の赤く表示されているブレードの内側に、欠陥抽出結果として「×」マークが表示される。
続いて、図53のように、[次 >>]ボタン5150が押下されると、画像ファイルリストにおいて、[閲覧画像]ボックス5130に表示されている画像ファイルのファイルNoより1つ大きなファイルNoをもつ画像ファイルが表示され、さらに、閲覧画像に対して、欠陥抽出処理が行われる。それに伴い、[ブレード配置]イラスト5110上で、赤く表示されるブレードも切り替わり、さらに、赤く表示されているブレードの内側に、欠陥抽出結果として「○」マークが表示される。これは、閲覧画像に欠陥が存在しなかったことを示している。
さらに続いて、図54のように、[次 >>]ボタン5150が続けて押下されると、閲覧画像に対して、順次欠陥抽出処理が行われる。そして、[ブレード配置]イラスト5110の内側に、欠陥抽出結果である「○」および「×」マークが続けて表示される。これがブレード1周分(16枚)に対して行われると、図55のように、[ブレード配置]イラスト5110上で全てのブレードの内側に欠陥抽出結果が表示される。このため、ユーザは、1周分のブレードにおいて、欠陥がどのように分布しているのかを確認することができる。また、[<< 前]ボタンが押下された場合、および[ブレード配置]イラスト5110上のブレードが押下された場合も同様に、閲覧画像に対して欠陥抽出処理が行われ、[ブレード配置]イラスト5110の内側に欠陥抽出結果が表示される。
次に、図56を用いて、本変形例における画像閲覧処理の流れを説明する。図56に示すステップSG3cの初期化処理、ステップSG4cの日時選択処理、ステップSG5cの画像選択処理、ステップSG8cの欠陥抽出処理の内容が、第2の実施形態における画像閲覧処理の流れ(図27)と異なる。以下、第2の実施形態における画像閲覧処理の流れ(図27)と異なる点のみ、説明する。
ステップSG3cでは、CPU34cが初期化処理を行う。初期化処理の詳細は、後述する。
ステップSG4cでは、CPU34cが日時選択処理を行う。日時選択処理の詳細は、後述する。
ステップSG5cでは、CPU34cが画像選択処理を行う。画像選択処理の詳細は、後述する。
ステップSG8cでは、CPU34cが欠陥抽出処理を行う。欠陥抽出処理の詳細は、後述する。
次に、図57を用いて、ステップSG3cの初期化処理の流れを説明する。図57に示すステップSG314の後にステップSG315〜SG316が追加されている点が、図48に示した初期化処理の流れと異なる。以下、図48に示した初期化処理の流れと異なる点のみ、説明する。
ステップSG315では、CPU34cが、[ステレオ計測]チェックボックスを無効とする。ステップSG316では、CPU34cが、欠陥抽出フラグをOFF、ステレオ計測フラグをOFFとして、RAM34aに記録する。
次に、図58を用いて、ステップSG4cの日時選択処理の流れを説明する。図58に示すステップSG411の後にステップSG412〜SG413が追加されている点が、図49に示した日時選択処理の流れと異なる。以下、図49に示した日時選択処理の流れと異なる点のみ、説明する。
ステップSG412では、CPU34cが、[ブレード配置]イラストの内側に既に表示されている「○」「×」マーク(欠陥検出結果)を非表示とする。ステップSG413では、CPU34cが、欠陥抽出フラグをON、ステレオ計測フラグをONとして、RAM34aに記録する。
次に、図59および図60を用いて、ステップSG5cの画像選択処理の流れを説明する。図59に示すステップSG510の後にステップSG518が追加されている点、ステップSG511の後にステップSG519が追加されている点、図60に示すステップSG517の後にステップSG520が追加されている点が、図50に示した画像選択処理の流れと異なる。以下、図50に示した画像選択処理の流れと異なる点のみ、説明する。
ステップSG518では、CPU34cが、欠陥抽出フラグをON、ステレオ計測フラグをONとして、RAM34aに記録する。ステップSG519では、CPU34cが、欠陥抽出フラグをON、ステレオ計測フラグをONとして、RAM34aに記録する。ステップSG520では、CPU34cが、欠陥抽出フラグをON、ステレオ計測フラグをONとして、RAM34aに記録する。
次に、図61および図62を用いて、ステップSG8cの欠陥抽出処理の流れを説明する。図62に示すステップSG818の後にステップSG825〜SG827が追加されている点が、第2の実施形態における欠陥抽出処理の流れと異なる。以下、第2の実施形態における画像選択処理の流れ(図31および図32)と異なる点のみ、説明する。
ステップSG825では、CPU34cが、閲覧画像に欠陥が存在するかどうかを確認する。ステップSG814でラベリング処理を行ったブロブが、ステップSG815で小さなブロブを除去した後も残っている場合に、CPU34cは、閲覧画像に欠陥が存在すると判定する。また、ステップSG814でラベリング処理を行ったブロブが、ステップSG815で全て除去された場合に、CPU34cは、閲覧画像に欠陥が存在しないと判定する。閲覧画像に欠陥が存在する場合、処理はステップSG826に移行し、閲覧画像に欠陥が存在しない場合、処理はステップSG827に移行する。
ステップSG826では、CPU34cが、[ブレード配置]イラストの赤く表示されているブレードの内側に、欠陥抽出結果として「×」マークを表示するための処理を行う。ステップSG827では、CPU34cが、[ブレード配置]イラストの赤く表示されているブレードの内側に、欠陥抽出結果として「○」マークを表示するための処理を行う。
上述したように、本実施形態によれば、ユーザがレコードを行う際、必ずしも最大レコード数を指定する必要はなく、タービンブレード10の1周分のブレード枚数が自動的にカウントされ、その枚数だけレコードを行うことができる。また、[ブレード配置]イラストにおいて閲覧画像に対応するブレードの位置を赤色で表示するなど、閲覧画像に対応するブレードの位置を明示することによって、ジェットエンジン1における観察中のブレードの位置の把握が容易になる。さらに、タービンブレード10の1周分のブレードの配置をイラストとして表示することによって、ユーザが、実際のブレードの配置をイメージしやすくなり、観察中のブレードの位置を把握しやすくなる。
また、ユーザがレコード画像ファイルを閲覧する際に、ブレードの欠陥抽出を行い、閲覧画像に対応するブレードの位置を示す情報と対応させて、欠陥の有無を示す情報(「○」、「×」)を表示することによって、欠陥抽出処理による欠陥抽出の結果を閲覧画像の目視により確認する作業を効率的に行うことができる。さらに、図55に示しように、[ブレード配置]イラスト上で各ブレードについて欠陥の有無を示す情報を表示することによって、ユーザは、1周分のブレードにおいて、欠陥がどのように分布しているのかを確認することができる。
また、ユーザによって[ブレード配置]イラスト上のブレードが選択された場合に、選択されたブレードに対応する画像ファイルを表示することによって、ユーザが実際のブレードの配置をイメージしながら表示対象のブレードを効率的に選択することができる。
また、[ブレード配置]イラストにおいてテンプレート画像に対応するブレードの位置を青色で表示するなど、テンプレート画像に対応するブレードの位置も明示することによって、テンプレート画像に対応するブレードと表示中の閲覧画像に対応するブレードとの位置関係の把握が容易になる。特に、1周分のブレードの中で他のブレードと区別できる基準ブレードが存在し、その基準ブレードの画像がテンプレート画像として選択された場合に、基準ブレードの位置を基準として、閲覧画像に対応するブレードの位置の把握が容易になる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。