画像処理装置およびプログラム
【課題】簡易な方法で、欠陥の種類によらずブレードの欠陥を検出することができる画像処理装置およびプログラムを提供する。
【解決手段】CPU34cは、ジェットエンジン内に周期的に配置されたブレードを撮像した画像と、テンプレート画像とを比較し、ブレードを撮像した画像の中から、画像比較の結果に基づいて一部の画像を選択する。さらに、CPU34cは、選択された画像とテンプレート画像との差分を抽出する。
【解決手段】CPU34cは、ジェットエンジン内に周期的に配置されたブレードを撮像した画像と、テンプレート画像とを比較し、ブレードを撮像した画像の中から、画像比較の結果に基づいて一部の画像を選択する。さらに、CPU34cは、選択された画像とテンプレート画像との差分を抽出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジェットエンジン内に周期的に配置されたブレードを撮像した画像を処理する画像処理装置およびプログラムに関する。
【背景技術】
【0002】
従来、ジェットエンジン内のブレードを検査するため、内視鏡等の観察用治具を使用してブレードを観察することが行われている。例えば、特許文献1には、ブレードを連続的に撮像し、連続する2枚の画像を比較することによってブレードの欠陥を検出する方法が記載されている。また、特許文献2には、既知の欠陥パターンの特徴量に基づいてブレードの欠陥を検出する方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2004/183900号明細書
【特許文献2】特開2007−163723号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1には、連続する2枚の画像内におけるブレードの位置(ブレードの見え方)に関する記載はない。画像同士の差分をとるという簡単な方法で欠陥を抽出するためには、画像内におけるブレードの位置がほぼ同一であることが望まれる。しかし、画像内におけるブレードの位置をほぼ同一とするためには、ブレードの回転と撮像のタイミングを合わせる必要があるため、制御が複雑となる。一方、画像内におけるブレードの位置が異なる場合、既知のブレードのパターンを用いたパターンマッチングにより2枚の画像のそれぞれからブレードのパターンを抽出し、抽出したブレードのパターンを比較する方法が考えられる。しかし、この方法では複雑な画像処理が必要となる。
【0005】
また、特許文献2に記載された方法では、既知の欠陥パターンの特徴量を用いるため、欠陥パターンに合致しない欠陥を見逃すおそれがある。
【0006】
本発明は、上述した課題に鑑みてなされたものであって、簡易な方法で、欠陥の種類によらずブレードの欠陥を検出することができる画像処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するためになされたもので、ジェットエンジン内に周期的に配置されたブレードを撮像した画像と、テンプレート画像とを比較する画像比較部と、前記ブレードを撮像した画像の中から、前記画像比較部による画像比較の結果に基づいて一部の画像を選択する画像選択部と、前記画像選択部によって選択された画像と前記テンプレート画像との差分を抽出する差分抽出部と、を備えたことを特徴とする画像処理装置である。
【0008】
また、本発明の画像処理装置は、前記差分抽出部によって抽出された前記差分の位置に対応する画像に基づいて計測を実行する計測部をさらに備えたことを特徴とする。
【0009】
また、本発明の画像処理装置は、前記画像選択部によって選択された画像に、前記差分抽出部によって抽出された前記差分を示す情報を重畳して表示する表示部をさらに備えたことを特徴とする。
【0010】
また、本発明の画像処理装置は、前記差分抽出部によって抽出された前記差分を選択する指示を入力する入力部をさらに備え、前記計測部は、前記入力部に入力された指示が示す前記差分の位置に対応する画像に基づいて計測を実行することを特徴とする。
【0011】
また、本発明の画像処理装置において、前記ブレードを撮像した画像は、同一被写体に関する複数の被写体像を含み、前記計測部は、前記画像選択部によって選択された画像に含まれる一の被写体像において、前記差分抽出部によって抽出された前記差分に対応する位置に計測点を設定し、前記画像選択部によって選択された画像に含まれる他の被写体像において、前記計測点に対応する対応点を算出し、前記計測点および前記対応点に基づいて計測を実行することを特徴とする。
【0012】
また、本発明は、ジェットエンジン内に周期的に配置されたブレードを撮像した複数の画像と、テンプレート画像とを比較するステップと、前記ブレードを撮像した複数の画像の中から、前記画像比較部による画像比較の結果に基づいて一部の画像を選択するステップと、前記画像選択部によって選択された画像と前記テンプレート画像との差分を抽出するステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0013】
本発明によれば、ブレードを撮像した画像の中から、テンプレート画像との画像比較の結果に基づいて一部の画像を選択することによって、ブレードの回転と撮像のタイミングを合わせるための特別な制御を必要とせず、簡易な方法でブレードの画像を取得することができる。このように取得された画像とテンプレート画像との差分を抽出することによって、欠陥の種類によらずブレードの欠陥を検出することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施形態によるブレード検査システムの構成を示すブロック図である。
【図2】本発明の第1の実施形態によるブレード検査システムが備える内視鏡装置の構成を示すブロック図である。
【図3】本発明の第1の実施形態によるブレード検査システム(変形例)の構成を示すブロック図である。
【図4】本発明の第1の実施形態によるブレード検査システム(変形例)の構成を示すブロック図である。
【図5】本発明の第1の実施形態によるブレード検査システム(変形例)が備えるPCの構成を示すブロック図である。
【図6】本発明の第1の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図7】本発明の第1の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図8】本発明の第1の実施形態におけるメモリカード内のディレクトリ構造を示す参考図である。
【図9】本発明の第1の実施形態における保存フォルダリストを示す参考図である。
【図10】本発明の第1の実施形態における画像ファイルリストを示す参考図である。
【図11】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図12】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図13】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図14】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図15】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図16】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図17】本発明の第1の実施形態における相関値の経時変化を示すグラフである。
【図18】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図19】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図20】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図21】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図22】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図23】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図24】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図25】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図26】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図27】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図28】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図29】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図30】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図31】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図32】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図33】本発明の第2の実施形態における欠陥抽出処理を説明するための参考図である。
【図34】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図35】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図36】本発明の第2の実施形態における欠陥指定処理を説明するための参考図である。
【図37】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図38】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【発明を実施するための形態】
【0015】
以下、図面を参照し、本発明の実施形態を説明する。
【0016】
(第1の実施形態)
まず、本発明の第1の実施形態を説明する。図1は、本実施形態によるブレード検査システムの構成を示している。ジェットエンジン1内には、検査対象物である複数のタービンブレード10(もしくはコンプレッサーブレード)が所定の間隔で周期的に配置されている。また、ジェットエンジン1には、タービンブレード10を回転方向Aに所定の速度で回転させるターニングツール2が接続されている。本実施形態では、タービンブレード10の画像を取り込んでいる間は常にタービンブレード10を回転させた状態にしている。
【0017】
本実施形態では、タービンブレード10の画像を取得するため、内視鏡装置3(本発明の画像処理装置に対応)が用いられる。ジェットエンジン1の内部には、内視鏡装置3の内視鏡挿入部20が挿入されており、この内視鏡挿入部20により、回転しているタービンブレード10の映像が取り込まれる。また、内視鏡装置3には、タービンブレード10を所望の角度で撮像した画像を記録するためのブレード記録ソフトが記憶されている。
【0018】
図2は内視鏡装置3の構成を示している。内視鏡装置3は、内視鏡挿入部20、内視鏡装置本体21、モニタ22、およびリモコン(リモートコントローラ)23から構成されている。内視鏡挿入部20の先端には、撮像光学系30aおよび撮像素子30bが内蔵されている。また、内視鏡装置本体21には、画像信号処理装置(CCU)31、光源32、湾曲制御ユニット33、および制御用コンピュータ34が内蔵されている。
【0019】
内視鏡挿入部20において、撮像光学系30aは被写体からの光を集光し、撮像素子30bの撮像面上に被写体像を結像する。撮像素子30bは、被写体像を光電変換して撮像信号を生成する。撮像素子30bから出力された撮像信号は画像信号処理装置31に入力される。
【0020】
内視鏡装置本体21において、画像信号処理装置31は、撮像素子30bからの撮像信号をNTSC信号等の映像信号に変換して制御用コンピュータ34に供給し、さらに必要に応じてアナログビデオ出力として、外部に出力する。
【0021】
光源32は、光ファイバ等を通じて内視鏡挿入部20の先端に接続されており、光を外部に照射することができる。湾曲制御ユニット33は内視鏡挿入部20の先端と接続されており、先端を上下左右に湾曲させることができる。光源32および湾曲制御ユニット33の制御は、制御用コンピュータ34によって行われる。
【0022】
制御用コンピュータ34は、RAM34a、ROM34b、CPU34c、外部インターフェースとしてネットワークI/F34d、RS232C I/F34e、カード I/F34fから構成されている。RAM34aは、ソフトウェア動作に必要な画像情報等のデータを一時記憶するために使用される。ROM34bには、内視鏡装置3を制御するための一連のソフトウェアが記憶されており、後述するブレード記録ソフトもROM34b内に記憶される。CPU34cは、ROM34bに記憶されているソフトウェアの命令コードに従って、RAM34aに記憶されたデータを用いて各種制御のための演算等を実行する。
【0023】
ネットワークI/F34dは、外部PCとLANケーブルによって接続するためのインターフェースであり、外部PCに対して、画像信号処理装置31から出力された映像情報を展開することができる。RS232C I/F34eは、リモコン23と接続するためのインターフェースであり、このリモコン23をユーザが操作することによって、内視鏡装置3の各種動作を制御することができる。カード I/F34fは、記録媒体である各種メモリカード50を自由に着脱できるようになっている。メモリカード50を装着することにより、CPU34cの制御によって、メモリカード50に記憶されている画像情報等のデータを取り込み、あるいは画像情報等のデータをメモリカード50に記録することができる。
【0024】
本実施形態によるブレード検査システムの構成の変形例として、図3に示す構成を用いてもよい。本変形例では、内視鏡装置3にビデオ端子ケーブル4およびビデオキャプチャカード5が接続されており、これによって、内視鏡装置3が取り込んだ映像をPC6(本発明の画像処理装置に対応)にも取り込ませることが可能となっている。PC6は、図3ではノート型PCとして描かれているが、デスクトップ型のPC等でもよい。PC6には、タービンブレード10を所望の角度で撮像した画像を記録するためのブレード記録ソフトが記憶されている。
【0025】
さらに、図3では、PC6への映像の取り込みにビデオ端子ケーブル4およびビデオキャプチャカード5を用いているが、図4に示すようにLANケーブル7を用いてもよい。内視鏡装置3は、取り込まれた映像をLANネットワーク上に展開することのできるネットワークI/F34dを備えている。そして、LANケーブル7を通じて、PC6に映像を取りませることができる。
【0026】
図5はPC6の構成を示している。PC6はPC本体24およびモニタ25から構成されている。PC本体24には、制御用コンピュータ35が内蔵されている。制御用コンピュータ35は、RAM35a、HDD(ハードディスクドライブ)35b、CPU35c、外部インターフェースとして、ネットワークI/F35d、USB I/F35eから構成されている。制御用コンピュータ35はモニタ25に接続されており、映像情報およびソフトウェアの画面等がモニタ25に表示される。
【0027】
RAM35aは、ソフトウェア動作に必要な画像情報等のデータを一時記憶するために使用される。HDD35bには、内視鏡装置を制御するために一連のソフトウェアが記憶されており、ブレード記録ソフトもHDD35b内に記憶される。また、本実施形態では、タービンブレード10の画像を保存する保存用フォルダはHDD35b内に設定される。CPU35cは、HDD35bに記憶されているソフトウェアの命令コードに従って、RAM35aに記憶されたデータを用いて各種制御のための演算等を実行する。
【0028】
ネットワークI/F35dは、内視鏡装置3とPC6をLANケーブル7によって接続するためのインターフェースであり、内視鏡装置3からLAN出力された映像情報をPC6に入力することができる。USB I/F35eは、内視鏡装置3とPC6をビデオキャプチャカード5によって接続するためのインターフェースであり、内視鏡装置3からアナログビデオ出力された映像情報をPC6に入力することができる。
【0029】
図3および図4に示すブレード検査システムでは、図1に示すブレード検査システムと同様の効果を得ることができる。特に、内視鏡装置の性能がPCよりも劣っており、内視鏡装置の動作速度等が十分でない場合等に、図3および図4に示すブレード検査システムは有効である。
【0030】
次に、ブレード記録ソフトの画面を説明する。図6は、ブレード記録ソフトのメインウィンドウを示している。図6に示すメインウィンドウ600は、ユーザがブレード記録ソフトを起動した際に表示される。
【0031】
メインウィンドウ600の表示は、CPU34cによる制御に従って行われる。CPU34cは、メインウィンドウ600を表示するためのグラフィック画像信号(表示信号)を生成し、モニタ22へ出力する。また、内視鏡装置3に取り込まれた映像(以下、内視鏡映像と記載)をメインウィンドウ600上に重畳表示する場合には、CPU34cは、画像信号処理装置31から取り込んだ画像データをグラフィック画像信号に重畳する処理を行い、処理後の信号(表示信号)をモニタ22へ出力する。
【0032】
また、メインウィンドウ600上のGUIの表示状態を更新する場合、CPU34cは、更新後のメインウィンドウ600に対応したグラフィック画像信号を生成し、上記と同様の処理を行う。メインウィンドウ600以外のウィンドウの表示に係る処理も上記と同様である。以下、メインウィンドウ600等を表示(更新も含む)するためにCPU34cがグラフィック画像信号を生成する処理のことを、メインウィンドウ600等を表示するための処理と記載する。
【0033】
ユーザは、GUI(グラフィカルユーザインタフェース)機能を利用して、リモコン23を介してメインウィンドウ600を操作することにより、内視鏡映像の閲覧および画像ファイルの保存を行うことができる。以下、各種GUIの機能を説明する。
【0034】
メインウィンドウ600の上部には、[プレビュー画像]ボックス601、[テンプレート画像]ボックス602、[レコード画像]ボックス603が配置されている。
【0035】
[プレビュー画像]ボックス601は、内視鏡映像を表示するためのボックスである。ターニングツール2によってタービンブレード10が回転している状態のとき、後述する[プレビュー開始]ボタン610が押下されると、内視鏡映像(タービンブレード10が回転している映像)がリアルタイムに表示される。このように、[プレビュー画像]ボックス601により、ユーザは内視鏡映像を閲覧することができる。以下、[プレビュー画像]ボックス601に内視鏡映像が表示されることを、プレビューと記載する。
【0036】
[テンプレート画像]ボックス602は、テンプレート画像を表示するためのボックスである。後述する[テンプレート登録]ボタン612が押下されると、内視鏡映像を構成する各フレームの画像のうち、そのタイミングで取りこまれた1フレーム分の画像が、[テンプレート画像]ボックス602にテンプレート画像として表示される。テンプレート画像とは、後述するレコード画像を表示する際に基準となる画像のことである。
【0037】
[レコード画像]ボックス603は、後述するレコード画像を表示するためのボックスである。後述する[レコード開始]ボタン613が押下された後、内視鏡映像を構成する各フレームの画像のうち、テンプレート画像との相関の高い画像(以下、レコード画像と記載)が順次表示される。[レコード画像]ボックス603に表示されたレコード画像は、画像ファイルとしてメモリカード50内の保存フォルダに順次保存される。
【0038】
ここで保存される画像ファイルを、以下、レコード画像ファイルと記載する。また、レコード画像ファイルをメモリカード50内の保存フォルダに順次保存することを、以下、レコードと記載する。保存フォルダの詳細は、後述する。
【0039】
[プレビュー開始]ボタン610は、[プレビュー画像]ボックス601への内視鏡映像の表示を開始するためのボタンである。[プレビュー停止]ボタン611は、[プレビュー画像]ボックス601への内視鏡映像の表示を停止するためのボタンである。
【0040】
[テンプレート登録]ボタン612は、所望の画像をテンプレート画像として登録するためのボタンである。[テンプレート登録]ボタン612が押下されると、内視鏡映像を構成する各フレームの画像のうち、そのタイミングで取りこまれた1フレーム分の画像が、[テンプレート画像]ボックス602にテンプレート画像として表示される。さらに、その1フレーム分の画像が、テンプレート画像としてRAM34aに記録される。
【0041】
[レコード開始]ボタン613は、レコードを開始するためのボタンである。[レコード開始]ボタン613が押下されると、後述する[レコード数]ボックス620の値が0にリセットされる。そして、内視鏡映像とテンプレート画像との比較が毎フレームで行われ、内視鏡映像を構成する各フレームの画像のうち、テンプレート画像との相関の高い1フレーム分のレコード画像が[レコード画像]ボックス603に順次表示される。さらに、表示されたレコード画像は、画像ファイルとしてメモリカード50内の保存フォルダに順次保存される。
【0042】
より具体的には、内視鏡映像内のタービンブレード10の位置や角度が、テンプレート画像内のタービンブレード10の位置や角度と同じになったとき(簡略化して言い換えると、内視鏡映像内のタービンブレード10と、テンプレート画像内のタービンブレード10との見え方が同じになったとき)の1フレーム分の画像が表示および保存されることになる。
【0043】
[レコード停止]ボタン614は、レコードを停止するためのボタンである。[画像閲覧]ボタン615は、メモリカード50内の保存フォルダに保存された画像ファイルを閲覧するためのボタンである。[画像閲覧]ボタン615が押下されると、後述する[画像閲覧]ウィンドウが表示される。[画像閲覧]ウィンドウが表示されている間は、メインウィンドウ600は、ユーザによる操作が無効の状態となる。
【0044】
[レコード数]ボックス620には、レコード画像ファイルの現在の保存枚数(以下、レコード数と記載)を表示するためのボックスである。但し、テンプレート画像の画像ファイルはカウントされない。また、前述したように、[レコード開始]ボタン613が押下されると、[レコード数]ボックス620の値が0にリセットされる。
【0045】
[最大レコード]数ボックス621には、レコード画像ファイルの最大枚数(以下、最大レコード数と記載)を表示するためのボックスである。レコード中に、レコード数が最大レコード数と同じ値になった場合、レコードが自動的に終了する。[最大レコード]数ボックス621には、任意の最大レコード数を入力することが可能である。例えば、[最大レコード]数ボックス621にタービンブレード10の1周分のブレード枚数を入力しておくことにより、タービンブレード10の画像ファイルを必要な枚数だけ保存することができる。
【0046】
[終了]ボタン630は、ブレード記録ソフトを終了するためのボタンである。[終了]ボタン630が押下されると、メインウィンドウ600が非表示となり、ブレード記録ソフトの動作が終了する。
【0047】
図7は、ブレード記録ソフトの[画像閲覧]ウィンドウを示している。図7に示す[画像閲覧]ウィンドウ700は、前述したように、メインウィンドウ600の[画像閲覧]ボタン615が押下された際に、表示される。
【0048】
ユーザは、GUI機能を利用して、リモコン23を介して[画像閲覧]ウィンドウ700を操作することにより、レコード画像ファイルの閲覧を行うことができる。以下、各種GUIの機能を説明する。
【0049】
[閲覧画像]ボックス701は、レコード画像ファイルを表示するためのボックスである。後述する[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[閲覧画像]ボックス701に表示されるレコード画像ファイルが切り替わる。[閲覧画像]ボックス701により、ユーザはレコード画像ファイルを閲覧することができる。以下、[閲覧画像]ボックス701に表示されているレコード画像を閲覧画像と記載し、その画像ファイルを閲覧画像ファイルと記載する。
【0050】
[<< 前]ボタン710は、閲覧画像を切り替えるためのボタンである。[<< 前]ボタン710が押下されると、後述する画像ファイルリストの中で、[閲覧画像]ボックス701に表示されている画像ファイルの画像ファイルNo(画像ファイルナンバー)より1つ小さな画像ファイルNoをもつ画像ファイルが表示される。それに伴い、後述する[画像ファイル名]ボックス720に表示されている画像ファイル名も切り替わる。
【0051】
[次 >>]ボタン711も、閲覧画像を切り替えるためのボタンである。[次 >>]ボタン711が押下されると、後述する画像ファイルリストの中で、[閲覧画像]ボックス701に表示されている画像ファイルの画像ファイルNoより1つ大きな画像ファイルNoをもつ画像ファイルが表示される。それに伴い、後述する[画像ファイル名]ボックス720に表示されている画像ファイル名も切り替わる。
【0052】
[画像ファイル名]ボックス720は、閲覧画像ファイルのファイル名を表示するためのボックスである。[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[画像ファイル名]ボックス720の画像ファイル名の表示が切り替わる。
【0053】
[画像ファイル数]ボックス721は、後述する画像ファイルリストの中の画像ファイル数を表示するためのボックスである。[日時選択]ボックス724の選択が変更されると、[画像ファイル数]ボックス721の画像ファイル数の表示が切り替わる。
【0054】
[保存日時]ボックス722は、閲覧画像ファイルの保存日時を表示するためのボックスである。[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[保存日時]ボックス722の画像ファイルの保存日時の表示が切り替わる。
【0055】
[日時選択]ボックス724は、閲覧画像を切り替えるためのボックスである。後述する保存フォルダリストのレコード開始日時が[日時選択]ボックス724にリスト形式で表示される。[日時選択]ボックス724のレコード開始日時の選択が変更されると、選択されたレコード開始日時をもつ保存フォルダに保存されたレコード画像ファイルが[閲覧画像]ボックス701に表示される。それに伴い、[画像ファイル名]ボックス720の画像ファイル名、および[画像ファイル数]ボックス721の画像ファイル数の表示も切り替わる。
【0056】
[閉じる]ボタン730は、画像の閲覧を終了するためのボタンである。[閉じる]ボタン730が押下されると、[画像閲覧]ウィンドウ701が非表示となり、メインウィンドウ600が操作される状態に戻る。
【0057】
次に、図8〜図10を用いて、メモリカード50内のディレクトリ構造を説明する。図8に示すように、メモリカード50の直下のディレクトリは複数の保存フォルダ800から構成されている。保存フォルダ800は、レコード画像ファイルが保存されるフォルダである。レコード開始日時が保存フォルダ800のフォルダ名となる。例えば、レコード開始日時が「2007/12/26 21:32:21」の場合、フォルダ名は「20071226_213221」となる。
【0058】
各保存フォルダの直下のディレクトリは複数のレコード画像ファイル810から構成されている。レコード画像ファイル名は、レコード画像ファイルが保存された順にそれぞれ「001.jpg」、「002.jpg」、「003.jpg」・・・となる。但し、テンプレート画像ファイルのファイル名は「Temp.jpg」となる。
【0059】
また、後述する画像閲覧処理の際には、保存フォルダリストおよび画像ファイルリストが作成される。
【0060】
保存フォルダリストとは、保存フォルダの一覧表である。図9に示すように、保存フォルダリストは、保存フォルダNo(保存フォルダナンバー)、レコード開始日時、およびフォルダ名から構成されている。保存フォルダNoには、保存フォルダが作成された順に、1、2、3・・・の番号が割り当てられる。
【0061】
画像ファイルリストとは、各保存フォルダに保存されたレコード画像ファイルの一覧表である。図10に示すように、画像ファイルリストは、画像ファイルNo、ファイル保存日時、およびファイル名から構成されている。画像ファイルNoには、ファイルが保存された順に、1、2、3・・・の番号が割り当てられる。但し、テンプレート画像のみ、最後の画像ファイルNoが割り当てられる。
【0062】
次に、図11を用いて、ブレード記録ソフトの動作の流れを説明する。ステップSAでは、ユーザがブレード記録ソフトを起動する。このとき、リモコン23に入力されたブレード記録ソフトの起動指示に基づいて、CPU34cは、ROM34bに格納されているブレード記録ソフトをRAM34aに読み込み、ブレード記録ソフトに従った動作を開始する。ステップSBでは、CPU34cが、メインウィンドウを表示するための処理を行う。
【0063】
ステップSCでは、CPU34cが初期化処理を行う。初期化処理とは、メインウィンドウ内の各種GUIの初期状態を設定したり、RAM34aに記録された各種データの初期値を設定したりする処理のことである。初期化処理の詳細は、後述する。ステップSDでは、CPU34cがプレビュー処理を行う。プレビュー処理とは、プレビューの開始および停止を行う処理のことである。プレビュー処理の詳細は、後述する。
【0064】
ステップSEでは、CPU34cがテンプレート登録処理を行う。テンプレート登録処理とは、[テンプレート画像]ボックスにテンプレート画像を表示し、さらにテンプレート画像をRAM34aに記録する処理のことである。テンプレート登録処理の詳細は、後述する。ステップSFでは、CPU34cがレコード処理を行う。レコード処理とは、レコードの開始および停止を行う処理のことである。レコード処理の詳細は、後述する。
【0065】
ステップSGでは、CPU34cが画像閲覧処理を行う。画像閲覧処理とは、ユーザがレコード画像ファイルを閲覧するために行う処理のことである。画像閲覧処理の詳細は、後述する。ステップSHでは、ユーザによる[終了]ボタンの押下の有無に応じて処理が分岐する。ユーザが[終了]ボタンを押下した場合、処理はステップSIに移行する。また、ユーザが[終了]ボタンを押下しなかった場合、処理はステップSDに移行する。ステップSIでは、CPU34cがメインウィンドウを非表示とし、ブレード記録ソフトの動作を終了する。
【0066】
次に、図12を用いて、初期化処理(ステップSC)の流れを説明する。ステップSC1では、CPU34cが、[プレビュー停止]ボタン、[テンプレート登録]ボタン、[レコード開始]ボタン、[レコード停止]ボタンの全てを、ユーザによる操作が無効の状態とする。以下、ボタン等のGUIが、ユーザによる操作無効の状態(例えば、グレー状態)であることを、単に無効と記載し、ユーザによる操作有効の状態であることを、単に有効と記載する。
【0067】
ステップSC2では、CPU34cが、レコード数Rを0、最大レコード数RmをRiとして、RAM34aに記録する。Riは最大レコード数Rmの初期値であり、Riとして所定の値がRAM34aに記録されている。ステップSC3では、CPU34cが、[レコード数]ボックスにレコード数R(=0)を表示するための処理を行う。ステップSC4では、CPU34cが、[最大レコード数]ボックスに最大レコード数Rmを表示するための処理を行う。
【0068】
ステップSC5では、CPU34cが、プレビューフラグ、レコードフラグ、保存フラグを、全てOFFとして、RAM34aに記録する。プレビューフラグとは、現在の状態がプレビュー状態かどうかを示すフラグである。レコードフラグとは、現在の状態がレコード中かどうかを示すフラグである。保存フラグとは、レコード中に、後述するバッファ画像をレコード画像ファイルとして保存するかどうかを示すフラグである。以下、ブレード記録ソフトの動作中に使用される全てのフラグはONもしくはOFFの値を取る。ステップSC5の処理が終了すると、処理はステップSDに移行する。
【0069】
次に、図13を用いて、ステップSDのプレビュー処理の流れを説明する。ステップSD1では、CPU34cが、 [プレビュー開始]ボタンがユーザにより押下されたかどうかを確認する。[プレビュー開始]ボタンが押下された場合、処理はステップSD2に移行し、[プレビュー開始]ボタンが押下されていない場合、処理はステップSD4に移行する。
【0070】
ステップSD2では、CPU34cが、[プレビュー開始]ボタンを無効、[プレビュー停止]ボタンを有効、[テンプレート登録]ボタンを有効とする。ステップSD3では、CPU34cが、プレビューフラグをONとして、RAM34aに記録する。
【0071】
ステップSD4では、CPU34cが、RAM34aに記録されたプレビューフラグがONかどうかを確認する。プレビューフラグがONの場合、処理はステップSD5に移行し、OFFの場合、処理はステップSD8に移行する。
【0072】
ステップSD5では、CPU34cが、画像信号処理装置31から1フレーム分の画像(画像信号)をフレーム画像として取り込む。なお、ステップSD5よりも前の時点で、撮像素子30bは1フレーム分の撮像信号を生成し、画像信号処理装置31はその撮像信号を映像信号に変換し、1フレーム分の画像を生成している。
【0073】
ステップSD6では、CPU34cが、ステップSD5で取り込んだフレーム画像をRAM34aに記録する。RAM34aに記録されたフレーム画像は、CPU34cがフレーム画像を取り込む度に上書きされる。ステップSD7では、CPU34cが、ステップSD5で取り込んだフレーム画像を[プレビュー画像]ボックスに表示するための処理を行う。
【0074】
ステップSD8では、CPU34cが、[プレビュー停止]ボタンがユーザにより押下されたかどうかを確認する。[プレビュー停止]ボタンが押下された場合、処理はステップSD9に移行し、[プレビュー停止]ボタンが押下されていない場合、処理はステップSEに移行する。
【0075】
ステップSD9では、CPU34cが、[プレビュー開始]ボタンを有効、[プレビュー停止]ボタンを無効、[テンプレート登録]ボタンを無効とする。ステップSD10では、CPU34cが、プレビューフラグをOFFとして、RAM34aに記録する。ステップSD10の処理が終了すると、処理はステップSEに移行する。
【0076】
次に、図14を用いて、ステップSEのテンプレート登録処理の流れを説明する。ステップSE1では、CPU34cが、 [テンプレート登録]ボタンがユーザにより押下されたかどうかを確認する。[テンプレート登録]ボタンが押下された場合、処理はステップSE2に移行し、[テンプレート登録]ボタンが押下されていない場合、処理はステップSFに移行する。
【0077】
ステップSE2では、CPU34cが、RAM34aに記録されたフレーム画像を、テンプレート画像として、RAM34aに記録する。RAM34aに記録されたテンプレート画像は、[テンプレート登録]ボタンが押下される度に上書きされる。ステップSE3では、CPU34cが、RAM34aに記録されたフレーム画像を[テンプレート画像]ボックスに表示するための処理を行う。具体的には、CPU34cは、RAM34aに記録されたフレーム画像をグラフィック画像信号に重畳する処理を行い、処理後の信号(表示信号)をモニタ22へ出力する。
【0078】
上記より、ステップSE2〜SE3の処理は、[テンプレート登録]ボタンが押下されたタイミングで取りこまれたフレーム画像を、テンプレート画像として登録する処理であることがわかる。ステップSE4では、CPU34cが[レコード開始]ボタンを有効とする。ステップSE4の処理が終了すると、処理はステップSFに移行する。
【0079】
次に、図15を用いて、ステップSFのレコード処理の流れを説明する。ステップSF1では、CPU34cが、[レコード開始]ボタンがユーザにより押下されたかどうかを確認する。[レコード開始]ボタンが押下された場合、処理はステップSF2に移行し、[レコード開始]ボタンが押下されていない場合、処理はステップSF9に移行する。
【0080】
ステップ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の詳細は、後述する。
【0081】
ステップSF4では、CPU34cが、[レコード数]ボックスにレコード数R(=0)を表示するための処理を行う。ステップSF5では、CPU34cが、[最大レコード数]ボックスに入力されている最大レコード数Rmを取得し、RAM34aに記録する。ステップSF6では、CPU34cがメモリカード50内に保存フォルダを作成する。このとき、[レコード開始]ボタンがユーザにより押下された日時が、そのまま保存フォルダのフォルダ名となる。
【0082】
ステップSF7では、CPU34cが、図14のステップSE2でRAM34aに記録されたテンプレート画像を画像ファイルとして(以下、テンプレート画像ファイルと記載)、メモリカード50内の保存フォルダに保存する。このとき、テンプレート画像ファイル名は、「Temp.jpg」となる。ステップSF8では、CPU34cが、レコードフラグをONとして、RAM34aに記録する。
【0083】
ステップSF9では、CPU34cが、RAM34aに記録されたレコードフラグがONかどうかを確認する。レコードフラグがONの場合、処理はステップSF10に移行し、レコードフラグがOFFの場合、処理はステップSF18に移行する。
【0084】
ステップSF10では、CPU34cが、テンプレート画像とフレーム画像との相関値を算出し、相関値に基づいて、レコード画像を保存するタイミングを決定する相関処理を実行する。相関処理の詳細は、後述する。ステップSF11では、CPU34cが、RAM34aに記録された保存フラグがONかどうかを確認する。保存フラグがONの場合、処理はステップSF12に移行し、保存フラグがOFFの場合、処理はステップSF18に移行する。
【0085】
ステップSF12では、CPU34cが、ステップSF10の相関処理中にRAM34aに記録されたレコード画像を[レコード画像]ボックスに表示するための処理を行う。ステップSF13では、CPU34cが、レコード数Rを1つインクリメント(R+1をRに代入)して、RAM34aに記録する。ステップSF14では、CPU34cが、[レコード画像]ボックスにレコード数Rを表示するための処理を行う。
【0086】
ステップSF15では、CPU34cが、ステップSF10の相関処理中にRAM34aに記録されたレコード画像を、画像ファイルとして、保存フォルダに保存する。ステップSF16では、CPU34cが、保存フラグをOFFとして、RAM34aに記録する。ステップSF17では、CPU34cが、レコード数Rが最大レコード数Rm以上(R≧Rm)であるかどうかを確認する。レコード数Rが最大レコード数Rm以上の場合、処理はステップSF19に移行し、最大レコード数Rm未満の場合、処理はステップSF18に移行する。
【0087】
ステップSF18では、CPU34cが、[レコード停止]ボタンがユーザにより押下されたかどうかを確認する。[レコード停止]ボタンが押下された場合、処理はステップSF19に移行し、[レコード停止]ボタンが押下されていない場合、処理はステップSGに移行する。
【0088】
ステップSF19では、CPU34cが、[プレビュー停止]ボタンを有効、[テンプレート登録]ボタンを有効、[レコード開始]ボタンを有効、[レコード停止]ボタンを無効、[画像閲覧]ボタンを有効、[最大レコード数]ボックスを有効とする。ステップSF20では、CPU34cが、レコードフラグをOFFとして、RAM34aに記録する。ステップSF20の処理が終了すると、処理はステップSGに移行する。
【0089】
次に、図16を用いて、ステップSF10の相関処理の流れを説明する。図16に示す相関処理と実際の相関値の変化との対応関係については、図17を用いて後述する。ステップSF100では、CPU34cが、RAM34aに記録されているテンプレート画像およびフレーム画像の各画素の輝度値(明度値)を取得する。ここで、例えばRGBの各成分の輝度で表された画素の輝度値は、以下の(1)式を用いて算出される。
Y=0.299×R+0.587 ×G+0.114×B ・・・(1)
【0090】
ステップ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)である。
【0091】
【数1】
【0092】
【数2】
【0093】
さらに、2枚の画像の標準偏差はそれぞれ(4)式、(5)式で表される。
【0094】
【数3】
【0095】
【数4】
【0096】
さらに、2枚の画像の共分散は(6)式で表される。
【0097】
【数5】
【0098】
そして、2枚の画像の相関値Cは(7)式で表される。この相関値Cは、2枚の画像が類似しているかどうかを表す尺度となる。一般的に、類似していれば相関値は1に近い値となり、類似していなければ0に近づく傾向にある。
【0099】
【数6】
【0100】
画像サイズを間引いた上で相関値を求める場合は、上記の各式において、x,yに関する総和を計算する際にx,yの増加ステップ数を変更し、さらに全画素数Sizeを変更すればよい。例えば、画像サイズを1/4に間引いた上で相関値を求める場合、x,yの増加ステップ数を4とし、全画素数SizeをSize=(X×Y)/(4×4)とすればよい。相関処理の速度を向上させたい場合は、間引き処理を用いると、計算量が少なくて済むので有効である。
【0101】
ステップSF102では、CPU34cが、相関値ステータスScが0(Sc=0)であるかどうかを確認する。相関値ステータスScは、相関値Cのステータスのことである。相関値ステータスScは0〜2の値をとる。相関値ステータスScが0の場合は初期状態であり、1の場合はCPU34cがレコード画像として保存すべきフレーム画像をみつけるまでの状態であり、2の場合はCPU34cがレコード画像として保存すべきフレーム画像をみつけた状態である。相関値ステータスScが0の場合、処理はステップSF103に移行し、相関値ステータスScが0でない場合、処理はステップSF105に移行する。
【0102】
ステップ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に移行する。
【0103】
ステップSF104では、CPU34cが、相関値ステータスScを1(Sc=1)として、RAM34aに記録する。ステップSF105では、CPU34cが、相関値ステータスScが1(Sc=1)であるかどうかを確認する。相関値ステータスScが1の場合、処理はステップSF106に移行し、相関値ステータスScが1でない場合、処理はステップSF110に移行する。
【0104】
ステップSF106では、CPU34cが、相関値Cが最大相関値Cmより大きいかどうか(C>Cm)を確認する。最大相関値Cmとは、相関値Cの最大値を保持しておくためのバッファの値である。C>Cmの場合、処理はステップSF107に移行し、C≦Cmの場合、処理はステップSF108に移行する。
【0105】
ステップSF107では、CPU34cが、最大相関値Cmを相関値C(Cm=C)として、RAM34aに記録する。ステップSF109では、CPU34cが、フレーム画像をバッファ画像としてRAM34aに記録する。RAM34aに記録されたバッファ画像は、ステップSF109の処理が実行される度に上書きされる。バッファ画像とは、CPU34cが、フレーム画像がレコード画像(テンプレート画像と相関の高い画像)であると確認できるまでフレーム画像を一時的に保持しておくためにRAM34aに設けられたバッファ内の画像のことである。
【0106】
ステップSF108では、CPU34cが、相関値ステータスScを2(Sc=2)として、RAM34aに記録する。ステップSF110では、CPU34cが、相関値ステータスScが2(Sc=2)であるかどうかを確認する。相関値ステータスScが2の場合、処理はステップSF111に移行し、相関値ステータスScが2でない場合、処理はステップSF116に移行する。
【0107】
ステップSF111では、CPU34cが、相関値Cが相関値閾値Ctより小さく(C<Ct)かつ相関値バッファCbが相関値閾値Ct以上(Cb≧Ct)であるかどうかを確認する。C<CtかつCb≧Ctの場合、処理はステップSF112に移行し、C≧CtまたはCb<Ctの場合、処理はステップSF116に移行する。
【0108】
ステップSF112では、CPU34cが、相関値ステータスScを0(Sc=0)として、RAM34aに記録する。ステップSF113では、CPU34cが、最大相関値Cmを0(Cm=0)として、RAM34aに記録する。ステップSF114では、CPU34cが、バッファ画像をレコード画像としてRAM34aに記録する。RAM34aに記録されたレコード画像は、ステップSF114の処理が実行される度に上書きされる。ステップSF115では、CPU34cが、保存フラグをONとして、RAM34aに記録する。
【0109】
ステップSF116では、CPU34cが、相関値バッファCbを相関値C(Cb=C)として、RAM34aに記録する。ステップSF116の処理が終了すると、処理はステップSF11に移行する。
【0110】
図17は、相関値Cの経時変化を示すグラフである。以下、図17を参照しながら、レコード処理および相関処理の詳細を説明する。
【0111】
図17に示すグラフの横軸は時間であり、縦軸はステップSF101でCPU34cが算出する相関値Cである。相関値Cには、周期的に極大値と極小値が現われている。相関値Cが極大値を示す領域は、テンプレート画像とブレード画像との相関値を示している。また、相関値Cが極小値を示す領域は、テンプレート画像とブレードの背景(ジェットエンジンの内壁等)の画像との相関値を示している。相関値閾値Ctは、両者のほぼ中間の値になるように設定され、RAM34aに記録されている。
【0112】
まず、ユーザが[レコード開始]ボタンを押下したタイミング(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)。
【0113】
続いて、t=t2から、相関値Cが相関値閾値Ctより小さくなるタイミング(t=t3)までの間、相関値ステータスScは2(Sc=2)である。この間、最大相関値Cmは更新されず一定のままであり、かつフレーム画像がバッファ画像としてRAM34aに記録されることはない。
【0114】
続いて、t=t3において、相関値ステータスScは再度0(Sc=0)となり(ステップSF112)、バッファ画像はレコード画像としてRAM34aに記録される(ステップSF114)。このときのバッファ画像は、t=t2において、相関値Cが極大を示すタイミングでのフレーム画像である。これ以降、ユーザが[レコード停止]ボタンを押下するまで、相関値Cが極大を示すタイミング(t=t4,t5,t6,・・・)におけるフレーム画像がレコード画像として順次保存される。
【0115】
次に、図18を用いて、ステップSGの画像閲覧処理の流れを説明する。ステップSG1では、CPU34cが、[画像閲覧]ボタンがユーザにより押下されたかどうかを確認する。[画像閲覧]ボタンが押下された場合、処理はステップSG2に移行し、[画像閲覧]ボタンが押下されていない場合、処理はステップSHに移行する。
【0116】
ステップSG2では、CPU34cが、[画像閲覧]ウィンドウを表示するための処理を行う。前述したように、[画像閲覧]ウィンドウが表示されている間、メインウィンドウはユーザによる操作が無効の状態となる。ステップSG3では、CPU34cが初期化処理を行う。初期化処理とは、[画像閲覧]ウィンドウ内の各種GUIの初期状態を設定したり、RAM34aに記録された各種データの初期値を設定したりする処理のことである。初期化処理の詳細は、後述する。
【0117】
ステップSG4では、CPU34cが日時選択処理行う。日時選択処理とは、ユーザが[日時選択]ボックスのレコード開始日時の選択を変更したことをCPU34cが検出し、[閲覧画像]ボックスに表示される画像を変更する処理のことである。日時選択処理の詳細は、後述する。
【0118】
ステップSG5では、CPU34cが画像選択処理を行う。画像選択処理とは、ユーザが[<< 前]ボタン、[次 >>]ボタンを押下することをCPU34cが検出し、[閲覧画像]ボックスに表示される画像を変更する処理のことである。画像選択処理の詳細は、後述する。
【0119】
ステップSG6では、CPU34cが、[閉じる]ボタンがユーザにより押下されたかどうかを確認する。[閉じる]ボタンが押下された場合、処理はステップSG7に移行し、[閉じる]ボタンが押下されていない場合、処理はステップSG4に移行する。ステップSG7では、CPU34cが、[画像閲覧]ウィンドウを非表示とする処理を行う。ステップSG7の処理が終了すると、処理はステップSHに移行する。
【0120】
次に、図19を用いて、ステップSG3の初期化処理の流れを説明する。ステップSG300では、CPU34cが保存フォルダリストを作成する。ステップSG301では、CPU34cが、作成された保存フォルダリストをRAM34aに記録する。RAM34aに記録された保存フォルダリストは、保存フォルダリストが作成される度に、上書きされる。
【0121】
ステップSG302では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoが1の保存フォルダ内の画像ファイルリストを作成する。ステップSG303では、CPU34cが、作成された画像ファイルリストをRAM34aに記録する。RAM34aに記録された画像フォルダリストは、画像フォルダリストが作成される度に上書きされる。
【0122】
ステップSG304では、CPU34cが、保存フォルダリストにおいて、全てのレコード開始日時を[日時選択]ボックスにリスト表示するための処理を行う。ステップSG305では、CPU34cが、[日時選択]ボックスにリスト形式で表示されたレコード開始日時のうち、保存フォルダリストにおいて、保存フォルダNoが1のレコード開始日時を強調表示するための処理を行う。
【0123】
ステップSG306では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG307では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0124】
ステップSG308では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoが1の保存フォルダ内の画像ファイル数を[画像ファイル数]ボックスに表示するための処理を行う。ステップSG309では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG309の処理が終了すると、処理はステップSG4に移行する。
【0125】
次に、図20を用いて、ステップSG4の日時選択処理の流れを説明する。ステップSG400では、CPU34cが、[日時選択]ボックスにおけるレコード開始日時の選択がユーザにより変更されたかどうかを確認する。レコード開始日時の選択が変更された場合、処理はステップSG401に移行し、レコード開始日時の選択が変更されていない場合、処理はステップSG5に移行する。
【0126】
ステップSG401では、CPU34cが、[日時選択]ボックスにおいてユーザが選択したレコード開始日時をもつ保存フォルダの保存フォルダNoを保存フォルダリストから取得する。このとき取得したフォルダナンバーをFとする。ステップSG402では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoがFの保存フォルダ内の画像ファイルリストを作成する。ステップSG403では、CPU34cが、ステップSG402で作成された画像ファイルリストをRAM34aに記録する。RAM34aに記録された画像ファイルリストは、画像ファイルリストが作成される度に上書きされる。
【0127】
ステップSG404では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG405では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0128】
ステップSG406では、CPU34cが、保存フォルダリストにおいて、フォルダNoが1の保存フォルダ内の画像ファイル数を[画像ファイル数]ボックスに表示するための処理を行う。ステップSG407では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG407の処理が終了すると、処理はステップSG5に移行する。
【0129】
次に、図21を用いて、ステップSG5の画像選択処理の流れを説明する。ステップSG500では、CPU34cが、[<< 前]ボタンがユーザにより押下されたかどうかを確認する。[<< 前]ボタンが押下された場合、処理はステップSG501に移行し、[<< 前]ボタンが押下されていない場合、処理はステップSG504に移行する。
【0130】
ステップSG501では、CPU34cが、画像ファイルリストにおいて、現在の[閲覧画像]ボックスに表示されている画像ファイルの画像ファイルNoより、1つ前の画像ファイルNoをもつ画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG502では、CPU34cが、画像ファイルリストにおいて、上記1つ前の画像ファイルNoをもつ画像ファイルの画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0131】
ステップSG503では、CPU34cが、画像ファイルリストにおいて、上記1つ前の画像ファイルNoをもつ画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG504では、CPU34cが、[次 >>]ボタンがユーザにより押下されたかどうかを確認する。[次 >>]ボタンが押下された場合、処理はステップSG505に移行し、[次 >>]ボタンが押下されていない場合、処理はステップSG6に移行する。
【0132】
ステップSG505では、CPU34cが、画像ファイルリストにおいて、現在の[閲覧画像]ボックスに表示されている画像ファイルの画像ファイルNoより、1つ後の画像ファイルNoをもつ画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG506では、CPU34cが、画像ファイルリストにおいて、上記1つ後の画像ファイルNoをもつ画像ファイルの画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0133】
ステップSG507では、CPU34cが、画像ファイルリストにおいて、上記1つ後の画像ファイルNoをもつ画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG507の処理が終了すると、処理はステップSG6に移行する。
【0134】
本実施形態の変形例として、ジェットエンジン1の個体を識別する手段を設けると共にジェットエンジン1毎のタービンブレード10の最大枚数を内視鏡装置3に記憶させておき、識別されたジェットエンジン1に対応した最大枚数をブレード記録ソフトの動作時に用いてもよい。ジェットエンジン1の個体を識別する手段としては、例えばバーコードやICタグ等をジェットエンジン1に取り付け、バーコードリーダやICタグリーダ等の読み取り器を内視鏡装置3に接続し、読み取り器でバーコードやICタグ等からジェットエンジン1の識別情報を読み取るようにすればよい。
【0135】
本実施形態によれば、以下の効果を得ることができる。本実施形態では、タービンブレードを撮像した複数のフレーム画像の中から、テンプレート画像との画像比較の結果である相関値に基づいて、一部のフレーム画像を選択することによって、フレーム画像内のタービンブレードの位置や角度がテンプレート画像内のタービンブレードの位置や角度と同じになったときのフレーム画像を取得することができる。そのため、タービンブレードの回転と撮像のタイミングを合わせるための特別な制御を必要とせず、簡易な方法でタービンブレードの画像を取得することができる。
【0136】
本実施形態で示した手法により取得したタービンブレードの画像を用いて、タービンブレードの検査を行うことが可能となる。特に、図6のレコード画像ボックス603にレコード画像を表示することによって、タービンブレードの検査をリアルタイムで行うことができる。また、このレコード画像を画像ファイルとして記録媒体に保存することによって、検査を行うことが可能な時間や場所を拡張することができる。さらに、タービンブレードの画像を保存する場合に、内視鏡映像をそのまま動画ファイルとして保存すると、ファイルサイズが大きくなってしまうが、本実施形態のように、内視鏡映像のうち、一部のフレーム画像を静止画像ファイルとして保存することによって、記録媒体の記録容量が圧迫されることを防ぎながら、検査に必要なタービンブレードの画像を保存することができる。
【0137】
また、テンプレート画像を基準にして、フレーム画像内のタービンブレードの位置や角度がテンプレート画像内のタービンブレードの位置や角度と同じになったときのフレーム画像を取得することによって、ユーザにとってタービンブレードの検査を行うのに適した状態で撮像したフレーム画像を取得することができ、検査を効率的に行うことができる。また、フレーム画像の中から選択したテンプレート画像を使用することによって、図17に示した相関値の経時変化がはっきりとするので、所望の状態で撮像したフレーム画像を取得する精度を向上することができる。さらに、フレーム画像の中から選択したテンプレート画像を表示することによって、取得するフレーム画像内のタービンブレードの状態がユーザにとって適した状態となっているか否かをユーザに確認させることができる。
【0138】
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。第1の実施形態では、フレード記録ソフトの[画像閲覧]ウィンドウにはレコード画像ファイルの閲覧機能のみが搭載されていたが、本実施形態における[画像閲覧]ウィンドウには、レコード画像ファイルの閲覧機能だけでなく、ブレードの欠陥抽出機能およびステレオ計測機能が搭載されている。
【0139】
図22は、本実施形態における[画像閲覧]ウィンドウを示している。図22に示す[画像閲覧]ウィンドウ2200において、第1の実施形態における[画像閲覧]ウィンドウ700(図7)と異なるのは、[画像閲覧]ウィンドウ2200の右側に[欠陥検査]グループボックス2201が配置されている点である。[欠陥検査]グループボックス2201内には、欠陥抽出およびステレオ計測を行うための各種GUIが配置されている。以下では、閲覧画像2202が、同一被写体に関する2つの被写体像を結像可能なステレオ光学アダプタを通して撮像された左右一対の画像である場合を中心として説明する。ステレオ光学アダプタは内視鏡挿入部20の先端に装着される。以下、左側に表示される画像を左画像、右側に表示される画像を右画像と記載する。
【0140】
以下、[欠陥抽出]グループボックス2201内の各種GUIの機能を説明する。[欠陥抽出]チェックボックス2210は、閲覧画像2202に対して、欠陥抽出処理を行うためのチェックボックスである。ユーザが[欠陥抽出]チェックボックス2210にチェックを入れると、図23のように、閲覧画像2202上に欠陥輪郭線2230が重畳表示される。欠陥抽出処理の詳細は、後述する。
【0141】
[輝度閾値]バー2211は、後述する欠陥抽出処理の検査パラメータの1つである輝度閾値を設定するためのバーである。輝度閾値は、欠陥抽出処理において、閲覧画像2202を2値化する際に使用される。[面積閾値]バー2212は、後述する欠陥抽出処理の検査パラメータの1つである面積閾値を設定するためのバーである。面積閾値は、欠陥抽出処理において、閲覧画像内の小さなブロブ(Blob、粒子)を除去する際に使用される。[輝度選択]ラジオボタン2213は、後述する欠陥抽出処理の検査パラメータの1つである輝度値の種類を設定するためのラジオボタンである。輝度値は、欠陥抽出処理において、画像をグレースケール画像に変換する際に使用される。
【0142】
[ステレオ計測]チェックボックス2220は、閲覧画像2202に対して、後述するステレオ計測を行うためのチェックボックスである。[欠陥抽出]チェックボックス2210にチェックが入った状態で、ユーザが[ステレオ計測]チェックボックス2220にチェックを入れると、図24のように、閲覧画像2202に計測領域線2240が重畳表示され、欠陥抽出処理によって抽出された欠陥に対して、ステレオ計測が可能な状態となる。
【0143】
計測領域線2240は、閲覧画像2202内においてステレオ計測を行うことが可能な領域の境界線であり、左右一対の矩形線で表示される。そして、図25のように、閲覧画像2202の左画像上に重畳表示された欠陥の輪郭線2230に、ユーザがカーソル2250を移動させ、左クリック等で欠陥の輪郭線2230を指定すると、図26のように、欠陥輪郭線2230が欠陥矩形線2260で囲まれ、左画像上に計測点2270が表示されると共に、右画像上にマッチング点2271が表示される。欠陥矩形線、計測点、マッチング点の詳細は、後述する。さらに、後述する[計測結果]ボックス2222に、指定された欠陥に対するステレオ計測の結果が表示される。
【0144】
図22の[環境データ]ボタン2221は、環境データを選択するためのボタンである。環境データは、ステレオ計測を行う際に使用するデータであり、ステレオ光学アダプタの光学的歪みを補正するためのデータ等が含まれる。環境データは、特開2001−275934号公報に記載されているものと同様である。
【0145】
[環境データ]ボタン2221が押下されると、図示しないファイル選択ダイアログが開く。そして、このファイル選択ダイアログにおいて、ユーザが環境データを選択する。このとき選択される環境データは、画像を撮像する際に使用したステレオ光学アダプタに対応したデータである。そして、[ステレオ計測]チェックボックス2220が無効状態から有効状態へ切り替わり、[ステレオ計測]チェックボックス2220にチェックを入れることが可能となる。
【0146】
なお、[ステレオ計測]チェックボックスおよび[環境データ]ボタンは、閲覧画像がステレオ計測用の画像(左右1対の画像)でなかった場合、常に無効となり、ステレオ計測を行うことはできない状態となる。
【0147】
[計測結果]ボックス2222は、計測結果を表示するためのボックスである。計測結果には、距離、幅1,2、周囲長、面積の5つがある。計測結果の詳細は、後述する。
【0148】
次に、図27を用いて、本実施形態における画像閲覧処理の流れを説明する。図27に示すステップSG3aの初期化処理、ステップSG4aの日時選択処理、ステップSG5aの画像選択処理の内容は、第1の実施形態における画像閲覧処理の流れ(図18)と異なる。また、図27に示すステップSG5aとステップSG6との間に、ステップSG8の欠陥抽出処理、ステップSG9のステレオ計測前処理、ステップSG10の欠陥指定処理が追加されていることも、第1の実施形態における画像閲覧処理の流れ(図18)と異なる。以下、第1の実施形態における画像閲覧処理の流れ(図18)と異なる点のみ、説明する。
【0149】
ステップSG3aでは、CPU34cが初期化処理を行う。初期化処理の詳細は、後述する。ステップSG4aでは、CPU34cが日時選択処理を行う。日時選択処理の詳細は、後述する。ステップSG5aでは、CPU34cが画像選択処理を行う。画像選択処理の詳細は、後述する。
【0150】
ステップSG8では、CPU34cが欠陥抽出処理を行う。欠陥抽出処理とは、設定された検査パラメータに基づいて、閲覧画像上の欠陥を抽出する処理を行い、抽出した欠陥を閲覧画像に重畳表示する処理のことである。欠陥抽出処理の詳細は、後述する。
【0151】
ステップSG9では、CPU34cがステレオ計測前処理を行う。ステレオ計測前処理とは、選択された環境データに基づいて、閲覧画像の補正を行い、閲覧画像をステレオ計測が可能な状態とする処理のことである。ステレオ計測前処理の詳細は、後述する。
【0152】
ステップSG10では、CPU34cが欠陥指定処理を行う。欠陥指定処理とは、CPU34cが、閲覧画像に重畳表示された欠陥をユーザが指定したことを検出し、[計測結果]ボックスに欠陥サイズの計測結果を表示する処理のことである。欠陥指定処理の詳細は、後述する。
【0153】
次に、図28を用いて、ステップSG3aの初期化処理の流れを説明する。図28に示すステップSG309の後にステップSG310およびステップSG311が追加されている点が、第1の実施形態における初期化処理の流れ(図19)と異なる。以下、第1の実施形態における初期化処理の流れ(図19)と異なる点のみ、説明する。
【0154】
ステップSG310では、CPU34cが[ステレオ計測]チェックボックスを無効とする。ステップSG311では、CPU34cが、欠陥抽出フラグをOFF、ステレオ計測フラグをOFFとして、RAM34aに記録する。欠陥抽出フラグとは、欠陥抽出処理を行うかどうかを示すフラグである。ステレオ計測フラグとは、ステレオ計測前処理を行うかどうかを示すフラグである。
【0155】
次に、図29を用いて、ステップSG4aの日時選択処理の流れを説明する。図29に示すステップSG407の後にステップSG408が追加されている点が、第1の実施形態における日時選択処理の流れ(図20)と異なる。以下、第1の実施形態における日時選択処理の流れ(図20)と異なる点のみ、説明する。
【0156】
ステップSG408では、CPU34cが、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとして、RAM34aに記録する。ステップSG408において、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとするのは、ステップSG400において、[日時選択]ボックスのレコード開始日時の選択が変更されると、閲覧画像が変更されることにより、欠陥抽出処理およびステレオ計測前処理を改めて行う必要があるからである。なお、ステップSG404において、画像ファイルが[閲覧画像]ボックスに表示されるとき、既に重畳表示された計測領域線等は全て非表示となる。
【0157】
次に、図30を用いて、ステップSG5の画像選択処理の流れを説明する。図30に示すステップSG503の後にステップSG508が追加され、ステップSG507の後にステップSG509が追加されている点が、第1の実施形態における画像選択処理の流れ(図21)と異なる。以下、第1の実施形態における画像選択処理の流れ(図21)と異なる点のみ、説明する。
【0158】
ステップSG508では、CPU34cが、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとして、RAM34aに記録する。ステップSG509では、CPU34cが、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとして、RAM34aに記録する。ステップSG508,SG509において、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとするのは、ステップSG500,SG504において、[<< 前]ボタン、[次 >>]ボタンが押下されると、閲覧画像が変更されることにより、欠陥抽出処理およびステレオ計測前処理を改めて行う必要があるからである。なお、ステップSG501,SG505において、画像ファイルが[閲覧画像]ボックスに表示されるとき、既に重畳表示された計測領域線等は全て非表示となる。
【0159】
次に、図31および図32を用いて、ステップSG8の欠陥抽出処理の流れを説明する。ステップSG800では、CPU34cが、[欠陥抽出]チェックボックスにチェックがあるかどうかを確認する。[欠陥抽出]チェックボックスにチェックがある場合、処理はステップSG801に移行し、[欠陥抽出]チェックボックスにチェックがない場合、処理はステップSG802に移行する。
【0160】
ステップSG801では、CPU34cが、[輝度閾値]バーから輝度閾値Yt、[面積閾値]バーから面積閾値At、[輝度選択]ラジオボタンから輝度選択Sをそれぞれ取得し、RAM34aに記録する。ステップSG802では、CPU34cが、 [欠陥抽出]チェックボックスにチェックを入れる指示がユーザからあったかどうかを確認する。[欠陥抽出]チェックボックスにチェックを入れる指示があった場合、処理はステップSG803に移行し、[欠陥抽出]チェックボックスにチェックを入れる指示がない場合、処理はステップSG9に移行する。
【0161】
ステップSG803では、ステップSG801と同様、CPU34cが、[輝度閾値]バーから輝度閾値Yt、[面積閾値]バーから面積閾値At、[輝度選択]ラジオボタンから輝度選択Sをそれぞれ取得し、RAM34aに記録する。また、CPU34cは、[欠陥抽出]チェックボックスにチェックを入れる処理を行う。
【0162】
ステップSG804では、CPU34cが、ステップSG803で取得した輝度閾値Yt、面積閾値At、輝度選択Sを、それぞれ前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slとし、RAM34aに記録する。前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slとは、前回欠陥抽出処理が行われた際に使用された、輝度閾値Yt、面積閾値At、輝度選択Sを、それぞれ一時的に記録したものである。ステップSG805では、CPU34cが、欠陥抽出フラグをONとして、RAM34aに記録する。
【0163】
ステップSG806では、CPU34cが、輝度閾値Yt、面積閾値At、輝度選択Sが、それぞれ前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slと、全て等しいかどうかを確認する。ステップSG806の処理は、前回欠陥抽出処理が行われた際に使用された検査パラメータがユーザによって変更されたかどうかを確認する処理である。全ての検査パラメータが前回と同一の場合、処理はステップSG808に移行し、1つ以上の検査パラメータが前回と異なる場合、処理はステップSG807に移行する。ステップSG807では、CPU34cが、欠陥抽出フラグをONとして、RAM34aに記録する。
【0164】
ステップSG808では、CPU34cが、欠陥抽出フラグがONかどうかを確認する。欠陥抽出フラグがONの場合、処理はステップSG809に移行し、欠陥抽出フラグがOFFの場合、処理はステップSG821に移行する。
【0165】
以下、ステップSG809〜SG818では、適宜図33も用いて説明する。ステップSG809では、CPU34cが、保存フォルダに保存されたテンプレート画像ファイルおよび閲覧画像ファイルの画像データを取得し、RAM34aに記録する。この画像データとは、画像の各画素のRGB輝度値を指す。
【0166】
ステップ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となる。
【0167】
ステップSG811では、CPU34cが、ステップSG810で作成された2枚のグレースケール画像の差分をとった画像(以下、差分画像と記載)を作成する。図33には、テンプレート画像のグレースケール画像3300と閲覧画像のグレースケール画像3301との間で差分を取ることにより、差分画像3310が作成される様子が示されている。
【0168】
ステップSG812では、CPU34cが、RAM34aに記録された輝度閾値Ytに基づいて差分画像を2値化し、2値画像を作成する。図33には、差分画像3310を2値化することにより、2値画像3320が作成される様子が示されている。
【0169】
ステップSG813では、CPU34cが、作成された2値画像に対して、膨張・収縮処理を行い、小さなノイズを除去する。ステップSG814では、CPU34cが、ステップSG813でノイズを除去した2値画像に対してラベリング処理を行い、ブロブ(粒子)を抽出する。ステップSG815では、CPU34cが、RAM34aに記録された面積閾値Atより小さな面積をもつブロブを、ステップSG814でノイズを除去した画像から除去する。図33には、2値画像3320から小さなブロブが除去された様子が示されている。
【0170】
ステップSG816では、CPU34cが、ステップSG814で小さなブロブが除去された2値画像から、残ったブロブの輪郭線を欠陥輪郭線として抽出する。図33には、ブロブの輪郭線3330が抽出された様子が示されている。ステップSG817では、CPU34cが、ステップSG816で抽出された欠陥輪郭線の座標をRAM34aに記録する。
【0171】
ステップSG818では、CPU34cが、RAM34aに記録された欠陥輪郭線の座標に基づいて、閲覧画像に欠陥輪郭線を重畳表示する処理を行う。図33には、閲覧画像3340に欠陥輪郭線3330が重畳表示された様子が示されている。ステップSG819では、CPU34cが、ステップSG801またはステップSG803でRAM34aに記録された輝度閾値Yt、面積閾値At、輝度選択Sを、それぞれ前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slとし、RAM34aに記録する。
【0172】
ステップSG820では、CPU34cが、欠陥抽出フラグをOFFとして、RAM34aに記録する。ステップSG821では、CPU34cが、[欠陥抽出]チェックボックスからチェックを外す指示がユーザからあったかどうかを確認する。[欠陥抽出]チェックボックスからチェックを外す指示があった場合、処理はステップSG822に移行し、[欠陥抽出]チェックボックスからチェックを外す指示がない場合、処理はステップSG9に移行する。
【0173】
ステップSG822では、CPU34cが、ステップSG817でRAM34aに記録された欠陥輪郭線の座標に基づいて、閲覧画像に表示された欠陥輪郭線を非表示とする処理を行う。また、CPU34cは、[欠陥抽出]チェックボックスからチェックを外す処理を行う。ステップSG822の処理が終了すると、処理はステップSG9に移行する。
【0174】
次に、図34を用いて、ステップSG9のステレオ計測前処理の流れを説明する。ステップSG900では、CPU34cが、[環境データ]ボタンがユーザにより押下されたかどうかを確認する。[環境データ]ボタンが押下された場合、処理はステップSG901に移行し、[環境データ]ボタンが押下されていない場合、処理はステップSG905に移行する。
【0175】
ステップSG901では、CPU34cが、図示しない[ファイルを開く]ダイアログを表示するための処理を行う。ステップSG902では、CPU34cが、[ファイルを開く]ダイアログにおいてユーザにより環境データが選択されたかどうかを確認する。環境データが選択された場合、処理はステップSG903に移行し、環境データが選択されていない場合、処理はステップSG905に移行する。
【0176】
ステップSG903では、CPU34cが、選択された環境データをRAM34aに記録する。RAM34aに記録された環境データは、環境データが選択される度に上書きされる。ステップSG904では、CPU34cが[ステレオ計測]チェックボックスを有効にする。ステップSG905では、CPU34cが、[ステレオ計測]チェックボックスにチェックがあるかどうかを確認する。[ステレオ計測]チェックボックスにチェックがある場合、処理はステップSG908に移行し、[ステレオ計測]チェックボックスにチェックがない場合、処理はステップSG906に移行する。
【0177】
ステップSG906では、CPU34cが、[ステレオ計測]チェックボックスにチェックを入れる指示がユーザからあったかどうかを確認する。[ステレオ計測]チェックボックスにチェックを入れる指示があった場合、処理はステップSG907に移行し、[ステレオ計測]チェックボックスにチェックを入れる指示がない場合、処理はステップSG10に移行する。
【0178】
ステップSG907では、CPU34cが、ステレオ計測フラグをONとして、RAM34aに記録する。また、CPU34cは、[ステレオ計測]チェックボックスにチェックを入れる処理を行う。ステップSG908では、CPU34cが、ステレオ計測フラグがONかどうかを確認する。ステレオ計測フラグがONの場合、処理はステップSG909に移行し、ステレオ計測フラグがOFFの場合、処理はステップSG10に移行する。
【0179】
ステップSG909では、CPU34cが、RAM34aに記録されている計測領域線の座標に基づいて、閲覧画像に計測領域線を重畳表示する処理を行う。計測領域線の座標は、環境データの一部として、RAM34aに記録されている。
【0180】
ステップSG910では、CPU34cが、保存フォルダに保存された閲覧画像ファイルの画像データを取得し、RAM34aに記録する。ステップSG911では、CPU34cが、ステップSG910で取得された画像データを補正する。ステップSG911で行われる補正処理は、特開平10−248806号公報に記載されているものと同様である。
【0181】
ステップSG912では、CPU34cが、ステップSG911で補正された画像データを、補正画像データとしてRAM34aに記録する。RAM34aに記録された補正画像データは、補正画像データが作成される度に上書きされる。ステップSG913では、CPU34cが、ステレオ計測フラグをOFFとして、RAM34aに記録する。
【0182】
ステップSG914では、CPU34cが、[ステレオ計測]チェックボックスからチェックを外す指示がユーザからあったかどうかを確認する。[ステレオ計測]チェックボックスからチェックを外す指示があった場合、処理はステップSG915に移行し、[ステレオ計測]チェックボックスからチェックを外す指示がない場合、処理はステップSG10に移行する。ステップSG915では、CPU34cが、RAM34aに記録されている計測領域線の座標に基づいて、閲覧画像に表示された計測領域線を非表示とする処理を行なう。また、CPU34cは、[ステレオ計測]チェックボックスからチェックを外す処理を行う。ステップSG915の処理が終了すると、処理はステップSG10に移行する。
【0183】
次に、図35を用いて、ステップSG10の欠陥指定処理の流れを説明する。ステップSG1000では、CPU34cが、[ステレオ計測]チェックボックスにチェックがあるかどうかを確認する。[ステレオ計測]チェックボックスにチェックがある場合、処理はステップSG1001に移行し、[ステレオ計測]チェックボックスにチェックがない場合、処理はステップSG6に移行する。
【0184】
ステップSG1001では、CPU34cが、閲覧画像の左側計測領域内に表示された欠陥輪郭線がユーザにより指定されたかどうかを確認する。欠陥輪郭線がユーザにより指定された場合、処理はステップSG1002に移行し、欠陥輪郭線がユーザにより指定されていない場合、処理はステップSG6に移行する。
【0185】
ステップSG1002では、CPU34cが、既に閲覧画像に重畳表示された欠陥矩形線、計測点、マッチング点を非表示とする処理を行う。ステップSG1003では、CPU34cが、閲覧画像に欠陥矩形線を重畳表示する処理を行う。欠陥矩形線とは、ユーザにより指定された欠損領域線の周囲に表示される矩形線であり、現在ユーザにより指定されている欠陥輪郭線であることを示す。
【0186】
以下、ステップSG1004〜SG1009では、適宜図36も用いて説明する。ステップSG1004では、CPU34cが、RAM34aに記録された、現在ユーザにより指定されている欠陥輪郭線の座標に基づいて、計測点座標を算出する。計測点とは、欠陥のサイズを計測する際に用いる点である。図36(a),(b)のように、計測点3610は欠陥輪郭線3600上において等間隔に位置している。
【0187】
ステップSG1005では、CPU34cが、閲覧画像の画像データに基づいて、左側計測領域内の計測点座標に対応した、右側計測領域内のマッチング点座標を算出する。より具体的には、CPU34cが、計測点座標に基づいてパターンマッチング処理を実行し、左右2画像の対応点であるマッチング点の座標を算出する。このパターンマッチング処理の方法は、特開2004−49638号公報に記載されたものと同様である。
【0188】
ステップSG1006では、CPU34cが、ステップSG1004〜SG1005で算出された計測点座標およびマッチング点座標に基づいて、各計測点の空間点座標(現実の空間上の3次元座標)を算出する。空間点座標の計算方法は、特開2004−49638号公報に記載されているものと同様である。
【0189】
ステップSG1007では、CPU34cが、ステップSG1006で算出された空間点座標に基づいて、計測結果を算出する。計測結果は、欠陥の距離、幅1,2、周囲長、面積の5種類を含む。
【0190】
距離とは、全ての空間点の奥行き方向の座標の平均値である。幅1とは、図36(c),(d)のように、全ての計測点座標から求めた等価楕円3620と、その長軸3621との交点から最近傍にある計測点同士の空間距離である。幅2とは、図36(c),(d)のように、等価楕円3620とその短軸3622との交点から最近傍にある計測点同士の空間距離である。なお、等価楕円とは、複数の座標から近似できる楕円である。周囲長とは、図36(e)のように、全ての隣り合う計測点の空間点距離3630の合計である。面積とは、図36(f)のように、全ての隣り合う計測点によって囲まれた領域3640の空間面積である。
【0191】
ステップSG1008では、CPU34cが、閲覧画像の左側計測領域内に計測点を重畳表示すると共に右側計測領域内にマッチング点を重畳表示する処理を行う。ステップSG1009では、CPU34cが、ステップSG1007で算出された計測結果を[計測結果]ボックスに表示する処理を行う。ステップSG1009の処理が終了すると、処理はステップSG6に移行する。
【0192】
本実施形態では、ステレオ光学アダプタを使用して撮像した閲覧画像を用いているが、欠陥抽出処理に関しては、ステレオ光学アダプタ以外の光学アダプタを使用して撮像した閲覧画像を用いることも可能である。図37に示す[画像閲覧]ウィンドウ3700では、光学アダプタにより結像された1つの被写体像を撮像した閲覧画像3701が表示されている。ユーザが[欠陥抽出]チェックボックス3710にチェックを入れると、図38のように、閲覧画像3701上に欠陥輪郭線3720が重畳表示される。
【0193】
また、本実施形態では、図23のように、閲覧画像2202において、欠陥抽出処理によって抽出された欠陥に対応する位置に欠陥輪郭線2230が表示されるが、欠陥の位置を明示できるものであれば、表示するのは線でなくてもよい。例えば、欠陥に対応する位置に矢印等の図形を表示したり、「欠陥」等の文字を表示したりしてもよい。
【0194】
本実施形態によれば、閲覧画像とテンプレート画像との差分を抽出することによって、欠陥の種類によらずブレードの欠陥を抽出することができる。さらに、抽出された欠陥上に欠陥輪郭線等を重畳表示することによって、ユーザが欠陥の位置を認識しやすくなる。
【0195】
また、抽出された欠陥に対して計測を実行することによって、欠陥のサイズを知ることができる。さらに、閲覧画像上に表示された欠陥のうち、ユーザが欠陥輪郭線を指定することによって指定した欠陥に対して計測を実行することによって、ユーザが希望する欠陥のサイズを知ることができる。さらに、ステレオ光学アダプタを使用して撮像した閲覧画像を用いて欠陥抽出処理を行い、抽出された欠陥に基づいてステレオ計測を実行することによって、欠陥の3次元サイズを知ることができる。
【0196】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0197】
1・・・ジェットエンジン、2・・・ターニングツール、3・・・内視鏡装置、4・・・ビデオ端子ケーブル、5・・・ビデオキャプチャカード、6・・・PC、7・・・LANケーブル、10・・・タービンブレード、20・・・内視鏡挿入部、21・・・内視鏡装置本体、22,25・・・モニタ(表示部)、23・・・リモコン(入力部)、24・・・PC本体、30a・・・撮像光学系、30b・・・撮像素子、31・・・画像信号処理装置、32・・・光源、33・・・湾曲制御ユニット、34,35・・・制御用コンピュータ、34a,35a・・・RAM、34b・・・ROM、34c,35c・・・CPU(画像比較部、画像選択部、差分抽出部、計測部)、34d,35d・・・ネットワークI/F、34e・・・RS232C I/F、34f・・・カードI/F、35b・・・HDD、35e・・・USB I/F
【技術分野】
【0001】
本発明は、ジェットエンジン内に周期的に配置されたブレードを撮像した画像を処理する画像処理装置およびプログラムに関する。
【背景技術】
【0002】
従来、ジェットエンジン内のブレードを検査するため、内視鏡等の観察用治具を使用してブレードを観察することが行われている。例えば、特許文献1には、ブレードを連続的に撮像し、連続する2枚の画像を比較することによってブレードの欠陥を検出する方法が記載されている。また、特許文献2には、既知の欠陥パターンの特徴量に基づいてブレードの欠陥を検出する方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2004/183900号明細書
【特許文献2】特開2007−163723号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1には、連続する2枚の画像内におけるブレードの位置(ブレードの見え方)に関する記載はない。画像同士の差分をとるという簡単な方法で欠陥を抽出するためには、画像内におけるブレードの位置がほぼ同一であることが望まれる。しかし、画像内におけるブレードの位置をほぼ同一とするためには、ブレードの回転と撮像のタイミングを合わせる必要があるため、制御が複雑となる。一方、画像内におけるブレードの位置が異なる場合、既知のブレードのパターンを用いたパターンマッチングにより2枚の画像のそれぞれからブレードのパターンを抽出し、抽出したブレードのパターンを比較する方法が考えられる。しかし、この方法では複雑な画像処理が必要となる。
【0005】
また、特許文献2に記載された方法では、既知の欠陥パターンの特徴量を用いるため、欠陥パターンに合致しない欠陥を見逃すおそれがある。
【0006】
本発明は、上述した課題に鑑みてなされたものであって、簡易な方法で、欠陥の種類によらずブレードの欠陥を検出することができる画像処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するためになされたもので、ジェットエンジン内に周期的に配置されたブレードを撮像した画像と、テンプレート画像とを比較する画像比較部と、前記ブレードを撮像した画像の中から、前記画像比較部による画像比較の結果に基づいて一部の画像を選択する画像選択部と、前記画像選択部によって選択された画像と前記テンプレート画像との差分を抽出する差分抽出部と、を備えたことを特徴とする画像処理装置である。
【0008】
また、本発明の画像処理装置は、前記差分抽出部によって抽出された前記差分の位置に対応する画像に基づいて計測を実行する計測部をさらに備えたことを特徴とする。
【0009】
また、本発明の画像処理装置は、前記画像選択部によって選択された画像に、前記差分抽出部によって抽出された前記差分を示す情報を重畳して表示する表示部をさらに備えたことを特徴とする。
【0010】
また、本発明の画像処理装置は、前記差分抽出部によって抽出された前記差分を選択する指示を入力する入力部をさらに備え、前記計測部は、前記入力部に入力された指示が示す前記差分の位置に対応する画像に基づいて計測を実行することを特徴とする。
【0011】
また、本発明の画像処理装置において、前記ブレードを撮像した画像は、同一被写体に関する複数の被写体像を含み、前記計測部は、前記画像選択部によって選択された画像に含まれる一の被写体像において、前記差分抽出部によって抽出された前記差分に対応する位置に計測点を設定し、前記画像選択部によって選択された画像に含まれる他の被写体像において、前記計測点に対応する対応点を算出し、前記計測点および前記対応点に基づいて計測を実行することを特徴とする。
【0012】
また、本発明は、ジェットエンジン内に周期的に配置されたブレードを撮像した複数の画像と、テンプレート画像とを比較するステップと、前記ブレードを撮像した複数の画像の中から、前記画像比較部による画像比較の結果に基づいて一部の画像を選択するステップと、前記画像選択部によって選択された画像と前記テンプレート画像との差分を抽出するステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0013】
本発明によれば、ブレードを撮像した画像の中から、テンプレート画像との画像比較の結果に基づいて一部の画像を選択することによって、ブレードの回転と撮像のタイミングを合わせるための特別な制御を必要とせず、簡易な方法でブレードの画像を取得することができる。このように取得された画像とテンプレート画像との差分を抽出することによって、欠陥の種類によらずブレードの欠陥を検出することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施形態によるブレード検査システムの構成を示すブロック図である。
【図2】本発明の第1の実施形態によるブレード検査システムが備える内視鏡装置の構成を示すブロック図である。
【図3】本発明の第1の実施形態によるブレード検査システム(変形例)の構成を示すブロック図である。
【図4】本発明の第1の実施形態によるブレード検査システム(変形例)の構成を示すブロック図である。
【図5】本発明の第1の実施形態によるブレード検査システム(変形例)が備えるPCの構成を示すブロック図である。
【図6】本発明の第1の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図7】本発明の第1の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図8】本発明の第1の実施形態におけるメモリカード内のディレクトリ構造を示す参考図である。
【図9】本発明の第1の実施形態における保存フォルダリストを示す参考図である。
【図10】本発明の第1の実施形態における画像ファイルリストを示す参考図である。
【図11】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図12】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図13】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図14】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図15】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図16】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図17】本発明の第1の実施形態における相関値の経時変化を示すグラフである。
【図18】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図19】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図20】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図21】本発明の第1の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図22】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図23】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図24】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図25】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図26】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図27】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図28】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図29】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図30】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図31】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図32】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図33】本発明の第2の実施形態における欠陥抽出処理を説明するための参考図である。
【図34】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図35】本発明の第2の実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図36】本発明の第2の実施形態における欠陥指定処理を説明するための参考図である。
【図37】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図38】本発明の第2の実施形態におけるブレード記録ソフトの画面を示す参考図である。
【発明を実施するための形態】
【0015】
以下、図面を参照し、本発明の実施形態を説明する。
【0016】
(第1の実施形態)
まず、本発明の第1の実施形態を説明する。図1は、本実施形態によるブレード検査システムの構成を示している。ジェットエンジン1内には、検査対象物である複数のタービンブレード10(もしくはコンプレッサーブレード)が所定の間隔で周期的に配置されている。また、ジェットエンジン1には、タービンブレード10を回転方向Aに所定の速度で回転させるターニングツール2が接続されている。本実施形態では、タービンブレード10の画像を取り込んでいる間は常にタービンブレード10を回転させた状態にしている。
【0017】
本実施形態では、タービンブレード10の画像を取得するため、内視鏡装置3(本発明の画像処理装置に対応)が用いられる。ジェットエンジン1の内部には、内視鏡装置3の内視鏡挿入部20が挿入されており、この内視鏡挿入部20により、回転しているタービンブレード10の映像が取り込まれる。また、内視鏡装置3には、タービンブレード10を所望の角度で撮像した画像を記録するためのブレード記録ソフトが記憶されている。
【0018】
図2は内視鏡装置3の構成を示している。内視鏡装置3は、内視鏡挿入部20、内視鏡装置本体21、モニタ22、およびリモコン(リモートコントローラ)23から構成されている。内視鏡挿入部20の先端には、撮像光学系30aおよび撮像素子30bが内蔵されている。また、内視鏡装置本体21には、画像信号処理装置(CCU)31、光源32、湾曲制御ユニット33、および制御用コンピュータ34が内蔵されている。
【0019】
内視鏡挿入部20において、撮像光学系30aは被写体からの光を集光し、撮像素子30bの撮像面上に被写体像を結像する。撮像素子30bは、被写体像を光電変換して撮像信号を生成する。撮像素子30bから出力された撮像信号は画像信号処理装置31に入力される。
【0020】
内視鏡装置本体21において、画像信号処理装置31は、撮像素子30bからの撮像信号をNTSC信号等の映像信号に変換して制御用コンピュータ34に供給し、さらに必要に応じてアナログビデオ出力として、外部に出力する。
【0021】
光源32は、光ファイバ等を通じて内視鏡挿入部20の先端に接続されており、光を外部に照射することができる。湾曲制御ユニット33は内視鏡挿入部20の先端と接続されており、先端を上下左右に湾曲させることができる。光源32および湾曲制御ユニット33の制御は、制御用コンピュータ34によって行われる。
【0022】
制御用コンピュータ34は、RAM34a、ROM34b、CPU34c、外部インターフェースとしてネットワークI/F34d、RS232C I/F34e、カード I/F34fから構成されている。RAM34aは、ソフトウェア動作に必要な画像情報等のデータを一時記憶するために使用される。ROM34bには、内視鏡装置3を制御するための一連のソフトウェアが記憶されており、後述するブレード記録ソフトもROM34b内に記憶される。CPU34cは、ROM34bに記憶されているソフトウェアの命令コードに従って、RAM34aに記憶されたデータを用いて各種制御のための演算等を実行する。
【0023】
ネットワークI/F34dは、外部PCとLANケーブルによって接続するためのインターフェースであり、外部PCに対して、画像信号処理装置31から出力された映像情報を展開することができる。RS232C I/F34eは、リモコン23と接続するためのインターフェースであり、このリモコン23をユーザが操作することによって、内視鏡装置3の各種動作を制御することができる。カード I/F34fは、記録媒体である各種メモリカード50を自由に着脱できるようになっている。メモリカード50を装着することにより、CPU34cの制御によって、メモリカード50に記憶されている画像情報等のデータを取り込み、あるいは画像情報等のデータをメモリカード50に記録することができる。
【0024】
本実施形態によるブレード検査システムの構成の変形例として、図3に示す構成を用いてもよい。本変形例では、内視鏡装置3にビデオ端子ケーブル4およびビデオキャプチャカード5が接続されており、これによって、内視鏡装置3が取り込んだ映像をPC6(本発明の画像処理装置に対応)にも取り込ませることが可能となっている。PC6は、図3ではノート型PCとして描かれているが、デスクトップ型のPC等でもよい。PC6には、タービンブレード10を所望の角度で撮像した画像を記録するためのブレード記録ソフトが記憶されている。
【0025】
さらに、図3では、PC6への映像の取り込みにビデオ端子ケーブル4およびビデオキャプチャカード5を用いているが、図4に示すようにLANケーブル7を用いてもよい。内視鏡装置3は、取り込まれた映像をLANネットワーク上に展開することのできるネットワークI/F34dを備えている。そして、LANケーブル7を通じて、PC6に映像を取りませることができる。
【0026】
図5はPC6の構成を示している。PC6はPC本体24およびモニタ25から構成されている。PC本体24には、制御用コンピュータ35が内蔵されている。制御用コンピュータ35は、RAM35a、HDD(ハードディスクドライブ)35b、CPU35c、外部インターフェースとして、ネットワークI/F35d、USB I/F35eから構成されている。制御用コンピュータ35はモニタ25に接続されており、映像情報およびソフトウェアの画面等がモニタ25に表示される。
【0027】
RAM35aは、ソフトウェア動作に必要な画像情報等のデータを一時記憶するために使用される。HDD35bには、内視鏡装置を制御するために一連のソフトウェアが記憶されており、ブレード記録ソフトもHDD35b内に記憶される。また、本実施形態では、タービンブレード10の画像を保存する保存用フォルダはHDD35b内に設定される。CPU35cは、HDD35bに記憶されているソフトウェアの命令コードに従って、RAM35aに記憶されたデータを用いて各種制御のための演算等を実行する。
【0028】
ネットワークI/F35dは、内視鏡装置3とPC6をLANケーブル7によって接続するためのインターフェースであり、内視鏡装置3からLAN出力された映像情報をPC6に入力することができる。USB I/F35eは、内視鏡装置3とPC6をビデオキャプチャカード5によって接続するためのインターフェースであり、内視鏡装置3からアナログビデオ出力された映像情報をPC6に入力することができる。
【0029】
図3および図4に示すブレード検査システムでは、図1に示すブレード検査システムと同様の効果を得ることができる。特に、内視鏡装置の性能がPCよりも劣っており、内視鏡装置の動作速度等が十分でない場合等に、図3および図4に示すブレード検査システムは有効である。
【0030】
次に、ブレード記録ソフトの画面を説明する。図6は、ブレード記録ソフトのメインウィンドウを示している。図6に示すメインウィンドウ600は、ユーザがブレード記録ソフトを起動した際に表示される。
【0031】
メインウィンドウ600の表示は、CPU34cによる制御に従って行われる。CPU34cは、メインウィンドウ600を表示するためのグラフィック画像信号(表示信号)を生成し、モニタ22へ出力する。また、内視鏡装置3に取り込まれた映像(以下、内視鏡映像と記載)をメインウィンドウ600上に重畳表示する場合には、CPU34cは、画像信号処理装置31から取り込んだ画像データをグラフィック画像信号に重畳する処理を行い、処理後の信号(表示信号)をモニタ22へ出力する。
【0032】
また、メインウィンドウ600上のGUIの表示状態を更新する場合、CPU34cは、更新後のメインウィンドウ600に対応したグラフィック画像信号を生成し、上記と同様の処理を行う。メインウィンドウ600以外のウィンドウの表示に係る処理も上記と同様である。以下、メインウィンドウ600等を表示(更新も含む)するためにCPU34cがグラフィック画像信号を生成する処理のことを、メインウィンドウ600等を表示するための処理と記載する。
【0033】
ユーザは、GUI(グラフィカルユーザインタフェース)機能を利用して、リモコン23を介してメインウィンドウ600を操作することにより、内視鏡映像の閲覧および画像ファイルの保存を行うことができる。以下、各種GUIの機能を説明する。
【0034】
メインウィンドウ600の上部には、[プレビュー画像]ボックス601、[テンプレート画像]ボックス602、[レコード画像]ボックス603が配置されている。
【0035】
[プレビュー画像]ボックス601は、内視鏡映像を表示するためのボックスである。ターニングツール2によってタービンブレード10が回転している状態のとき、後述する[プレビュー開始]ボタン610が押下されると、内視鏡映像(タービンブレード10が回転している映像)がリアルタイムに表示される。このように、[プレビュー画像]ボックス601により、ユーザは内視鏡映像を閲覧することができる。以下、[プレビュー画像]ボックス601に内視鏡映像が表示されることを、プレビューと記載する。
【0036】
[テンプレート画像]ボックス602は、テンプレート画像を表示するためのボックスである。後述する[テンプレート登録]ボタン612が押下されると、内視鏡映像を構成する各フレームの画像のうち、そのタイミングで取りこまれた1フレーム分の画像が、[テンプレート画像]ボックス602にテンプレート画像として表示される。テンプレート画像とは、後述するレコード画像を表示する際に基準となる画像のことである。
【0037】
[レコード画像]ボックス603は、後述するレコード画像を表示するためのボックスである。後述する[レコード開始]ボタン613が押下された後、内視鏡映像を構成する各フレームの画像のうち、テンプレート画像との相関の高い画像(以下、レコード画像と記載)が順次表示される。[レコード画像]ボックス603に表示されたレコード画像は、画像ファイルとしてメモリカード50内の保存フォルダに順次保存される。
【0038】
ここで保存される画像ファイルを、以下、レコード画像ファイルと記載する。また、レコード画像ファイルをメモリカード50内の保存フォルダに順次保存することを、以下、レコードと記載する。保存フォルダの詳細は、後述する。
【0039】
[プレビュー開始]ボタン610は、[プレビュー画像]ボックス601への内視鏡映像の表示を開始するためのボタンである。[プレビュー停止]ボタン611は、[プレビュー画像]ボックス601への内視鏡映像の表示を停止するためのボタンである。
【0040】
[テンプレート登録]ボタン612は、所望の画像をテンプレート画像として登録するためのボタンである。[テンプレート登録]ボタン612が押下されると、内視鏡映像を構成する各フレームの画像のうち、そのタイミングで取りこまれた1フレーム分の画像が、[テンプレート画像]ボックス602にテンプレート画像として表示される。さらに、その1フレーム分の画像が、テンプレート画像としてRAM34aに記録される。
【0041】
[レコード開始]ボタン613は、レコードを開始するためのボタンである。[レコード開始]ボタン613が押下されると、後述する[レコード数]ボックス620の値が0にリセットされる。そして、内視鏡映像とテンプレート画像との比較が毎フレームで行われ、内視鏡映像を構成する各フレームの画像のうち、テンプレート画像との相関の高い1フレーム分のレコード画像が[レコード画像]ボックス603に順次表示される。さらに、表示されたレコード画像は、画像ファイルとしてメモリカード50内の保存フォルダに順次保存される。
【0042】
より具体的には、内視鏡映像内のタービンブレード10の位置や角度が、テンプレート画像内のタービンブレード10の位置や角度と同じになったとき(簡略化して言い換えると、内視鏡映像内のタービンブレード10と、テンプレート画像内のタービンブレード10との見え方が同じになったとき)の1フレーム分の画像が表示および保存されることになる。
【0043】
[レコード停止]ボタン614は、レコードを停止するためのボタンである。[画像閲覧]ボタン615は、メモリカード50内の保存フォルダに保存された画像ファイルを閲覧するためのボタンである。[画像閲覧]ボタン615が押下されると、後述する[画像閲覧]ウィンドウが表示される。[画像閲覧]ウィンドウが表示されている間は、メインウィンドウ600は、ユーザによる操作が無効の状態となる。
【0044】
[レコード数]ボックス620には、レコード画像ファイルの現在の保存枚数(以下、レコード数と記載)を表示するためのボックスである。但し、テンプレート画像の画像ファイルはカウントされない。また、前述したように、[レコード開始]ボタン613が押下されると、[レコード数]ボックス620の値が0にリセットされる。
【0045】
[最大レコード]数ボックス621には、レコード画像ファイルの最大枚数(以下、最大レコード数と記載)を表示するためのボックスである。レコード中に、レコード数が最大レコード数と同じ値になった場合、レコードが自動的に終了する。[最大レコード]数ボックス621には、任意の最大レコード数を入力することが可能である。例えば、[最大レコード]数ボックス621にタービンブレード10の1周分のブレード枚数を入力しておくことにより、タービンブレード10の画像ファイルを必要な枚数だけ保存することができる。
【0046】
[終了]ボタン630は、ブレード記録ソフトを終了するためのボタンである。[終了]ボタン630が押下されると、メインウィンドウ600が非表示となり、ブレード記録ソフトの動作が終了する。
【0047】
図7は、ブレード記録ソフトの[画像閲覧]ウィンドウを示している。図7に示す[画像閲覧]ウィンドウ700は、前述したように、メインウィンドウ600の[画像閲覧]ボタン615が押下された際に、表示される。
【0048】
ユーザは、GUI機能を利用して、リモコン23を介して[画像閲覧]ウィンドウ700を操作することにより、レコード画像ファイルの閲覧を行うことができる。以下、各種GUIの機能を説明する。
【0049】
[閲覧画像]ボックス701は、レコード画像ファイルを表示するためのボックスである。後述する[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[閲覧画像]ボックス701に表示されるレコード画像ファイルが切り替わる。[閲覧画像]ボックス701により、ユーザはレコード画像ファイルを閲覧することができる。以下、[閲覧画像]ボックス701に表示されているレコード画像を閲覧画像と記載し、その画像ファイルを閲覧画像ファイルと記載する。
【0050】
[<< 前]ボタン710は、閲覧画像を切り替えるためのボタンである。[<< 前]ボタン710が押下されると、後述する画像ファイルリストの中で、[閲覧画像]ボックス701に表示されている画像ファイルの画像ファイルNo(画像ファイルナンバー)より1つ小さな画像ファイルNoをもつ画像ファイルが表示される。それに伴い、後述する[画像ファイル名]ボックス720に表示されている画像ファイル名も切り替わる。
【0051】
[次 >>]ボタン711も、閲覧画像を切り替えるためのボタンである。[次 >>]ボタン711が押下されると、後述する画像ファイルリストの中で、[閲覧画像]ボックス701に表示されている画像ファイルの画像ファイルNoより1つ大きな画像ファイルNoをもつ画像ファイルが表示される。それに伴い、後述する[画像ファイル名]ボックス720に表示されている画像ファイル名も切り替わる。
【0052】
[画像ファイル名]ボックス720は、閲覧画像ファイルのファイル名を表示するためのボックスである。[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[画像ファイル名]ボックス720の画像ファイル名の表示が切り替わる。
【0053】
[画像ファイル数]ボックス721は、後述する画像ファイルリストの中の画像ファイル数を表示するためのボックスである。[日時選択]ボックス724の選択が変更されると、[画像ファイル数]ボックス721の画像ファイル数の表示が切り替わる。
【0054】
[保存日時]ボックス722は、閲覧画像ファイルの保存日時を表示するためのボックスである。[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[保存日時]ボックス722の画像ファイルの保存日時の表示が切り替わる。
【0055】
[日時選択]ボックス724は、閲覧画像を切り替えるためのボックスである。後述する保存フォルダリストのレコード開始日時が[日時選択]ボックス724にリスト形式で表示される。[日時選択]ボックス724のレコード開始日時の選択が変更されると、選択されたレコード開始日時をもつ保存フォルダに保存されたレコード画像ファイルが[閲覧画像]ボックス701に表示される。それに伴い、[画像ファイル名]ボックス720の画像ファイル名、および[画像ファイル数]ボックス721の画像ファイル数の表示も切り替わる。
【0056】
[閉じる]ボタン730は、画像の閲覧を終了するためのボタンである。[閉じる]ボタン730が押下されると、[画像閲覧]ウィンドウ701が非表示となり、メインウィンドウ600が操作される状態に戻る。
【0057】
次に、図8〜図10を用いて、メモリカード50内のディレクトリ構造を説明する。図8に示すように、メモリカード50の直下のディレクトリは複数の保存フォルダ800から構成されている。保存フォルダ800は、レコード画像ファイルが保存されるフォルダである。レコード開始日時が保存フォルダ800のフォルダ名となる。例えば、レコード開始日時が「2007/12/26 21:32:21」の場合、フォルダ名は「20071226_213221」となる。
【0058】
各保存フォルダの直下のディレクトリは複数のレコード画像ファイル810から構成されている。レコード画像ファイル名は、レコード画像ファイルが保存された順にそれぞれ「001.jpg」、「002.jpg」、「003.jpg」・・・となる。但し、テンプレート画像ファイルのファイル名は「Temp.jpg」となる。
【0059】
また、後述する画像閲覧処理の際には、保存フォルダリストおよび画像ファイルリストが作成される。
【0060】
保存フォルダリストとは、保存フォルダの一覧表である。図9に示すように、保存フォルダリストは、保存フォルダNo(保存フォルダナンバー)、レコード開始日時、およびフォルダ名から構成されている。保存フォルダNoには、保存フォルダが作成された順に、1、2、3・・・の番号が割り当てられる。
【0061】
画像ファイルリストとは、各保存フォルダに保存されたレコード画像ファイルの一覧表である。図10に示すように、画像ファイルリストは、画像ファイルNo、ファイル保存日時、およびファイル名から構成されている。画像ファイルNoには、ファイルが保存された順に、1、2、3・・・の番号が割り当てられる。但し、テンプレート画像のみ、最後の画像ファイルNoが割り当てられる。
【0062】
次に、図11を用いて、ブレード記録ソフトの動作の流れを説明する。ステップSAでは、ユーザがブレード記録ソフトを起動する。このとき、リモコン23に入力されたブレード記録ソフトの起動指示に基づいて、CPU34cは、ROM34bに格納されているブレード記録ソフトをRAM34aに読み込み、ブレード記録ソフトに従った動作を開始する。ステップSBでは、CPU34cが、メインウィンドウを表示するための処理を行う。
【0063】
ステップSCでは、CPU34cが初期化処理を行う。初期化処理とは、メインウィンドウ内の各種GUIの初期状態を設定したり、RAM34aに記録された各種データの初期値を設定したりする処理のことである。初期化処理の詳細は、後述する。ステップSDでは、CPU34cがプレビュー処理を行う。プレビュー処理とは、プレビューの開始および停止を行う処理のことである。プレビュー処理の詳細は、後述する。
【0064】
ステップSEでは、CPU34cがテンプレート登録処理を行う。テンプレート登録処理とは、[テンプレート画像]ボックスにテンプレート画像を表示し、さらにテンプレート画像をRAM34aに記録する処理のことである。テンプレート登録処理の詳細は、後述する。ステップSFでは、CPU34cがレコード処理を行う。レコード処理とは、レコードの開始および停止を行う処理のことである。レコード処理の詳細は、後述する。
【0065】
ステップSGでは、CPU34cが画像閲覧処理を行う。画像閲覧処理とは、ユーザがレコード画像ファイルを閲覧するために行う処理のことである。画像閲覧処理の詳細は、後述する。ステップSHでは、ユーザによる[終了]ボタンの押下の有無に応じて処理が分岐する。ユーザが[終了]ボタンを押下した場合、処理はステップSIに移行する。また、ユーザが[終了]ボタンを押下しなかった場合、処理はステップSDに移行する。ステップSIでは、CPU34cがメインウィンドウを非表示とし、ブレード記録ソフトの動作を終了する。
【0066】
次に、図12を用いて、初期化処理(ステップSC)の流れを説明する。ステップSC1では、CPU34cが、[プレビュー停止]ボタン、[テンプレート登録]ボタン、[レコード開始]ボタン、[レコード停止]ボタンの全てを、ユーザによる操作が無効の状態とする。以下、ボタン等のGUIが、ユーザによる操作無効の状態(例えば、グレー状態)であることを、単に無効と記載し、ユーザによる操作有効の状態であることを、単に有効と記載する。
【0067】
ステップSC2では、CPU34cが、レコード数Rを0、最大レコード数RmをRiとして、RAM34aに記録する。Riは最大レコード数Rmの初期値であり、Riとして所定の値がRAM34aに記録されている。ステップSC3では、CPU34cが、[レコード数]ボックスにレコード数R(=0)を表示するための処理を行う。ステップSC4では、CPU34cが、[最大レコード数]ボックスに最大レコード数Rmを表示するための処理を行う。
【0068】
ステップSC5では、CPU34cが、プレビューフラグ、レコードフラグ、保存フラグを、全てOFFとして、RAM34aに記録する。プレビューフラグとは、現在の状態がプレビュー状態かどうかを示すフラグである。レコードフラグとは、現在の状態がレコード中かどうかを示すフラグである。保存フラグとは、レコード中に、後述するバッファ画像をレコード画像ファイルとして保存するかどうかを示すフラグである。以下、ブレード記録ソフトの動作中に使用される全てのフラグはONもしくはOFFの値を取る。ステップSC5の処理が終了すると、処理はステップSDに移行する。
【0069】
次に、図13を用いて、ステップSDのプレビュー処理の流れを説明する。ステップSD1では、CPU34cが、 [プレビュー開始]ボタンがユーザにより押下されたかどうかを確認する。[プレビュー開始]ボタンが押下された場合、処理はステップSD2に移行し、[プレビュー開始]ボタンが押下されていない場合、処理はステップSD4に移行する。
【0070】
ステップSD2では、CPU34cが、[プレビュー開始]ボタンを無効、[プレビュー停止]ボタンを有効、[テンプレート登録]ボタンを有効とする。ステップSD3では、CPU34cが、プレビューフラグをONとして、RAM34aに記録する。
【0071】
ステップSD4では、CPU34cが、RAM34aに記録されたプレビューフラグがONかどうかを確認する。プレビューフラグがONの場合、処理はステップSD5に移行し、OFFの場合、処理はステップSD8に移行する。
【0072】
ステップSD5では、CPU34cが、画像信号処理装置31から1フレーム分の画像(画像信号)をフレーム画像として取り込む。なお、ステップSD5よりも前の時点で、撮像素子30bは1フレーム分の撮像信号を生成し、画像信号処理装置31はその撮像信号を映像信号に変換し、1フレーム分の画像を生成している。
【0073】
ステップSD6では、CPU34cが、ステップSD5で取り込んだフレーム画像をRAM34aに記録する。RAM34aに記録されたフレーム画像は、CPU34cがフレーム画像を取り込む度に上書きされる。ステップSD7では、CPU34cが、ステップSD5で取り込んだフレーム画像を[プレビュー画像]ボックスに表示するための処理を行う。
【0074】
ステップSD8では、CPU34cが、[プレビュー停止]ボタンがユーザにより押下されたかどうかを確認する。[プレビュー停止]ボタンが押下された場合、処理はステップSD9に移行し、[プレビュー停止]ボタンが押下されていない場合、処理はステップSEに移行する。
【0075】
ステップSD9では、CPU34cが、[プレビュー開始]ボタンを有効、[プレビュー停止]ボタンを無効、[テンプレート登録]ボタンを無効とする。ステップSD10では、CPU34cが、プレビューフラグをOFFとして、RAM34aに記録する。ステップSD10の処理が終了すると、処理はステップSEに移行する。
【0076】
次に、図14を用いて、ステップSEのテンプレート登録処理の流れを説明する。ステップSE1では、CPU34cが、 [テンプレート登録]ボタンがユーザにより押下されたかどうかを確認する。[テンプレート登録]ボタンが押下された場合、処理はステップSE2に移行し、[テンプレート登録]ボタンが押下されていない場合、処理はステップSFに移行する。
【0077】
ステップSE2では、CPU34cが、RAM34aに記録されたフレーム画像を、テンプレート画像として、RAM34aに記録する。RAM34aに記録されたテンプレート画像は、[テンプレート登録]ボタンが押下される度に上書きされる。ステップSE3では、CPU34cが、RAM34aに記録されたフレーム画像を[テンプレート画像]ボックスに表示するための処理を行う。具体的には、CPU34cは、RAM34aに記録されたフレーム画像をグラフィック画像信号に重畳する処理を行い、処理後の信号(表示信号)をモニタ22へ出力する。
【0078】
上記より、ステップSE2〜SE3の処理は、[テンプレート登録]ボタンが押下されたタイミングで取りこまれたフレーム画像を、テンプレート画像として登録する処理であることがわかる。ステップSE4では、CPU34cが[レコード開始]ボタンを有効とする。ステップSE4の処理が終了すると、処理はステップSFに移行する。
【0079】
次に、図15を用いて、ステップSFのレコード処理の流れを説明する。ステップSF1では、CPU34cが、[レコード開始]ボタンがユーザにより押下されたかどうかを確認する。[レコード開始]ボタンが押下された場合、処理はステップSF2に移行し、[レコード開始]ボタンが押下されていない場合、処理はステップSF9に移行する。
【0080】
ステップ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の詳細は、後述する。
【0081】
ステップSF4では、CPU34cが、[レコード数]ボックスにレコード数R(=0)を表示するための処理を行う。ステップSF5では、CPU34cが、[最大レコード数]ボックスに入力されている最大レコード数Rmを取得し、RAM34aに記録する。ステップSF6では、CPU34cがメモリカード50内に保存フォルダを作成する。このとき、[レコード開始]ボタンがユーザにより押下された日時が、そのまま保存フォルダのフォルダ名となる。
【0082】
ステップSF7では、CPU34cが、図14のステップSE2でRAM34aに記録されたテンプレート画像を画像ファイルとして(以下、テンプレート画像ファイルと記載)、メモリカード50内の保存フォルダに保存する。このとき、テンプレート画像ファイル名は、「Temp.jpg」となる。ステップSF8では、CPU34cが、レコードフラグをONとして、RAM34aに記録する。
【0083】
ステップSF9では、CPU34cが、RAM34aに記録されたレコードフラグがONかどうかを確認する。レコードフラグがONの場合、処理はステップSF10に移行し、レコードフラグがOFFの場合、処理はステップSF18に移行する。
【0084】
ステップSF10では、CPU34cが、テンプレート画像とフレーム画像との相関値を算出し、相関値に基づいて、レコード画像を保存するタイミングを決定する相関処理を実行する。相関処理の詳細は、後述する。ステップSF11では、CPU34cが、RAM34aに記録された保存フラグがONかどうかを確認する。保存フラグがONの場合、処理はステップSF12に移行し、保存フラグがOFFの場合、処理はステップSF18に移行する。
【0085】
ステップSF12では、CPU34cが、ステップSF10の相関処理中にRAM34aに記録されたレコード画像を[レコード画像]ボックスに表示するための処理を行う。ステップSF13では、CPU34cが、レコード数Rを1つインクリメント(R+1をRに代入)して、RAM34aに記録する。ステップSF14では、CPU34cが、[レコード画像]ボックスにレコード数Rを表示するための処理を行う。
【0086】
ステップSF15では、CPU34cが、ステップSF10の相関処理中にRAM34aに記録されたレコード画像を、画像ファイルとして、保存フォルダに保存する。ステップSF16では、CPU34cが、保存フラグをOFFとして、RAM34aに記録する。ステップSF17では、CPU34cが、レコード数Rが最大レコード数Rm以上(R≧Rm)であるかどうかを確認する。レコード数Rが最大レコード数Rm以上の場合、処理はステップSF19に移行し、最大レコード数Rm未満の場合、処理はステップSF18に移行する。
【0087】
ステップSF18では、CPU34cが、[レコード停止]ボタンがユーザにより押下されたかどうかを確認する。[レコード停止]ボタンが押下された場合、処理はステップSF19に移行し、[レコード停止]ボタンが押下されていない場合、処理はステップSGに移行する。
【0088】
ステップSF19では、CPU34cが、[プレビュー停止]ボタンを有効、[テンプレート登録]ボタンを有効、[レコード開始]ボタンを有効、[レコード停止]ボタンを無効、[画像閲覧]ボタンを有効、[最大レコード数]ボックスを有効とする。ステップSF20では、CPU34cが、レコードフラグをOFFとして、RAM34aに記録する。ステップSF20の処理が終了すると、処理はステップSGに移行する。
【0089】
次に、図16を用いて、ステップSF10の相関処理の流れを説明する。図16に示す相関処理と実際の相関値の変化との対応関係については、図17を用いて後述する。ステップSF100では、CPU34cが、RAM34aに記録されているテンプレート画像およびフレーム画像の各画素の輝度値(明度値)を取得する。ここで、例えばRGBの各成分の輝度で表された画素の輝度値は、以下の(1)式を用いて算出される。
Y=0.299×R+0.587 ×G+0.114×B ・・・(1)
【0090】
ステップ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)である。
【0091】
【数1】
【0092】
【数2】
【0093】
さらに、2枚の画像の標準偏差はそれぞれ(4)式、(5)式で表される。
【0094】
【数3】
【0095】
【数4】
【0096】
さらに、2枚の画像の共分散は(6)式で表される。
【0097】
【数5】
【0098】
そして、2枚の画像の相関値Cは(7)式で表される。この相関値Cは、2枚の画像が類似しているかどうかを表す尺度となる。一般的に、類似していれば相関値は1に近い値となり、類似していなければ0に近づく傾向にある。
【0099】
【数6】
【0100】
画像サイズを間引いた上で相関値を求める場合は、上記の各式において、x,yに関する総和を計算する際にx,yの増加ステップ数を変更し、さらに全画素数Sizeを変更すればよい。例えば、画像サイズを1/4に間引いた上で相関値を求める場合、x,yの増加ステップ数を4とし、全画素数SizeをSize=(X×Y)/(4×4)とすればよい。相関処理の速度を向上させたい場合は、間引き処理を用いると、計算量が少なくて済むので有効である。
【0101】
ステップSF102では、CPU34cが、相関値ステータスScが0(Sc=0)であるかどうかを確認する。相関値ステータスScは、相関値Cのステータスのことである。相関値ステータスScは0〜2の値をとる。相関値ステータスScが0の場合は初期状態であり、1の場合はCPU34cがレコード画像として保存すべきフレーム画像をみつけるまでの状態であり、2の場合はCPU34cがレコード画像として保存すべきフレーム画像をみつけた状態である。相関値ステータスScが0の場合、処理はステップSF103に移行し、相関値ステータスScが0でない場合、処理はステップSF105に移行する。
【0102】
ステップ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に移行する。
【0103】
ステップSF104では、CPU34cが、相関値ステータスScを1(Sc=1)として、RAM34aに記録する。ステップSF105では、CPU34cが、相関値ステータスScが1(Sc=1)であるかどうかを確認する。相関値ステータスScが1の場合、処理はステップSF106に移行し、相関値ステータスScが1でない場合、処理はステップSF110に移行する。
【0104】
ステップSF106では、CPU34cが、相関値Cが最大相関値Cmより大きいかどうか(C>Cm)を確認する。最大相関値Cmとは、相関値Cの最大値を保持しておくためのバッファの値である。C>Cmの場合、処理はステップSF107に移行し、C≦Cmの場合、処理はステップSF108に移行する。
【0105】
ステップSF107では、CPU34cが、最大相関値Cmを相関値C(Cm=C)として、RAM34aに記録する。ステップSF109では、CPU34cが、フレーム画像をバッファ画像としてRAM34aに記録する。RAM34aに記録されたバッファ画像は、ステップSF109の処理が実行される度に上書きされる。バッファ画像とは、CPU34cが、フレーム画像がレコード画像(テンプレート画像と相関の高い画像)であると確認できるまでフレーム画像を一時的に保持しておくためにRAM34aに設けられたバッファ内の画像のことである。
【0106】
ステップSF108では、CPU34cが、相関値ステータスScを2(Sc=2)として、RAM34aに記録する。ステップSF110では、CPU34cが、相関値ステータスScが2(Sc=2)であるかどうかを確認する。相関値ステータスScが2の場合、処理はステップSF111に移行し、相関値ステータスScが2でない場合、処理はステップSF116に移行する。
【0107】
ステップSF111では、CPU34cが、相関値Cが相関値閾値Ctより小さく(C<Ct)かつ相関値バッファCbが相関値閾値Ct以上(Cb≧Ct)であるかどうかを確認する。C<CtかつCb≧Ctの場合、処理はステップSF112に移行し、C≧CtまたはCb<Ctの場合、処理はステップSF116に移行する。
【0108】
ステップSF112では、CPU34cが、相関値ステータスScを0(Sc=0)として、RAM34aに記録する。ステップSF113では、CPU34cが、最大相関値Cmを0(Cm=0)として、RAM34aに記録する。ステップSF114では、CPU34cが、バッファ画像をレコード画像としてRAM34aに記録する。RAM34aに記録されたレコード画像は、ステップSF114の処理が実行される度に上書きされる。ステップSF115では、CPU34cが、保存フラグをONとして、RAM34aに記録する。
【0109】
ステップSF116では、CPU34cが、相関値バッファCbを相関値C(Cb=C)として、RAM34aに記録する。ステップSF116の処理が終了すると、処理はステップSF11に移行する。
【0110】
図17は、相関値Cの経時変化を示すグラフである。以下、図17を参照しながら、レコード処理および相関処理の詳細を説明する。
【0111】
図17に示すグラフの横軸は時間であり、縦軸はステップSF101でCPU34cが算出する相関値Cである。相関値Cには、周期的に極大値と極小値が現われている。相関値Cが極大値を示す領域は、テンプレート画像とブレード画像との相関値を示している。また、相関値Cが極小値を示す領域は、テンプレート画像とブレードの背景(ジェットエンジンの内壁等)の画像との相関値を示している。相関値閾値Ctは、両者のほぼ中間の値になるように設定され、RAM34aに記録されている。
【0112】
まず、ユーザが[レコード開始]ボタンを押下したタイミング(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)。
【0113】
続いて、t=t2から、相関値Cが相関値閾値Ctより小さくなるタイミング(t=t3)までの間、相関値ステータスScは2(Sc=2)である。この間、最大相関値Cmは更新されず一定のままであり、かつフレーム画像がバッファ画像としてRAM34aに記録されることはない。
【0114】
続いて、t=t3において、相関値ステータスScは再度0(Sc=0)となり(ステップSF112)、バッファ画像はレコード画像としてRAM34aに記録される(ステップSF114)。このときのバッファ画像は、t=t2において、相関値Cが極大を示すタイミングでのフレーム画像である。これ以降、ユーザが[レコード停止]ボタンを押下するまで、相関値Cが極大を示すタイミング(t=t4,t5,t6,・・・)におけるフレーム画像がレコード画像として順次保存される。
【0115】
次に、図18を用いて、ステップSGの画像閲覧処理の流れを説明する。ステップSG1では、CPU34cが、[画像閲覧]ボタンがユーザにより押下されたかどうかを確認する。[画像閲覧]ボタンが押下された場合、処理はステップSG2に移行し、[画像閲覧]ボタンが押下されていない場合、処理はステップSHに移行する。
【0116】
ステップSG2では、CPU34cが、[画像閲覧]ウィンドウを表示するための処理を行う。前述したように、[画像閲覧]ウィンドウが表示されている間、メインウィンドウはユーザによる操作が無効の状態となる。ステップSG3では、CPU34cが初期化処理を行う。初期化処理とは、[画像閲覧]ウィンドウ内の各種GUIの初期状態を設定したり、RAM34aに記録された各種データの初期値を設定したりする処理のことである。初期化処理の詳細は、後述する。
【0117】
ステップSG4では、CPU34cが日時選択処理行う。日時選択処理とは、ユーザが[日時選択]ボックスのレコード開始日時の選択を変更したことをCPU34cが検出し、[閲覧画像]ボックスに表示される画像を変更する処理のことである。日時選択処理の詳細は、後述する。
【0118】
ステップSG5では、CPU34cが画像選択処理を行う。画像選択処理とは、ユーザが[<< 前]ボタン、[次 >>]ボタンを押下することをCPU34cが検出し、[閲覧画像]ボックスに表示される画像を変更する処理のことである。画像選択処理の詳細は、後述する。
【0119】
ステップSG6では、CPU34cが、[閉じる]ボタンがユーザにより押下されたかどうかを確認する。[閉じる]ボタンが押下された場合、処理はステップSG7に移行し、[閉じる]ボタンが押下されていない場合、処理はステップSG4に移行する。ステップSG7では、CPU34cが、[画像閲覧]ウィンドウを非表示とする処理を行う。ステップSG7の処理が終了すると、処理はステップSHに移行する。
【0120】
次に、図19を用いて、ステップSG3の初期化処理の流れを説明する。ステップSG300では、CPU34cが保存フォルダリストを作成する。ステップSG301では、CPU34cが、作成された保存フォルダリストをRAM34aに記録する。RAM34aに記録された保存フォルダリストは、保存フォルダリストが作成される度に、上書きされる。
【0121】
ステップSG302では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoが1の保存フォルダ内の画像ファイルリストを作成する。ステップSG303では、CPU34cが、作成された画像ファイルリストをRAM34aに記録する。RAM34aに記録された画像フォルダリストは、画像フォルダリストが作成される度に上書きされる。
【0122】
ステップSG304では、CPU34cが、保存フォルダリストにおいて、全てのレコード開始日時を[日時選択]ボックスにリスト表示するための処理を行う。ステップSG305では、CPU34cが、[日時選択]ボックスにリスト形式で表示されたレコード開始日時のうち、保存フォルダリストにおいて、保存フォルダNoが1のレコード開始日時を強調表示するための処理を行う。
【0123】
ステップSG306では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG307では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0124】
ステップSG308では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoが1の保存フォルダ内の画像ファイル数を[画像ファイル数]ボックスに表示するための処理を行う。ステップSG309では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG309の処理が終了すると、処理はステップSG4に移行する。
【0125】
次に、図20を用いて、ステップSG4の日時選択処理の流れを説明する。ステップSG400では、CPU34cが、[日時選択]ボックスにおけるレコード開始日時の選択がユーザにより変更されたかどうかを確認する。レコード開始日時の選択が変更された場合、処理はステップSG401に移行し、レコード開始日時の選択が変更されていない場合、処理はステップSG5に移行する。
【0126】
ステップSG401では、CPU34cが、[日時選択]ボックスにおいてユーザが選択したレコード開始日時をもつ保存フォルダの保存フォルダNoを保存フォルダリストから取得する。このとき取得したフォルダナンバーをFとする。ステップSG402では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoがFの保存フォルダ内の画像ファイルリストを作成する。ステップSG403では、CPU34cが、ステップSG402で作成された画像ファイルリストをRAM34aに記録する。RAM34aに記録された画像ファイルリストは、画像ファイルリストが作成される度に上書きされる。
【0127】
ステップSG404では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG405では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0128】
ステップSG406では、CPU34cが、保存フォルダリストにおいて、フォルダNoが1の保存フォルダ内の画像ファイル数を[画像ファイル数]ボックスに表示するための処理を行う。ステップSG407では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG407の処理が終了すると、処理はステップSG5に移行する。
【0129】
次に、図21を用いて、ステップSG5の画像選択処理の流れを説明する。ステップSG500では、CPU34cが、[<< 前]ボタンがユーザにより押下されたかどうかを確認する。[<< 前]ボタンが押下された場合、処理はステップSG501に移行し、[<< 前]ボタンが押下されていない場合、処理はステップSG504に移行する。
【0130】
ステップSG501では、CPU34cが、画像ファイルリストにおいて、現在の[閲覧画像]ボックスに表示されている画像ファイルの画像ファイルNoより、1つ前の画像ファイルNoをもつ画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG502では、CPU34cが、画像ファイルリストにおいて、上記1つ前の画像ファイルNoをもつ画像ファイルの画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0131】
ステップSG503では、CPU34cが、画像ファイルリストにおいて、上記1つ前の画像ファイルNoをもつ画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG504では、CPU34cが、[次 >>]ボタンがユーザにより押下されたかどうかを確認する。[次 >>]ボタンが押下された場合、処理はステップSG505に移行し、[次 >>]ボタンが押下されていない場合、処理はステップSG6に移行する。
【0132】
ステップSG505では、CPU34cが、画像ファイルリストにおいて、現在の[閲覧画像]ボックスに表示されている画像ファイルの画像ファイルNoより、1つ後の画像ファイルNoをもつ画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG506では、CPU34cが、画像ファイルリストにおいて、上記1つ後の画像ファイルNoをもつ画像ファイルの画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0133】
ステップSG507では、CPU34cが、画像ファイルリストにおいて、上記1つ後の画像ファイルNoをもつ画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG507の処理が終了すると、処理はステップSG6に移行する。
【0134】
本実施形態の変形例として、ジェットエンジン1の個体を識別する手段を設けると共にジェットエンジン1毎のタービンブレード10の最大枚数を内視鏡装置3に記憶させておき、識別されたジェットエンジン1に対応した最大枚数をブレード記録ソフトの動作時に用いてもよい。ジェットエンジン1の個体を識別する手段としては、例えばバーコードやICタグ等をジェットエンジン1に取り付け、バーコードリーダやICタグリーダ等の読み取り器を内視鏡装置3に接続し、読み取り器でバーコードやICタグ等からジェットエンジン1の識別情報を読み取るようにすればよい。
【0135】
本実施形態によれば、以下の効果を得ることができる。本実施形態では、タービンブレードを撮像した複数のフレーム画像の中から、テンプレート画像との画像比較の結果である相関値に基づいて、一部のフレーム画像を選択することによって、フレーム画像内のタービンブレードの位置や角度がテンプレート画像内のタービンブレードの位置や角度と同じになったときのフレーム画像を取得することができる。そのため、タービンブレードの回転と撮像のタイミングを合わせるための特別な制御を必要とせず、簡易な方法でタービンブレードの画像を取得することができる。
【0136】
本実施形態で示した手法により取得したタービンブレードの画像を用いて、タービンブレードの検査を行うことが可能となる。特に、図6のレコード画像ボックス603にレコード画像を表示することによって、タービンブレードの検査をリアルタイムで行うことができる。また、このレコード画像を画像ファイルとして記録媒体に保存することによって、検査を行うことが可能な時間や場所を拡張することができる。さらに、タービンブレードの画像を保存する場合に、内視鏡映像をそのまま動画ファイルとして保存すると、ファイルサイズが大きくなってしまうが、本実施形態のように、内視鏡映像のうち、一部のフレーム画像を静止画像ファイルとして保存することによって、記録媒体の記録容量が圧迫されることを防ぎながら、検査に必要なタービンブレードの画像を保存することができる。
【0137】
また、テンプレート画像を基準にして、フレーム画像内のタービンブレードの位置や角度がテンプレート画像内のタービンブレードの位置や角度と同じになったときのフレーム画像を取得することによって、ユーザにとってタービンブレードの検査を行うのに適した状態で撮像したフレーム画像を取得することができ、検査を効率的に行うことができる。また、フレーム画像の中から選択したテンプレート画像を使用することによって、図17に示した相関値の経時変化がはっきりとするので、所望の状態で撮像したフレーム画像を取得する精度を向上することができる。さらに、フレーム画像の中から選択したテンプレート画像を表示することによって、取得するフレーム画像内のタービンブレードの状態がユーザにとって適した状態となっているか否かをユーザに確認させることができる。
【0138】
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。第1の実施形態では、フレード記録ソフトの[画像閲覧]ウィンドウにはレコード画像ファイルの閲覧機能のみが搭載されていたが、本実施形態における[画像閲覧]ウィンドウには、レコード画像ファイルの閲覧機能だけでなく、ブレードの欠陥抽出機能およびステレオ計測機能が搭載されている。
【0139】
図22は、本実施形態における[画像閲覧]ウィンドウを示している。図22に示す[画像閲覧]ウィンドウ2200において、第1の実施形態における[画像閲覧]ウィンドウ700(図7)と異なるのは、[画像閲覧]ウィンドウ2200の右側に[欠陥検査]グループボックス2201が配置されている点である。[欠陥検査]グループボックス2201内には、欠陥抽出およびステレオ計測を行うための各種GUIが配置されている。以下では、閲覧画像2202が、同一被写体に関する2つの被写体像を結像可能なステレオ光学アダプタを通して撮像された左右一対の画像である場合を中心として説明する。ステレオ光学アダプタは内視鏡挿入部20の先端に装着される。以下、左側に表示される画像を左画像、右側に表示される画像を右画像と記載する。
【0140】
以下、[欠陥抽出]グループボックス2201内の各種GUIの機能を説明する。[欠陥抽出]チェックボックス2210は、閲覧画像2202に対して、欠陥抽出処理を行うためのチェックボックスである。ユーザが[欠陥抽出]チェックボックス2210にチェックを入れると、図23のように、閲覧画像2202上に欠陥輪郭線2230が重畳表示される。欠陥抽出処理の詳細は、後述する。
【0141】
[輝度閾値]バー2211は、後述する欠陥抽出処理の検査パラメータの1つである輝度閾値を設定するためのバーである。輝度閾値は、欠陥抽出処理において、閲覧画像2202を2値化する際に使用される。[面積閾値]バー2212は、後述する欠陥抽出処理の検査パラメータの1つである面積閾値を設定するためのバーである。面積閾値は、欠陥抽出処理において、閲覧画像内の小さなブロブ(Blob、粒子)を除去する際に使用される。[輝度選択]ラジオボタン2213は、後述する欠陥抽出処理の検査パラメータの1つである輝度値の種類を設定するためのラジオボタンである。輝度値は、欠陥抽出処理において、画像をグレースケール画像に変換する際に使用される。
【0142】
[ステレオ計測]チェックボックス2220は、閲覧画像2202に対して、後述するステレオ計測を行うためのチェックボックスである。[欠陥抽出]チェックボックス2210にチェックが入った状態で、ユーザが[ステレオ計測]チェックボックス2220にチェックを入れると、図24のように、閲覧画像2202に計測領域線2240が重畳表示され、欠陥抽出処理によって抽出された欠陥に対して、ステレオ計測が可能な状態となる。
【0143】
計測領域線2240は、閲覧画像2202内においてステレオ計測を行うことが可能な領域の境界線であり、左右一対の矩形線で表示される。そして、図25のように、閲覧画像2202の左画像上に重畳表示された欠陥の輪郭線2230に、ユーザがカーソル2250を移動させ、左クリック等で欠陥の輪郭線2230を指定すると、図26のように、欠陥輪郭線2230が欠陥矩形線2260で囲まれ、左画像上に計測点2270が表示されると共に、右画像上にマッチング点2271が表示される。欠陥矩形線、計測点、マッチング点の詳細は、後述する。さらに、後述する[計測結果]ボックス2222に、指定された欠陥に対するステレオ計測の結果が表示される。
【0144】
図22の[環境データ]ボタン2221は、環境データを選択するためのボタンである。環境データは、ステレオ計測を行う際に使用するデータであり、ステレオ光学アダプタの光学的歪みを補正するためのデータ等が含まれる。環境データは、特開2001−275934号公報に記載されているものと同様である。
【0145】
[環境データ]ボタン2221が押下されると、図示しないファイル選択ダイアログが開く。そして、このファイル選択ダイアログにおいて、ユーザが環境データを選択する。このとき選択される環境データは、画像を撮像する際に使用したステレオ光学アダプタに対応したデータである。そして、[ステレオ計測]チェックボックス2220が無効状態から有効状態へ切り替わり、[ステレオ計測]チェックボックス2220にチェックを入れることが可能となる。
【0146】
なお、[ステレオ計測]チェックボックスおよび[環境データ]ボタンは、閲覧画像がステレオ計測用の画像(左右1対の画像)でなかった場合、常に無効となり、ステレオ計測を行うことはできない状態となる。
【0147】
[計測結果]ボックス2222は、計測結果を表示するためのボックスである。計測結果には、距離、幅1,2、周囲長、面積の5つがある。計測結果の詳細は、後述する。
【0148】
次に、図27を用いて、本実施形態における画像閲覧処理の流れを説明する。図27に示すステップSG3aの初期化処理、ステップSG4aの日時選択処理、ステップSG5aの画像選択処理の内容は、第1の実施形態における画像閲覧処理の流れ(図18)と異なる。また、図27に示すステップSG5aとステップSG6との間に、ステップSG8の欠陥抽出処理、ステップSG9のステレオ計測前処理、ステップSG10の欠陥指定処理が追加されていることも、第1の実施形態における画像閲覧処理の流れ(図18)と異なる。以下、第1の実施形態における画像閲覧処理の流れ(図18)と異なる点のみ、説明する。
【0149】
ステップSG3aでは、CPU34cが初期化処理を行う。初期化処理の詳細は、後述する。ステップSG4aでは、CPU34cが日時選択処理を行う。日時選択処理の詳細は、後述する。ステップSG5aでは、CPU34cが画像選択処理を行う。画像選択処理の詳細は、後述する。
【0150】
ステップSG8では、CPU34cが欠陥抽出処理を行う。欠陥抽出処理とは、設定された検査パラメータに基づいて、閲覧画像上の欠陥を抽出する処理を行い、抽出した欠陥を閲覧画像に重畳表示する処理のことである。欠陥抽出処理の詳細は、後述する。
【0151】
ステップSG9では、CPU34cがステレオ計測前処理を行う。ステレオ計測前処理とは、選択された環境データに基づいて、閲覧画像の補正を行い、閲覧画像をステレオ計測が可能な状態とする処理のことである。ステレオ計測前処理の詳細は、後述する。
【0152】
ステップSG10では、CPU34cが欠陥指定処理を行う。欠陥指定処理とは、CPU34cが、閲覧画像に重畳表示された欠陥をユーザが指定したことを検出し、[計測結果]ボックスに欠陥サイズの計測結果を表示する処理のことである。欠陥指定処理の詳細は、後述する。
【0153】
次に、図28を用いて、ステップSG3aの初期化処理の流れを説明する。図28に示すステップSG309の後にステップSG310およびステップSG311が追加されている点が、第1の実施形態における初期化処理の流れ(図19)と異なる。以下、第1の実施形態における初期化処理の流れ(図19)と異なる点のみ、説明する。
【0154】
ステップSG310では、CPU34cが[ステレオ計測]チェックボックスを無効とする。ステップSG311では、CPU34cが、欠陥抽出フラグをOFF、ステレオ計測フラグをOFFとして、RAM34aに記録する。欠陥抽出フラグとは、欠陥抽出処理を行うかどうかを示すフラグである。ステレオ計測フラグとは、ステレオ計測前処理を行うかどうかを示すフラグである。
【0155】
次に、図29を用いて、ステップSG4aの日時選択処理の流れを説明する。図29に示すステップSG407の後にステップSG408が追加されている点が、第1の実施形態における日時選択処理の流れ(図20)と異なる。以下、第1の実施形態における日時選択処理の流れ(図20)と異なる点のみ、説明する。
【0156】
ステップSG408では、CPU34cが、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとして、RAM34aに記録する。ステップSG408において、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとするのは、ステップSG400において、[日時選択]ボックスのレコード開始日時の選択が変更されると、閲覧画像が変更されることにより、欠陥抽出処理およびステレオ計測前処理を改めて行う必要があるからである。なお、ステップSG404において、画像ファイルが[閲覧画像]ボックスに表示されるとき、既に重畳表示された計測領域線等は全て非表示となる。
【0157】
次に、図30を用いて、ステップSG5の画像選択処理の流れを説明する。図30に示すステップSG503の後にステップSG508が追加され、ステップSG507の後にステップSG509が追加されている点が、第1の実施形態における画像選択処理の流れ(図21)と異なる。以下、第1の実施形態における画像選択処理の流れ(図21)と異なる点のみ、説明する。
【0158】
ステップSG508では、CPU34cが、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとして、RAM34aに記録する。ステップSG509では、CPU34cが、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとして、RAM34aに記録する。ステップSG508,SG509において、欠陥抽出フラグ、ステレオ計測フラグをそれぞれONとするのは、ステップSG500,SG504において、[<< 前]ボタン、[次 >>]ボタンが押下されると、閲覧画像が変更されることにより、欠陥抽出処理およびステレオ計測前処理を改めて行う必要があるからである。なお、ステップSG501,SG505において、画像ファイルが[閲覧画像]ボックスに表示されるとき、既に重畳表示された計測領域線等は全て非表示となる。
【0159】
次に、図31および図32を用いて、ステップSG8の欠陥抽出処理の流れを説明する。ステップSG800では、CPU34cが、[欠陥抽出]チェックボックスにチェックがあるかどうかを確認する。[欠陥抽出]チェックボックスにチェックがある場合、処理はステップSG801に移行し、[欠陥抽出]チェックボックスにチェックがない場合、処理はステップSG802に移行する。
【0160】
ステップSG801では、CPU34cが、[輝度閾値]バーから輝度閾値Yt、[面積閾値]バーから面積閾値At、[輝度選択]ラジオボタンから輝度選択Sをそれぞれ取得し、RAM34aに記録する。ステップSG802では、CPU34cが、 [欠陥抽出]チェックボックスにチェックを入れる指示がユーザからあったかどうかを確認する。[欠陥抽出]チェックボックスにチェックを入れる指示があった場合、処理はステップSG803に移行し、[欠陥抽出]チェックボックスにチェックを入れる指示がない場合、処理はステップSG9に移行する。
【0161】
ステップSG803では、ステップSG801と同様、CPU34cが、[輝度閾値]バーから輝度閾値Yt、[面積閾値]バーから面積閾値At、[輝度選択]ラジオボタンから輝度選択Sをそれぞれ取得し、RAM34aに記録する。また、CPU34cは、[欠陥抽出]チェックボックスにチェックを入れる処理を行う。
【0162】
ステップSG804では、CPU34cが、ステップSG803で取得した輝度閾値Yt、面積閾値At、輝度選択Sを、それぞれ前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slとし、RAM34aに記録する。前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slとは、前回欠陥抽出処理が行われた際に使用された、輝度閾値Yt、面積閾値At、輝度選択Sを、それぞれ一時的に記録したものである。ステップSG805では、CPU34cが、欠陥抽出フラグをONとして、RAM34aに記録する。
【0163】
ステップSG806では、CPU34cが、輝度閾値Yt、面積閾値At、輝度選択Sが、それぞれ前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slと、全て等しいかどうかを確認する。ステップSG806の処理は、前回欠陥抽出処理が行われた際に使用された検査パラメータがユーザによって変更されたかどうかを確認する処理である。全ての検査パラメータが前回と同一の場合、処理はステップSG808に移行し、1つ以上の検査パラメータが前回と異なる場合、処理はステップSG807に移行する。ステップSG807では、CPU34cが、欠陥抽出フラグをONとして、RAM34aに記録する。
【0164】
ステップSG808では、CPU34cが、欠陥抽出フラグがONかどうかを確認する。欠陥抽出フラグがONの場合、処理はステップSG809に移行し、欠陥抽出フラグがOFFの場合、処理はステップSG821に移行する。
【0165】
以下、ステップSG809〜SG818では、適宜図33も用いて説明する。ステップSG809では、CPU34cが、保存フォルダに保存されたテンプレート画像ファイルおよび閲覧画像ファイルの画像データを取得し、RAM34aに記録する。この画像データとは、画像の各画素のRGB輝度値を指す。
【0166】
ステップ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となる。
【0167】
ステップSG811では、CPU34cが、ステップSG810で作成された2枚のグレースケール画像の差分をとった画像(以下、差分画像と記載)を作成する。図33には、テンプレート画像のグレースケール画像3300と閲覧画像のグレースケール画像3301との間で差分を取ることにより、差分画像3310が作成される様子が示されている。
【0168】
ステップSG812では、CPU34cが、RAM34aに記録された輝度閾値Ytに基づいて差分画像を2値化し、2値画像を作成する。図33には、差分画像3310を2値化することにより、2値画像3320が作成される様子が示されている。
【0169】
ステップSG813では、CPU34cが、作成された2値画像に対して、膨張・収縮処理を行い、小さなノイズを除去する。ステップSG814では、CPU34cが、ステップSG813でノイズを除去した2値画像に対してラベリング処理を行い、ブロブ(粒子)を抽出する。ステップSG815では、CPU34cが、RAM34aに記録された面積閾値Atより小さな面積をもつブロブを、ステップSG814でノイズを除去した画像から除去する。図33には、2値画像3320から小さなブロブが除去された様子が示されている。
【0170】
ステップSG816では、CPU34cが、ステップSG814で小さなブロブが除去された2値画像から、残ったブロブの輪郭線を欠陥輪郭線として抽出する。図33には、ブロブの輪郭線3330が抽出された様子が示されている。ステップSG817では、CPU34cが、ステップSG816で抽出された欠陥輪郭線の座標をRAM34aに記録する。
【0171】
ステップSG818では、CPU34cが、RAM34aに記録された欠陥輪郭線の座標に基づいて、閲覧画像に欠陥輪郭線を重畳表示する処理を行う。図33には、閲覧画像3340に欠陥輪郭線3330が重畳表示された様子が示されている。ステップSG819では、CPU34cが、ステップSG801またはステップSG803でRAM34aに記録された輝度閾値Yt、面積閾値At、輝度選択Sを、それぞれ前回の輝度閾値Ytl、前回の面積閾値Atl、前回の輝度選択Slとし、RAM34aに記録する。
【0172】
ステップSG820では、CPU34cが、欠陥抽出フラグをOFFとして、RAM34aに記録する。ステップSG821では、CPU34cが、[欠陥抽出]チェックボックスからチェックを外す指示がユーザからあったかどうかを確認する。[欠陥抽出]チェックボックスからチェックを外す指示があった場合、処理はステップSG822に移行し、[欠陥抽出]チェックボックスからチェックを外す指示がない場合、処理はステップSG9に移行する。
【0173】
ステップSG822では、CPU34cが、ステップSG817でRAM34aに記録された欠陥輪郭線の座標に基づいて、閲覧画像に表示された欠陥輪郭線を非表示とする処理を行う。また、CPU34cは、[欠陥抽出]チェックボックスからチェックを外す処理を行う。ステップSG822の処理が終了すると、処理はステップSG9に移行する。
【0174】
次に、図34を用いて、ステップSG9のステレオ計測前処理の流れを説明する。ステップSG900では、CPU34cが、[環境データ]ボタンがユーザにより押下されたかどうかを確認する。[環境データ]ボタンが押下された場合、処理はステップSG901に移行し、[環境データ]ボタンが押下されていない場合、処理はステップSG905に移行する。
【0175】
ステップSG901では、CPU34cが、図示しない[ファイルを開く]ダイアログを表示するための処理を行う。ステップSG902では、CPU34cが、[ファイルを開く]ダイアログにおいてユーザにより環境データが選択されたかどうかを確認する。環境データが選択された場合、処理はステップSG903に移行し、環境データが選択されていない場合、処理はステップSG905に移行する。
【0176】
ステップSG903では、CPU34cが、選択された環境データをRAM34aに記録する。RAM34aに記録された環境データは、環境データが選択される度に上書きされる。ステップSG904では、CPU34cが[ステレオ計測]チェックボックスを有効にする。ステップSG905では、CPU34cが、[ステレオ計測]チェックボックスにチェックがあるかどうかを確認する。[ステレオ計測]チェックボックスにチェックがある場合、処理はステップSG908に移行し、[ステレオ計測]チェックボックスにチェックがない場合、処理はステップSG906に移行する。
【0177】
ステップSG906では、CPU34cが、[ステレオ計測]チェックボックスにチェックを入れる指示がユーザからあったかどうかを確認する。[ステレオ計測]チェックボックスにチェックを入れる指示があった場合、処理はステップSG907に移行し、[ステレオ計測]チェックボックスにチェックを入れる指示がない場合、処理はステップSG10に移行する。
【0178】
ステップSG907では、CPU34cが、ステレオ計測フラグをONとして、RAM34aに記録する。また、CPU34cは、[ステレオ計測]チェックボックスにチェックを入れる処理を行う。ステップSG908では、CPU34cが、ステレオ計測フラグがONかどうかを確認する。ステレオ計測フラグがONの場合、処理はステップSG909に移行し、ステレオ計測フラグがOFFの場合、処理はステップSG10に移行する。
【0179】
ステップSG909では、CPU34cが、RAM34aに記録されている計測領域線の座標に基づいて、閲覧画像に計測領域線を重畳表示する処理を行う。計測領域線の座標は、環境データの一部として、RAM34aに記録されている。
【0180】
ステップSG910では、CPU34cが、保存フォルダに保存された閲覧画像ファイルの画像データを取得し、RAM34aに記録する。ステップSG911では、CPU34cが、ステップSG910で取得された画像データを補正する。ステップSG911で行われる補正処理は、特開平10−248806号公報に記載されているものと同様である。
【0181】
ステップSG912では、CPU34cが、ステップSG911で補正された画像データを、補正画像データとしてRAM34aに記録する。RAM34aに記録された補正画像データは、補正画像データが作成される度に上書きされる。ステップSG913では、CPU34cが、ステレオ計測フラグをOFFとして、RAM34aに記録する。
【0182】
ステップSG914では、CPU34cが、[ステレオ計測]チェックボックスからチェックを外す指示がユーザからあったかどうかを確認する。[ステレオ計測]チェックボックスからチェックを外す指示があった場合、処理はステップSG915に移行し、[ステレオ計測]チェックボックスからチェックを外す指示がない場合、処理はステップSG10に移行する。ステップSG915では、CPU34cが、RAM34aに記録されている計測領域線の座標に基づいて、閲覧画像に表示された計測領域線を非表示とする処理を行なう。また、CPU34cは、[ステレオ計測]チェックボックスからチェックを外す処理を行う。ステップSG915の処理が終了すると、処理はステップSG10に移行する。
【0183】
次に、図35を用いて、ステップSG10の欠陥指定処理の流れを説明する。ステップSG1000では、CPU34cが、[ステレオ計測]チェックボックスにチェックがあるかどうかを確認する。[ステレオ計測]チェックボックスにチェックがある場合、処理はステップSG1001に移行し、[ステレオ計測]チェックボックスにチェックがない場合、処理はステップSG6に移行する。
【0184】
ステップSG1001では、CPU34cが、閲覧画像の左側計測領域内に表示された欠陥輪郭線がユーザにより指定されたかどうかを確認する。欠陥輪郭線がユーザにより指定された場合、処理はステップSG1002に移行し、欠陥輪郭線がユーザにより指定されていない場合、処理はステップSG6に移行する。
【0185】
ステップSG1002では、CPU34cが、既に閲覧画像に重畳表示された欠陥矩形線、計測点、マッチング点を非表示とする処理を行う。ステップSG1003では、CPU34cが、閲覧画像に欠陥矩形線を重畳表示する処理を行う。欠陥矩形線とは、ユーザにより指定された欠損領域線の周囲に表示される矩形線であり、現在ユーザにより指定されている欠陥輪郭線であることを示す。
【0186】
以下、ステップSG1004〜SG1009では、適宜図36も用いて説明する。ステップSG1004では、CPU34cが、RAM34aに記録された、現在ユーザにより指定されている欠陥輪郭線の座標に基づいて、計測点座標を算出する。計測点とは、欠陥のサイズを計測する際に用いる点である。図36(a),(b)のように、計測点3610は欠陥輪郭線3600上において等間隔に位置している。
【0187】
ステップSG1005では、CPU34cが、閲覧画像の画像データに基づいて、左側計測領域内の計測点座標に対応した、右側計測領域内のマッチング点座標を算出する。より具体的には、CPU34cが、計測点座標に基づいてパターンマッチング処理を実行し、左右2画像の対応点であるマッチング点の座標を算出する。このパターンマッチング処理の方法は、特開2004−49638号公報に記載されたものと同様である。
【0188】
ステップSG1006では、CPU34cが、ステップSG1004〜SG1005で算出された計測点座標およびマッチング点座標に基づいて、各計測点の空間点座標(現実の空間上の3次元座標)を算出する。空間点座標の計算方法は、特開2004−49638号公報に記載されているものと同様である。
【0189】
ステップSG1007では、CPU34cが、ステップSG1006で算出された空間点座標に基づいて、計測結果を算出する。計測結果は、欠陥の距離、幅1,2、周囲長、面積の5種類を含む。
【0190】
距離とは、全ての空間点の奥行き方向の座標の平均値である。幅1とは、図36(c),(d)のように、全ての計測点座標から求めた等価楕円3620と、その長軸3621との交点から最近傍にある計測点同士の空間距離である。幅2とは、図36(c),(d)のように、等価楕円3620とその短軸3622との交点から最近傍にある計測点同士の空間距離である。なお、等価楕円とは、複数の座標から近似できる楕円である。周囲長とは、図36(e)のように、全ての隣り合う計測点の空間点距離3630の合計である。面積とは、図36(f)のように、全ての隣り合う計測点によって囲まれた領域3640の空間面積である。
【0191】
ステップSG1008では、CPU34cが、閲覧画像の左側計測領域内に計測点を重畳表示すると共に右側計測領域内にマッチング点を重畳表示する処理を行う。ステップSG1009では、CPU34cが、ステップSG1007で算出された計測結果を[計測結果]ボックスに表示する処理を行う。ステップSG1009の処理が終了すると、処理はステップSG6に移行する。
【0192】
本実施形態では、ステレオ光学アダプタを使用して撮像した閲覧画像を用いているが、欠陥抽出処理に関しては、ステレオ光学アダプタ以外の光学アダプタを使用して撮像した閲覧画像を用いることも可能である。図37に示す[画像閲覧]ウィンドウ3700では、光学アダプタにより結像された1つの被写体像を撮像した閲覧画像3701が表示されている。ユーザが[欠陥抽出]チェックボックス3710にチェックを入れると、図38のように、閲覧画像3701上に欠陥輪郭線3720が重畳表示される。
【0193】
また、本実施形態では、図23のように、閲覧画像2202において、欠陥抽出処理によって抽出された欠陥に対応する位置に欠陥輪郭線2230が表示されるが、欠陥の位置を明示できるものであれば、表示するのは線でなくてもよい。例えば、欠陥に対応する位置に矢印等の図形を表示したり、「欠陥」等の文字を表示したりしてもよい。
【0194】
本実施形態によれば、閲覧画像とテンプレート画像との差分を抽出することによって、欠陥の種類によらずブレードの欠陥を抽出することができる。さらに、抽出された欠陥上に欠陥輪郭線等を重畳表示することによって、ユーザが欠陥の位置を認識しやすくなる。
【0195】
また、抽出された欠陥に対して計測を実行することによって、欠陥のサイズを知ることができる。さらに、閲覧画像上に表示された欠陥のうち、ユーザが欠陥輪郭線を指定することによって指定した欠陥に対して計測を実行することによって、ユーザが希望する欠陥のサイズを知ることができる。さらに、ステレオ光学アダプタを使用して撮像した閲覧画像を用いて欠陥抽出処理を行い、抽出された欠陥に基づいてステレオ計測を実行することによって、欠陥の3次元サイズを知ることができる。
【0196】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0197】
1・・・ジェットエンジン、2・・・ターニングツール、3・・・内視鏡装置、4・・・ビデオ端子ケーブル、5・・・ビデオキャプチャカード、6・・・PC、7・・・LANケーブル、10・・・タービンブレード、20・・・内視鏡挿入部、21・・・内視鏡装置本体、22,25・・・モニタ(表示部)、23・・・リモコン(入力部)、24・・・PC本体、30a・・・撮像光学系、30b・・・撮像素子、31・・・画像信号処理装置、32・・・光源、33・・・湾曲制御ユニット、34,35・・・制御用コンピュータ、34a,35a・・・RAM、34b・・・ROM、34c,35c・・・CPU(画像比較部、画像選択部、差分抽出部、計測部)、34d,35d・・・ネットワークI/F、34e・・・RS232C I/F、34f・・・カードI/F、35b・・・HDD、35e・・・USB I/F
【特許請求の範囲】
【請求項1】
ジェットエンジン内に周期的に配置されたブレードを撮像した画像と、テンプレート画像とを比較する画像比較部と、
前記ブレードを撮像した画像の中から、前記画像比較部による画像比較の結果に基づいて一部の画像を選択する画像選択部と、
前記画像選択部によって選択された画像と前記テンプレート画像との差分を抽出する差分抽出部と、
を備えたことを特徴とする画像処理装置。
【請求項2】
前記差分抽出部によって抽出された前記差分の位置に対応する画像に基づいて計測を実行する計測部をさらに備えたことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像選択部によって選択された画像に、前記差分抽出部によって抽出された前記差分を示す情報を重畳して表示する表示部をさらに備えたことを特徴とする請求項1または請求項2に記載の画像処理装置。
【請求項4】
前記差分抽出部によって抽出された前記差分を選択する指示を入力する入力部をさらに備え、
前記計測部は、前記入力部に入力された指示が示す前記差分の位置に対応する画像に基づいて計測を実行する
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記ブレードを撮像した画像は、同一被写体に関する複数の被写体像を含み、
前記計測部は、前記画像選択部によって選択された画像に含まれる一の被写体像において、前記差分抽出部によって抽出された前記差分に対応する位置に計測点を設定し、前記画像選択部によって選択された画像に含まれる他の被写体像において、前記計測点に対応する対応点を算出し、前記計測点および前記対応点に基づいて計測を実行する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項6】
ジェットエンジン内に周期的に配置されたブレードを撮像した複数の画像と、テンプレート画像とを比較するステップと、
前記ブレードを撮像した複数の画像の中から、前記画像比較部による画像比較の結果に基づいて一部の画像を選択するステップと、
前記画像選択部によって選択された画像と前記テンプレート画像との差分を抽出するステップと、
をコンピュータに実行させるためのプログラム。
【請求項1】
ジェットエンジン内に周期的に配置されたブレードを撮像した画像と、テンプレート画像とを比較する画像比較部と、
前記ブレードを撮像した画像の中から、前記画像比較部による画像比較の結果に基づいて一部の画像を選択する画像選択部と、
前記画像選択部によって選択された画像と前記テンプレート画像との差分を抽出する差分抽出部と、
を備えたことを特徴とする画像処理装置。
【請求項2】
前記差分抽出部によって抽出された前記差分の位置に対応する画像に基づいて計測を実行する計測部をさらに備えたことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像選択部によって選択された画像に、前記差分抽出部によって抽出された前記差分を示す情報を重畳して表示する表示部をさらに備えたことを特徴とする請求項1または請求項2に記載の画像処理装置。
【請求項4】
前記差分抽出部によって抽出された前記差分を選択する指示を入力する入力部をさらに備え、
前記計測部は、前記入力部に入力された指示が示す前記差分の位置に対応する画像に基づいて計測を実行する
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記ブレードを撮像した画像は、同一被写体に関する複数の被写体像を含み、
前記計測部は、前記画像選択部によって選択された画像に含まれる一の被写体像において、前記差分抽出部によって抽出された前記差分に対応する位置に計測点を設定し、前記画像選択部によって選択された画像に含まれる他の被写体像において、前記計測点に対応する対応点を算出し、前記計測点および前記対応点に基づいて計測を実行する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項6】
ジェットエンジン内に周期的に配置されたブレードを撮像した複数の画像と、テンプレート画像とを比較するステップと、
前記ブレードを撮像した複数の画像の中から、前記画像比較部による画像比較の結果に基づいて一部の画像を選択するステップと、
前記画像選択部によって選択された画像と前記テンプレート画像との差分を抽出するステップと、
をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図34】
【図35】
【図6】
【図7】
【図22】
【図23】
【図24】
【図25】
【図26】
【図33】
【図36】
【図37】
【図38】
【図2】
【図3】
【図4】
【図5】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図34】
【図35】
【図6】
【図7】
【図22】
【図23】
【図24】
【図25】
【図26】
【図33】
【図36】
【図37】
【図38】
【公開番号】特開2011−21560(P2011−21560A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2009−168012(P2009−168012)
【出願日】平成21年7月16日(2009.7.16)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願日】平成21年7月16日(2009.7.16)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
[ Back to top ]