説明

画像処理装置、画像処理方法およびプログラム

【課題】検査対象の欠陥の検出精度を向上させること。
【解決手段】画像処理装置は、入力画像の一部である変換対象領域を、入力画像から順次選択する変換対象領域選択部と、複数の変換対象領域のそれぞれについて、変換対象領域を含む種類が異なる複数の周辺領域を抽出する周辺領域抽出部と、複数の変換対象領域毎に、複数の周辺領域のそれぞれについて、周辺領域の画像を用いて変換対象領域の画像を変換することにより、複数の変換画像を生成する画像変換部と、複数の周辺領域の種類毎に、複数の変換対象領域に対応する複数の変換画像を組み合わせることにより、複数の出力画像を生成する出力画像生成部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【0002】
検査対象の画像から、検査対象の欠陥を自動的に検出する技術が考案されている。たとえば、特許文献1には、検査対象の画像の明度を二値化して、二値化された明度が予め定めた閾値以下の場合、検査対象を欠陥として認識する技術が開示されている。
【特許文献1】特開平11−94763号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来技術では、欠陥が画像に写り込んでいる場合であっても、欠陥のコントラストが低い場合、欠陥を認識することができないので、検査対象の欠陥の検出精度を向上させることができない。このため、検査対象画像に含まれている欠陥のコントラストを高めることで、検査対象の欠陥の検出精度を向上させることが課題となっていた。
【課題を解決するための手段】
【0004】
上記課題を解決するために、本発明の第1の態様における画像処理装置は、入力画像から出力画像を生成する画像処理装置であって、入力画像の一部である変換対象領域を、入力画像から順次選択する変換対象領域選択部と、複数の変換対象領域のそれぞれについて、変換対象領域を含む種類が異なる複数の周辺領域を抽出する周辺領域抽出部と、複数の変換対象領域毎に、複数の周辺領域のそれぞれについて、周辺領域の画像を用いて変換対象領域の画像を変換することにより、複数の変換画像を生成する画像変換部と、複数の周辺領域の種類毎に、複数の変換対象領域に対応する複数の変換画像を組み合わせることにより、複数の出力画像を生成する出力画像生成部とを備える。
【0005】
また、本発明の第2の態様における画像処理方法は、入力画像から出力画像を生成する画像処理方法であって、入力画像の一部である変換対象領域を、入力画像から順次選択する変換対象領域選択段階と、複数の変換対象領域のそれぞれについて、変換対象領域を含む種類が異なる複数の周辺領域を抽出する周辺領域抽出段階と、複数の変換対象領域毎に、複数の周辺領域のそれぞれについて、周辺領域の画像を用いて変換対象領域の画像を変換することにより、複数の変換画像を生成する画像変換段階と、複数の周辺領域の種類毎に、複数の変換対象領域に対応する複数の変換画像を組み合わせることにより、複数の出力画像を生成する出力画像生成段階とを備える。
【0006】
また、本発明の第3の態様におけるプログラムは、入力画像から出力画像を生成するためのプログラムであって、コンピュータに、入力画像の一部である変換対象領域を、入力画像から順次選択する変換対象領域選択手順と、複数の変換対象領域のそれぞれについて、変換対象領域を含む種類が異なる複数の周辺領域を抽出する周辺領域抽出手順と、複数の変換対象領域毎に、複数の周辺領域のそれぞれについて、周辺領域の画像を用いて変換対象領域の画像を変換することにより、複数の変換画像を生成する画像変換手順と、複数の周辺領域の種類毎に、複数の変換対象領域に対応する複数の変換画像を組み合わせることにより、複数の出力画像を生成する出力画像生成手順とを実行させる。
【0007】
また、本発明の第4の態様における画像処理装置は、入力画像から出力画像を生成する画像処理装置であって、入力画像の一の画素を中心として、m行n列の部分領域を有する矩形窓を所定角度ずつ回転させる回転制御部と、矩形窓が所定角度ずつ回転される度に、矩形窓のn個の列のそれぞれについてm個の部分領域の対応する画素の輝度値の和を算出する輝度算出部と、矩形窓の所定回転角度毎に、n個の輝度値の和のうちの最大値と最小値との差分を算出する差分算出部と、差分が最大となる矩形窓の回転角度における差分を、一の画素の輝度値として決定する輝度決定部と、回転制御部、輝度算出部、差分算出部、および輝度決定部による処理を、入力画像が有する複数の画素のそれぞれに対して実行させることにより、複数の画素の輝度値を決定し、決定された輝度値を複数の画素の輝度値として有する出力画像を生成する画像生成部とを備える画像処理装置。
【0008】
また、本発明の第5の態様における画像処理方法は、入力画像から出力画像を生成する画像処理方法であって、入力画像の一の画素を中心として、m行n列の部分領域を有する矩形窓を所定角度ずつ回転させる回転段階と、矩形窓が所定角度ずつ回転される度に、矩形窓のn個の列のそれぞれについてm個の部分領域の対応する画素の輝度値の和を算出する輝度算出段階と、矩形窓の所定回転角度毎に、n個の輝度値の和のうちの最大値と最小値との差分を算出する差分算出段階と、差分が最大となる矩形窓の回転角度における差分を、一の画素の輝度値として決定する輝度決定段階と、回転段階、輝度算出段階、差分算出段階、および輝度決定段階を、入力画像が有する複数の画素のそれぞれに対して実行することにより、複数の画素の輝度値を決定し、決定された輝度値を複数の画素の輝度値として有する出力画像を生成する画像生成段階とを備える。
【0009】
また、本発明の第6の態様におけるプログラムは、入力画像から出力画像を生成するためのプログラムであって、コンピュータに、入力画像の一の画素を中心として、m行n列の部分領域を有する矩形窓を所定角度ずつ回転させる回転手順と、矩形窓が所定角度ずつ回転される度に、矩形窓のn個の列のそれぞれについてm個の部分領域の対応する画素の輝度値の和を算出する輝度算出手順と、矩形窓の所定回転角度毎に、n個の輝度値の和のうちの最大値と最小値との差分を算出する差分算出手順と、差分が最大となる矩形窓の回転角度における差分を、一の画素の輝度値として決定する輝度決定手順と、回転手順、輝度算出手順、差分算出手順、および輝度決定手順を、入力画像が有する複数の画素のそれぞれに対して実行することにより、複数の画素の輝度値を決定し、決定された輝度値を複数の画素の輝度値として有する出力画像を生成する画像生成手順とを実行させる。
【0010】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【0011】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0012】
図1は、実施形態に係る画像処理装置100の機能構成の一例を示す。画像処理装置100は、入力画像から出力画像を生成する。たとえば、画像処理装置100は、金属部品、ガラスなどの検査対象の画像から、検査対象の欠陥が強調されている検査対象の画像を生成する。
【0013】
画像処理装置100は、画像格納部102、画像取得部104、変換対象領域選択部106、周辺領域抽出部108、および画像変換部110を備える。画像処理装置100は、出力画像生成部122、類似度算出部124、周辺領域種類選択部126、周辺領域種類格納部128、脈理検出部130、表示部132、および出力画像選択部134をさらに備える。
【0014】
画像格納部102は、画像処理装置100による画像処理に用いられる画像を格納する。たとえば、画像格納部102は、入力画像を格納する。画像格納部102は、入力画像から生成された出力画像の目標となる目標画像を格納してもよい。また、画像格納部102は、検査対象を含む検査対象画像を格納してもよい。たとえば、画像格納部102は、脈理などの欠陥を含む可能性のある検査対象を含む検査対象画像を格納してもよい。
【0015】
画像取得部104は、入力画像、目標画像、または検査対象画像を、画像格納部102から取得する。画像取得部104は、入力画像、目標画像、または検査対象画像を、外部の情報処理装置または外部の記録媒体から取得してもよい。
【0016】
変換対象領域選択部106は、入力画像の一部である変換対象領域を、入力画像から順次選択する。たとえば、変換対象領域選択部106が、変換対象領域である画素を、入力画像から順次選択する。この場合、変換対象領域選択部106は、全画素を順次選択してもよく、一定間隔毎の画素を順次選択してもよい。
【0017】
周辺領域抽出部108は、複数の変換対象領域のそれぞれについて、変換対象領域を含む種類が異なる複数の周辺領域を抽出する。具体的には、周辺領域抽出部108は、複数の変換対象領域のそれぞれについて、変換対象領域を含む形状または大きさが異なる複数の周辺領域を抽出する。
【0018】
たとえば、周辺領域抽出部108は、複数の変換対象領域のそれぞれについて、縦横比が異なる矩形の複数の周辺領域を抽出する。周辺領域抽出部108は、複数の変換対象領域のそれぞれについて、面積が異なる複数の周辺領域を抽出してもよい。周辺領域抽出部108は、予め設定されている複数の周辺領域を抽出してもよく、コンピュータがランダムに生成した複数の周辺領域を抽出してもよい。
【0019】
画像変換部110は、複数の変換対象領域毎に、複数の周辺領域のそれぞれについて、周辺領域の画像を用いて変換対象領域の画像を変換することにより、複数の変換画像を生成する。出力画像生成部122は、複数の周辺領域の種類毎に、複数の変換対象領域に対応する複数の変換画像を組み合わせることにより、複数の出力画像を生成する。
【0020】
変換対象領域選択部106が、変換対象領域である画素を、入力画像から順次選択した場合、周辺領域抽出部108は、複数の画素のそれぞれについて、画素を含む矩形の複数の周辺領域を抽出する。画像変換部110は、複数の画素毎に、画素を含む矩形の複数の周辺領域のそれぞれについて、周辺領域の画像を用いて変換対象領域の画像を変換することにより、複数の変換画像を生成する。たとえば、画像変換部110は、複数の画素毎に、上記変換方法を用いて、当該画素の輝度値を決定する。
【0021】
そして、出力画像生成部122は、矩形の複数の周辺領域毎に、複数の変換対象領域に対応する複数の変換画像を組み合わせることにより、複数の出力画像を生成する。たとえば、輝度決定部118が画素の輝度値を決定した場合、出力画像生成部122は、前記複数の周辺領域毎に、輝度決定部118が決定した複数の画素の輝度値を組み合わせることにより、複数の出力画像を生成する。
【0022】
類似度算出部124は、複数の出力画像のそれぞれを目標画像と比較することにより、複数の出力画像のそれぞれの目標画像に対する類似度を算出する。たとえば、類似度算出部124は、出力画像の各領域の値と目標画像の対応する各領域の値とを比較した比較値を算出する。そして、類似度算出部124は、領域毎の比較値を全領域について平均または合計した値を、出力画像と目標画像との類似度として算出する。
【0023】
周辺領域種類選択部126は、算出された類似度に基づいて、複数の周辺領域の種類の中から、少なくとも1つの前記周辺領域の種類を選択する。たとえば、周辺領域種類選択部126は、複数の周辺領域の種類の中から、目標画像との類似度がより高い出力画像の生成に用いられた周辺領域の種類を選択する。周辺領域種類選択部126は、選択した周辺領域の種類を、周辺領域種類格納部128に格納させてもよい。また、周辺領域種類選択部126は、選択した周辺領域の種類を、外部の情報処理装置または外部の記録媒体へ出力してもよい。
【0024】
脈理検出部130は、出力画像生成部によって生成された出力画像に基づいて、検査対象画像に含まれている所定のパターンを検出する。たとえば、脈理検出部130は、出力画像生成部によって生成された出力画像に基づいて、検査対象画像に含まれている脈理などの欠陥を検出する。脈理検出部130は、公知の技術を用いることにより、画像から検査対象の欠陥を検出してもよい。たとえば、脈理検出部130は、特開平11−94763号公報に記載されている欠陥検出方法を用いて、画像から検査対象の欠陥を検出してもよい。
【0025】
たとえば、脈理検出部130は、撮像された画像から検出したエッジに基づいて、検査対象の欠陥を検出してもよい。また、脈理検出部130は、検出したエッジの位置、形状、大きさ、色、明るさなどに基づいて、検査対象の欠陥を検出してもよい。また、脈理検出部130は、撮像された画像の領域ごとの色または明るさに基づいて、検査対象の欠陥を検出してもよい。たとえば、脈理検出部130は、複数の領域の色または明るさの差または平均に基づいて、検査対象の欠陥を検出してもよい。
【0026】
また、脈理検出部130は、撮像された画像と、予め撮像しておいた欠陥が生じていない検査対象の画像である目標画像または予め撮像しておいた欠陥が生じている検査対象の画像である目標画像とを比較することにより、検査対象の欠陥を検出してもよい。たとえば、脈理検出部130は、撮像された画像の画像ごとまたは領域ごとの色または明るさと、目標画像の画素ごとまたは領域ごとの色または明るさとの、差または比に基づいて検査対象の欠陥を検出してもよい。
【0027】
画像取得部104が、複数の入力画像および複数の入力画像のそれぞれに対応する複数の目標画像を取得した場合、出力画像生成部122は、複数の入力画像のそれぞれについて、複数の出力画像を生成してもよい。また、類似度算出部124は、複数の入力画像のそれぞれについて生成された、複数の出力画像のそれぞれの、目標画像に対する類似度を算出してもよい。また、周辺領域種類選択部126は、複数の入力画像のそれぞれについて算出された、複数の出力画像のそれぞれの類似度に基づいて、複数の周辺領域の種類の中から、少なくとも1つの周辺領域の種類を選択してもよい。
【0028】
周辺領域種類選択部126は、入力画像ごとに、少なくとも1つの周辺領域の種類を選択してもよい。たとえば、周辺領域種類選択部126は、入力画像ごとに、目標画像との類似度が最も高い出力画像を生成することができる周辺領域の種類を一つ選択してもよい。または、周辺領域種類選択部126は、入力画像ごとに、目標画像との類似度が所定の閾値よりも高い出力画像を生成することができる周辺領域の種類を一つまたは複数選択してもよい。
【0029】
周辺領域種類選択部126は、複数の入力画像に共通する、少なくとも1つの周辺領域の種類を選択してもよい。たとえば、周辺領域種類選択部126は、たとえば、周辺領域種類選択部126は、複数の入力画像にいずれに対しても目標画像との類似度が最も高い出力画像を生成することができる周辺領域の種類を、複数の入力画像に共通する周辺領域の種類として選択してもよい。または、周辺領域種類選択部126は、複数の入力画像にいずれに対しても目標画像との類似度が所定の閾値よりも高い出力画像を生成することができる周辺領域の種類を選択してもよい。
【0030】
周辺領域種類選択部126は、周辺領域の種類ごとに、当該周辺領域の種類を用いて複数の入力画像のそれぞれについて生成された、複数の出力画像の類似度の平均値を算出してもよい。そして、周辺領域種類選択部126は、算出された平均値に基づいて、少なくとも1つの周辺領域の種類を、複数の入力画像に共通する周辺領域の種類として選択してもよい。たとえば、周辺領域種類選択部126は、平均値が最も高くなる周辺領域の種類を、複数の入力画像に共通する周辺領域の種類として選択してもよい。また、周辺領域種類選択部126は、平均値が所定の閾値よりも高くなる周辺領域の種類を、複数の入力画像に共通する周辺領域の種類として選択してもよい。
【0031】
画像処理装置100は、出力画像生成部によって生成された複数の出力画像を表示部132に表示させてもよい。そして、画像処理装置100は、ユーザの選択指示に基づいて、表示されている複数の出力画像の中から出力画像を、出力画像選択部134に選択させてもよい。この場合、周辺領域種類選択部126は、複数の周辺領域の種類の中から、出力画像選択部134によって選択された出力画像が生成されたときに用いられた周辺領域の種類を選択してもよい。
【0032】
画像取得部104が検査対象画像を入力画像として取得した場合、画像変換部110は、複数の変換対象領域毎に、周辺領域種類選択部126が選択した種類の周辺領域を用いて、検査対象画像の変換対象領域の画像を変換することにより、複数の変換画像を生成してもよい。この場合、出力画像生成部122は、生成された複数の変換画像を組み合わせることにより、検査対象画像に対応する出力画像を生成してもよい。そして、脈理検出部130は、出力画像生成部122によって生成された出力画像に基づいて、検査対象画像に含まれている脈理を検出してもよい。
【0033】
図2は、画像変換部110の機能構成の一例を示す。画像変換部110は、回転制御部112、輝度算出部114、差分算出部116、および輝度決定部118を有する。
【0034】
回転制御部112は、複数の画素毎に、複数の周辺領域のそれぞれについて、画素を中心として、周辺領域に対応するm行n列の部分領域を有する矩形窓を所定角度ずつ回転させる。輝度算出部114は、矩形窓が所定角度ずつ回転される度に、矩形窓のn個の列のそれぞれについてm個の部分領域の対応する画素の輝度値の和を算出する。
【0035】
差分算出部116は、矩形窓の所定回転角度毎に、n個の輝度値の和のうちの最大値と最小値との差分を算出する。輝度決定部118は、差分が最大となる矩形窓の回転角度における差分を、画素の輝度値として決定する。
【0036】
図3は、画像変換部110による処理のフローの一例を示す。なお、画像変換部110は、周辺領域抽出部108によって抽出された複数の周辺領域のそれぞれについて、以下の処理をおこなう。
【0037】
まず、画像変換部110が、入力画像から画素を一つ選択する(S302)。つぎに、画像変換部110が、S302で選択された画素を中心として、周辺領域に対応するm行n列の部分領域を有する矩形窓を設定する(S303)。
【0038】
つぎに、輝度算出部114が、矩形窓のn個の列のそれぞれについてm個の部分領域の対応する画素の輝度値の和を算出する(S306)。つぎに、差分算出部116が、S306で算出されたn個の輝度値の和のうちの最大値と最小値との差分を算出する(S308)。
【0039】
つぎに、画像変換部110が、予め定められている全ての角度について、S308によって差分が算出されたか否かを判断する(S310)。S310において、予め定められている全ての角度について、S308によって差分が算出されていないと判断した場合(S310:No)は、回転制御部112が、S302で選択された画素を中心として、S303で設定された矩形窓を所定角度回転させて(S312)、S306へ戻る。一方、S310において、予め定められている全ての角度について、S308によって差分が算出されたと判断した場合(S310:Yes)は、輝度決定部118が、差分が最大となる矩形窓の回転角度における差分を、S302で選択された画素の輝度値として決定する(S314)。
【0040】
つぎに、画像変換部110が、入力画像に含まれている全ての画素について、S314によって輝度値が決定されたか否かを判断する(S316)。S316において、入力画像に含まれている全ての画素について、S314によって輝度値が決定されていないと判断した場合(S316:No)は、S302へ戻る。一方、S316において、入力画像に含まれている全ての画素について、S314によって輝度値が決定されたと判断した場合(S316:Yes)、画像変換部110は、一連の処理を終了する。
【0041】
図4は、画像変換部110が用いる矩形窓の一例を示す。たとえば、画像変換部110は、入力画像400から、画素401を選択する。そして、画像変換部110は、入力画像400に含まれる画素401を中心として、m行n列の部分領域を有する矩形窓430を、入力画像400上に設定する。このとき、画像変換部110は、矩形窓430の回転角度を0°に設定する。入力画像400には、脈理420が含まれている。
【0042】
図5は、輝度算出部114によって算出された輝度値の一例を示す。図5は、矩形窓430の回転角度が0°のときに、輝度算出部114が算出した、矩形窓430のn個の列のそれぞれの輝度値を示す。差分算出部116は、輝度算出部114によって算出された輝度値の最大値501と最小値502との差分503を、矩形窓430の回転角度が0°のときの差分として算出する。矩形窓の回転角度が0°のとき、脈理420の直線方向と、矩形窓の列方向とが略直交しているので、矩形窓の複数の列のそれぞれの輝度値の値は、それぞれ平均値に近い値となる。したがって、最大値501と最小値502との差分503は小さくなる。
【0043】
図6は、回転制御部112によって回転された矩形窓の一例を示す。矩形窓430は、図4に示した状態から、画素401を中心として、時計回りに70°回転されている。
【0044】
図7は、輝度算出部114によって算出された輝度値の他の一例を示す。図7は、矩形窓430の回転角度が70°のときに、輝度算出部114が算出した、矩形窓430のn個の列のそれぞれの輝度値を示す。差分算出部116は、輝度算出部114によって算出された輝度値の最大値701と最小値702との差分703を、矩形窓430の回転角度が70°のときの差分として算出する。
【0045】
矩形窓430の回転角度が70°のとき、脈理420の直線方向と、矩形窓の列方向とが略平行している。この場合、脈理420と重なる矩形窓の列は、脈理420と重ならない矩形窓の列と比べて輝度値の和が極めて低くなる。一方で、脈理420と重ならない矩形窓の列は、脈理420と重なる矩形窓の列と比べて輝度値の和が極めて高くなる。したがって、輝度値の和の最大値701と最小値702との差分703は大きくなる。
【0046】
画像変換部110は、矩形窓430を予め定められている角度単位で回転させる毎に、矩形窓430のn個の列のそれぞれについて、当該列の輝度値、すなわち、m個の部分領域の対応する画素の輝度値の和を算出する。そして、画像変換部110は、算出された輝度値の最大値と最小値との差分を算出する。さらに、画像変換部110は、算出された差分の最大値を、画素401の輝度値として決定する。画像処理装置100は、入力画像に含まれる画素毎に、上記処理をおこなうことで、入力画像に含まれる全ての画素についての輝度値を決定する。そのうえで、画像処理装置100は、決定された複数の画素の輝度値を用いて、出力画像を生成する。
【0047】
図8は、画像処理装置100による処理のフローの一例を示す。図8は、最適な周辺領域の種類を画像処理装置100が自動的に選択する場合の、処理のフローの一例を示す。画像処理装置100は、複数の入力画像および複数の目標画像を取得して、取得した入力画像ごとに、以下の処理をおこなうことにより、最適な周辺領域の種類を選択してもよい。
【0048】
まず、画像取得部104が、入力画像および入力画像に対応する目標画像を取得する(S802)。つぎに、変換対象領域選択部106が、S802で取得された入力画像に含まれている画素を一つ選択する(S804)。
【0049】
つぎに、周辺領域抽出部108が、S802で選択された画素を含む種類が異なる複数の周辺領域を抽出する(S806)。つぎに、画像変換部110が、S806で抽出された複数の周辺領域の中から周辺領域を一つ選択する(S808)。つぎに、画像変換部110は、S808で選択された周辺領域について、当該周辺領域の画像を用いてS802で選択された画素の画像を変換することにより、変換画像を生成する(S810)。たとえば、画像変換部110は、図3から図7にかけて説明した方法を用いて、変換画像を生成する。
【0050】
つぎに、画像変換部110が、S806で抽出された全ての周辺領域について、S810により変換画像が生成されたか否かを判断する(S812)。S812において、全ての周辺領域について、S810により変換画像が生成されていないと判断した場合(S812:No)、S808へ戻る。一方、S812において、全ての周辺領域について、S810により変換画像が生成されたと判断した場合(S812:Yes)、S810へ進む。
【0051】
つぎに、画像変換部110が、S802で取得された入力画像に含まれる全ての画素について、S810により複数の変換画像が生成されたか否かを判断する(S814)。S814において、全ての画素について、S810により複数の変換画像が生成されていないと判断した場合(S814:No)、S804へ戻る。一方、S814において、全ての画素について、S810により複数の変換画像が生成されたと判断した場合(S814:Yes)、出力画像生成部122が、S806で抽出された複数の周辺領域の種類毎に、S810で生成された複数の変換画像を組み合わせることにより、複数の出力画像を生成する(S816)。
【0052】
つぎに、類似度算出部124が、S816で生成された複数の出力画像のそれぞれを、S802で取得された目標画像と比較することにより、S816で生成された複数の出力画像のそれぞれの、S802で取得された目標画像に対する類似度を算出する(S818)。つぎに、周辺領域種類選択部126が、S818で算出された類似度に基づいて、S806で抽出された複数の周辺領域の種類の中から、周辺領域の種類を選択する(S820)。そして、周辺領域種類選択部126が、S820で選択した周辺領域の種類を、周辺領域種類格納部128に格納させて(S822)、画像処理装置100が、一連の処理を終了する。
【0053】
画像処理装置100は、最適な周辺領域の種類をユーザに選択させてもよい。たとえば、画像処理装置100は、S818−S822の代わりに、以下の処理をおこなってもよい。この場合、画像取得部104は、S802において目標画像を取得しなくてもよい。
【0054】
まず、表示部132が、S816で生成された複数の出力画像を表示する。つぎに、出力画像選択部134が、ユーザの選択指示に基づいて、表示部132が表示した複数の出力画像の中から出力画像を選択する。つぎに、周辺領域種類選択部126が、S806で抽出された複数の周辺領域の種類の中から、出力画像選択部134によって選択された出力画像が生成されたときに用いられた周辺領域の種類を選択する。そして、周辺領域種類選択部126が、選択した周辺領域の種類を、周辺領域種類格納部128に格納させる。
【0055】
図9は、入力画像および目標画像の一例を示す。画像処理装置100は、入力画像900および入力画像910から、出力画像をそれぞれ生成する。画像処理装置100は、目標画像902を、入力画像900から生成する出力画像の目標とする。画像処理装置100は、目標画像912を、入力画像910から生成する出力画像の目標とする。
【0056】
画像処理装置100は、検査対象が写り込んでいる検査対象画像を、入力画像として用いてもよい。画像処理装置100は、ユーザが入力画像900および入力画像910を参考にして作成した画像を、目標画像として用いてもよい。
【0057】
図10は、入力画像から生成された出力画像の一例を示す。画像処理装置100は、複数の入力画像のそれぞれについて、予め定められている複数の矩形窓を用いて、複数の出力画像を生成する。
【0058】
画像処理装置100は、入力画像に設定された矩形窓内に含まれる複数の画素の画素値を用いて、矩形窓内に含まれる中心の画素の画素値を決定する。画像処理装置100は、矩形窓の位置を移動させながら、矩形窓内に含まれる中心の画素の画素値を決定することにより、入力画像に含まれる全ての画素の画素値を決定する。そして、画像処理装置100は、決定された複数の画素の画素値を用いて、出力画像を生成する。
【0059】
たとえば、図10に示す例では、画像処理装置100は、矩形窓1000,1010,1020を用いて、入力画像900から、出力画像1030,1040,1050を生成する。また、画像処理装置100は、矩形窓1000,1010,1020を用いて、入力画像910から、出力画像1060,1070,1080を生成する。
【0060】
画像処理装置100は、出力画像1030,1040,1050のそれぞれを、目標画像902と比較することにより、出力画像1030,1040,1050のそれぞれの、目標画像902に対する類似度を算出する。たとえば、画像処理装置100は、目標画像902に最も類似する出力画像1050について、他の出力画像よりも高い類似度を算出する。
【0061】
また、画像処理装置100は、出力画像1060,1070,1080のそれぞれを、目標画像912と比較することにより、出力画像1060,1070,1080のそれぞれの、目標画像912に対する類似度を算出する。たとえば、画像処理装置100は、目標画像912に最も類似する出力画像1080について、他の出力画像よりも高い類似度を算出する。
【0062】
画像処理装置100は、算出された類似度に基づいて、検査対象画像の検査に最適な矩形窓を選択する。たとえば、画像処理装置100は、入力画像900および入力画像910のいずれからも、類似度が最も高い出力画像を生成することができる矩形窓1020を、検査対象画像の検査に最適な矩形窓として選択する。
【0063】
画像処理装置100は、類似度が最も高い出力画像を生成することができる矩形窓が、入力画像900と入力画像910とで異なる場合、画像処理装置100は、入力画像900および入力画像910について、類似度が最も高い出力画像を生成することができる矩形窓をそれぞれ選択してもよい。
【0064】
画像処理装置100は、入力画像900および入力画像910のいずれからも、類似度が所定の閾値よりも高い出力画像を生成することができる一つまたは複数の矩形窓を、検査対象画像の検査に最適な矩形窓として選択してもよい。
【0065】
画像処理装置100は、矩形窓ごとに、類似度の平均値を算出し、算出された平均値に基づいて、検査対象画像の検査に最適な矩形窓を選択してもよい。たとえば、画像処理装置100は、矩形窓1000について、出力画像1030の類似度と、出力画像1060の類似度との平均値を算出する。同様に、矩形窓1010について、出力画像1040の類似度と、出力画像1070の類似度との平均値を算出する。同様に、矩形窓1020について、出力画像1050の類似度と、出力画像1080の類似度との平均値を算出する。そして、画像処理装置100は、最も高い平均値が算出された矩形窓、または、所定の閾値よりも高い平均値が算出された矩形窓を、検査対象画像の検査に最適な矩形窓として選択する。
【0066】
画像処理装置100は、選択した矩形窓に関する情報を、周辺領域種類格納部128に格納する。たとえば、画像処理装置100は、選択した矩形窓の識別情報、形状、大きさなどを、周辺領域種類格納部128に格納する。
【0067】
画像処理装置100は、複数の出力画像をそれぞれ表示して、表示した出力画像の中から、目標画像に類似する出力画像をユーザに選択させてもよい。そして、画像処理装置100は、ユーザに選択された出力画像が生成されたときに用いられた矩形窓を、検査対象画像の検査に最適な矩形窓として選択して、周辺領域種類格納部128に格納してもよい。
【0068】
画像処理装置100は、検査対象画像を検査する場合、周辺領域種類格納部128に格納されている情報から検査対象画像の検査に最適な矩形窓を特定し、特定された矩形窓を用いて、検査対象画像の検査に最適な出力画像を、検査対象画像から生成することができる。
【0069】
図11は、画像処理装置100による処理のフローの他の一例を示す。図11は、最適な周辺領域の種類を用いて、検査対象画像から出力画像を生成し、生成された出力画像から検査対象の脈理を検出する場合の、処理のフローの一例を示す。
【0070】
まず、画像取得部104が、検査対象画像を取得する(S1102)。つぎに、画像変換部110が、周辺領域種類格納部128から、周辺領域の種類を取得する(S1104)。つぎに、変換対象領域選択部106が、S1102で取得された検査対象画像に含まれている画素を一つ選択する(S1106)。
【0071】
つぎに、周辺領域抽出部108が、S1102で取得された検査対象画像から、S1106で選択された画素を含む、S1104で取得された種類の周辺領域の画像を抽出する(S1108)。つぎに、画像変換部110が、S1108で抽出された周辺領域の画像を用いてS1106で選択された画素の画像を変換することにより、S1106で選択された画素についての変換画像を生成する(S1110)。
【0072】
つぎに、画像変換部110が、S1102で取得された検査対象画像に含まれる全ての画素について、S1110により変換画像が生成されたか否かを判断する(S1112)。S1112において、全ての画素について変換画像が生成されていないと判断した場合(S1112:No)、S1106へ戻る。一方、S1112において、全ての画素について変換画像が生成されたと判断した場合(S1112:Yes)、出力画像生成部122が、S1110で生成された複数の変換画像を組み合わせることにより、S1102で取得された検査対象画像に対応する出力画像を生成する(S1114)。そして、脈理検出部130が、S1114で生成された出力画像に基づいて、検査対象画像に含まれている脈理を検出する(S1116)。
【0073】
このように、本実施形態に係る画像処理装置100によれば、複数の周辺領域の種類をそれぞれ用いて、欠陥の画像がそれぞれ異なる複数の出力画像を入力画像から生成することができる。これにより、コンピュータあるいはユーザは、生成された複数の出力画像を参照することで、欠陥の検出に最適な画像を生成することができる周辺領域の種類を容易に特定することができる。そして、特定された周辺領域の種類を用いて検査対象画像を変換することにより、検査対象画像に含まれている欠陥のコントラストを高めることができる。これにより、検査対象の欠陥の検出精度を向上させることができる。
【0074】
また、本実施形態に係る画像処理装置100によれば、入力画像の変換対象領域ごとに、変換対象領域を回転させながら線状の欠陥を検出しているので、線状の欠陥の向きに関わらず、変換対象領域に含まれている線状の欠陥を検出することができる。さらに、変換対象領域の所定の角度ごとに、変換対象領域に設定した複数の列のそれぞれの輝度値を算出して、算出された複数の輝度値のうちの最大値と最小値の差分を、当該変換対象領域の輝度値とするので、線状の欠陥を含んでいる変換対象領域のコントラストを高めることができる。これにより、検査対象の欠陥の検出精度を向上させることができる。
【0075】
図12は、画像処理装置100のハードウェア構成の一例を示す。画像処理装置100は、ホスト・コントローラ1582により相互に接続されるCPU1505、RAM1520、グラフィック・コントローラ1575、および表示デバイス1580を有するCPU周辺部を備える。また、画像処理装置100は、I/O(入出力)コントローラ1584によりホスト・コントローラ1582に接続される通信I/F1530、ハードディスクドライブ1540、およびCD−ROMドライブ1560を有する入出力部を備える。さらに、画像処理装置100は、I/Oコントローラ1584に接続されるROM1510、FD(フレキシブルディスク)ドライブ1550、およびI/O(入出力)チップ1570を有するレガシー入出力部を備える。
【0076】
ホスト・コントローラ1582は、RAM1520と、高転送レートでRAM1520をアクセスするCPU1505およびグラフィック・コントローラ1575とを接続する。CPU1505は、ROM1510およびRAM1520に格納されたプログラムに基づいて動作して、各部を制御する。グラフィック・コントローラ1575は、CPU1505等がRAM1520内に設けたフレーム・バッファ上に生成する画像データを取得して、表示デバイス1580上に表示させる。これに代えて、グラフィック・コントローラ1575は、CPU1505等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0077】
I/Oコントローラ1584は、ホスト・コントローラ1582と、比較的高速な入出力装置である通信I/F1530、ハードディスクドライブ1540、CD−ROMドライブ1560を接続する。通信I/F1530は、ネットワークを介して外部と通信する。ハードディスクドライブ1540は、CPU1505が使用するプログラムおよびデータを格納する。CD−ROMドライブ1560は、CD−ROM1595からプログラムまたはデータを読み取り、RAM1520を介してハードディスクドライブ1540に提供する。
【0078】
また、I/Oコントローラ1584には、ROM1510と、FDドライブ1550、およびI/Oチップ1570の比較的低速な入出力装置とが接続される。ROM1510は、画像処理装置100の起動時にCPU1505が実行するブート・プログラム、画像処理装置100のハードウェアに依存するプログラム等を格納する。FDドライブ1550は、フレキシブルディスク1590からプログラムまたはデータを読み取り、RAM1520を介してハードディスクドライブ1540に提供する。I/Oチップ1570は、FDドライブ1550、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
【0079】
RAM1520を介してハードディスクドライブ1540に提供されるプログラムは、フレキシブルディスク1590、CD−ROM1595、またはICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM1520を介して画像処理装置100内のハードディスクドライブ1540にインストールされ、CPU1505において実行される。画像処理装置100にインストールされて実行されるプログラムは、CPU1505等に働きかけて、コンピュータを、図1から図11にかけて説明した、画像処理装置100が有する各機能部として機能させる。
【0080】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【0081】
【図1】実施形態に係る画像処理装置100の機能構成の一例を示す。
【図2】画像変換部110の機能構成の一例を示す。
【図3】画像変換部110による処理のフローの一例を示す。
【図4】画像変換部110が用いる矩形窓の一例を示す。
【図5】輝度算出部114によって算出された輝度値の一例を示す。
【図6】回転制御部112によって回転された矩形窓の一例を示す。
【図7】輝度算出部114によって算出された輝度値の他の一例を示す。
【図8】画像処理装置100による処理のフローの一例を示す。
【図9】入力画像および目標画像の一例を示す。
【図10】入力画像から生成された出力画像の一例を示す。
【図11】画像処理装置100による処理のフローの他の一例を示す。
【図12】画像処理装置100のハードウェア構成の一例を示す。
【符号の説明】
【0082】
100 画像処理装置
102 画像格納部
104 画像取得部
106 変換対象領域選択部
108 周辺領域抽出部
110 画像変換部
112 回転制御部
114 輝度算出部
116 差分算出部
118 輝度決定部
122 出力画像生成部
124 類似度算出部
126 周辺領域種類選択部
128 周辺領域種類格納部
130 脈理検出部
132 表示部
134 出力画像選択部
400 入力画像
401 画素
420 脈理
430 矩形窓
501 最大値
502 最小値
503 差分
701 最大値
702 最小値
703 差分
900 入力画像
902 目標画像
910 入力画像
912 目標画像
1000 矩形窓
1010 矩形窓
1020 矩形窓
1030 出力画像
1040 出力画像
1050 出力画像
1060 出力画像
1070 出力画像
1080 出力画像
1505 CPU
1510 ROM
1520 RAM
1530 通信I/F
1540 ハードディスクドライブ
1550 FDドライブ
1560 CD−ROMドライブ
1570 I/Oチップ
1575 グラフィック・コントローラ
1580 表示デバイス
1582 ホスト・コントローラ
1584 I/Oコントローラ
1590 フレキシブルディスク
1595 CD−ROM

【特許請求の範囲】
【請求項1】
入力画像から出力画像を生成する画像処理装置であって、
前記入力画像の一部である変換対象領域を、前記入力画像から順次選択する変換対象領域選択部と、
複数の前記変換対象領域のそれぞれについて、前記変換対象領域を含む種類が異なる複数の周辺領域を抽出する周辺領域抽出部と、
前記複数の変換対象領域毎に、前記複数の周辺領域のそれぞれについて、前記周辺領域の画像を用いて前記変換対象領域の画像を変換することにより、複数の変換画像を生成する画像変換部と、
前記複数の周辺領域の種類毎に、前記複数の変換対象領域に対応する前記複数の変換画像を組み合わせることにより、複数の前記出力画像を生成する出力画像生成部と
を備える画像処理装置。
【請求項2】
前記周辺領域抽出部は、前記複数の変換対象領域のそれぞれについて、縦横比が異なる矩形の前記複数の周辺領域を抽出する請求項1に記載の画像処理装置。
【請求項3】
前記周辺領域抽出部は、前記複数の変換対象領域のそれぞれについて、面積が異なる前記複数の周辺領域を抽出する請求項1または2に記載の画像処理装置。
【請求項4】
前記変換対象領域選択部は、前記変換対象領域である画素を、前記入力画像から順次選択し、
前記周辺領域抽出部は、複数の前記画素のそれぞれについて、前記画素を含む矩形の前記複数の周辺領域を抽出する請求項1乃至3のいずれかに記載の画像処理装置。
【請求項5】
前記画像変換部は、
前記複数の画素毎に、前記複数の周辺領域のそれぞれについて、前記画素を中心として、前記周辺領域に対応するm行n列の部分領域を有する矩形窓を所定角度ずつ回転させる回転制御部と、
前記矩形窓が所定角度ずつ回転される度に、前記矩形窓のn個の列のそれぞれについてm個の前記部分領域の対応する画素の輝度値の和を算出する輝度算出部と、
前記矩形窓の所定回転角度毎に、前記n個の輝度値の和のうちの最大値と最小値との差分を算出する差分算出部と、
前記差分が最大となる前記矩形窓の回転角度における前記差分を、前記画素の輝度値として決定する輝度決定部と
を有し、
前記出力画像生成部は、前記複数の周辺領域毎に、前記輝度決定部が決定した前記複数の画素の輝度値を組み合わせることにより、前記複数の出力画像を生成する請求項4に記載の画像処理装置。
【請求項6】
前記入力画像に対応する目標画像を取得する画像取得部と、
前記複数の出力画像のそれぞれを前記目標画像と比較することにより、前記複数の出力画像のそれぞれの前記目標画像に対する類似度を算出する類似度算出部と、
前記類似度に基づいて、前記複数の周辺領域の種類の中から、少なくとも1つの前記周辺領域の種類を選択する周辺領域種類選択部と
をさらに備える請求項1乃至5のいずれかに記載の画像処理装置。
【請求項7】
前記画像取得部は、複数の前記入力画像および前記複数の入力画像のそれぞれに対応する複数の前記目標画像を取得し、
前記出力画像生成部は、前記複数の入力画像のそれぞれについて、前記複数の出力画像を生成し、
前記類似度算出部は、前記複数の入力画像のそれぞれについて生成された、前記複数の出力画像のそれぞれの、前記目標画像に対する類似度を算出し、
前記周辺領域種類選択部は、前記複数の入力画像のそれぞれについて算出された、前記複数の出力画像のそれぞれの前記類似度に基づいて、前記複数の周辺領域の種類の中から、少なくとも1つの前記周辺領域の種類を選択する請求項6に記載の画像処理装置。
【請求項8】
前記画像取得部は、検査対象を含む検査対象画像を前記入力画像として取得し、
前記画像変換部は、前記複数の変換対象領域毎に、前記周辺領域種類選択部が選択した前記周辺領域を用いて、前記検査対象画像の前記変換対象領域の画像を変換することにより、前記複数の変換画像を生成し、
前記出力画像生成部は、前記複数の変換画像を組み合わせることにより、前記検査対象画像に対応する前記出力画像を生成する請求項6または7に記載の画像処理装置。
【請求項9】
前記画像取得部は、脈理を含む可能性のある前記検査対象を含む前記検査対象画像を取得し、
前記画像処理装置は、
前記出力画像生成部によって生成された前記出力画像に基づいて、前記検査対象画像に含まれている脈理を検出する脈理検出部
をさらに備える請求項8に記載の画像処理装置。
【請求項10】
入力画像から出力画像を生成する画像処理方法であって、
前記入力画像の一部である変換対象領域を、前記入力画像から順次選択する変換対象領域選択段階と、
複数の前記変換対象領域のそれぞれについて、前記変換対象領域を含む種類が異なる複数の周辺領域を抽出する周辺領域抽出段階と、
前記複数の変換対象領域毎に、前記複数の周辺領域のそれぞれについて、前記周辺領域の画像を用いて前記変換対象領域の画像を変換することにより、複数の変換画像を生成する画像変換段階と、
前記複数の周辺領域の種類毎に、前記複数の変換対象領域に対応する前記複数の変換画像を組み合わせることにより、複数の前記出力画像を生成する出力画像生成段階と
を備える画像処理方法。
【請求項11】
入力画像から出力画像を生成するためのプログラムであって、コンピュータに、
前記入力画像の一部である変換対象領域を、前記入力画像から順次選択する変換対象領域選択手順と、
複数の前記変換対象領域のそれぞれについて、前記変換対象領域を含む種類が異なる複数の周辺領域を抽出する周辺領域抽出手順と、
前記複数の変換対象領域毎に、前記複数の周辺領域のそれぞれについて、前記周辺領域の画像を用いて前記変換対象領域の画像を変換することにより、複数の変換画像を生成する画像変換手順と、
前記複数の周辺領域の種類毎に、前記複数の変換対象領域に対応する前記複数の変換画像を組み合わせることにより、複数の前記出力画像を生成する出力画像生成手順と
を実行させるプログラム。
【請求項12】
入力画像から出力画像を生成する画像処理装置であって、
前記入力画像の一の画素を中心として、m行n列の部分領域を有する矩形窓を所定角度ずつ回転させる回転制御部と、
前記矩形窓が所定角度ずつ回転される度に、前記矩形窓のn個の列のそれぞれについてm個の前記部分領域の対応する画素の輝度値の和を算出する輝度算出部と、
前記矩形窓の所定回転角度毎に、前記n個の輝度値の和のうちの最大値と最小値との差分を算出する差分算出部と、
前記差分が最大となる前記矩形窓の回転角度における前記差分を、前記一の画素の輝度値として決定する輝度決定部と、
前記回転制御部、前記輝度算出部、前記差分算出部、および前記輝度決定部による処理を、前記入力画像が有する複数の前記画素のそれぞれに対して実行させることにより、前記複数の画素の輝度値を決定し、決定された輝度値を前記複数の画素の輝度値として有する前記出力画像を生成する画像生成部と
を備える画像処理装置。
【請求項13】
入力画像から出力画像を生成する画像処理方法であって、
前記入力画像の一の画素を中心として、m行n列の部分領域を有する矩形窓を所定角度ずつ回転させる回転段階と、
前記矩形窓が所定角度ずつ回転される度に、前記矩形窓のn個の列のそれぞれについてm個の前記部分領域の対応する画素の輝度値の和を算出する輝度算出段階と、
前記矩形窓の所定回転角度毎に、前記n個の輝度値の和のうちの最大値と最小値との差分を算出する差分算出段階と、
前記差分が最大となる前記矩形窓の回転角度における前記差分を、前記一の画素の輝度値として決定する輝度決定段階と、
前記回転段階、前記輝度算出段階、前記差分算出段階、および前記輝度決定段階を、前記入力画像が有する複数の画素のそれぞれに対して実行することにより、前記複数の画素の輝度値を決定し、決定された輝度値を前記複数の画素の輝度値として有する出力画像を生成する画像生成段階と
を備える画像処理方法。
【請求項14】
入力画像から出力画像を生成するためのプログラムであって、コンピュータに、
前記入力画像の一の画素を中心として、m行n列の部分領域を有する矩形窓を所定角度ずつ回転させる回転手順と、
前記矩形窓が所定角度ずつ回転される度に、前記矩形窓のn個の列のそれぞれについてm個の前記部分領域の対応する画素の輝度値の和を算出する輝度算出手順と、
前記矩形窓の所定回転角度毎に、前記n個の輝度値の和のうちの最大値と最小値との差分を算出する差分算出手順と、
前記差分が最大となる前記矩形窓の回転角度における前記差分を、前記一の画素の輝度値として決定する輝度決定手順と、
前記回転手順、前記輝度算出手順、前記差分算出手順、および前記輝度決定手順を、前記入力画像が有する複数の画素のそれぞれに対して実行することにより、前記複数の画素の輝度値を決定し、決定された輝度値を前記複数の画素の輝度値として有する出力画像を生成する画像生成手順と
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−38881(P2010−38881A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−205717(P2008−205717)
【出願日】平成20年8月8日(2008.8.8)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】