説明

線幅算出装置と算出方法並びに算出プログラム

【課題】被写体の表面に現れている線の幅を短時間に精度よく算出可能な線幅算出装置と算出方法並びに算出プログラムを得る。
【解決手段】記憶手段には、画像データに含まれる画素の大きさと被写体の表面上の大きさとの換算値が記憶されていて、画像処理手段は、画像データに含まれる画素ごとの輝度値を算出する輝度値算出手段と、画像データに含まれる画素ごとに算出された輝度値と所定の基準値とを比較し、比較の結果に基づいて画像データに含まれる画素の中から線が撮像されている可能性の高い線画素を特定する線画素特定手段と、画像データに含まれる画素のうち特定された線画素の周辺に位置する周辺画素を特定する周辺画素特定手段と、特定された周辺画素ごとに線境界を特定する線境界特定手段と、特定された線境界と換算値とに基づいて線幅を算出する線幅算出手段とを有してなる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビルなどの建築構造物の外壁の表面に発生する浮きなどの変状に伴うクラック(ひび割れ)の幅や、半導体のプリント基板上の配線の幅など、多種多様な線幅の算出に関するものである。
【背景技術】
【0002】
外壁の表面にクラックが発生すると、外壁の表面の浮き・剥離が発生し、浮いた箇所などが滑落する危険性がある。このような危険性を防止するためには、外壁の表面にクラックが発生しているか否かや、発生したクラックの形状の経年変化、例えば、時間の経過と共にクラックの長さが長くなっていないか、あるいは、クラックの幅が拡がっていないかなどを調査して、予防保全する必要がある。
【0003】
これまでにも、望遠鏡を用いて外壁のクラックの幅などを目視により計測するための装置が提案されている(例えば、特許文献1参照。)。また、建築構造物の表面をデジタルカメラで撮像して得られた画像データを画像処理して、クラックの幅などデータを得ることも提案されている(例えば、特許文献2参照。)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3996946号明細書
【特許文献2】特開2003−35528号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1等に記載された装置を用いた目視による方法では、特殊な機構を備えた装置が必要となり、また、調査範囲が広い(例えば、超高層ビルなどの外壁で面積が広い)場合には、調査時間が長くなってしまう。一方、撮像して得られた画像データを画像処理してクラックの幅などを算出する場合、算出結果は撮像装置の画素数など画像データの画質に依存してしまう。特に、クラックの境界位置などを特定するには、できるだけ高画質であることが望ましいが、撮像装置の撮像性能にも限界がある。そのため、画像処理に何らかの工夫が必要となるが、特許文献2には、具体的な画像処理の内容については開示されていない。
【0006】
そこで、本発明は、デジタルカメラ等の撮像装置により得られた被写体を撮像して得られた画像データを独自の画像処理方法を用いることで、被写体の表面に現れている線の幅(以下、「線幅」という。)を短時間に精度よく算出可能な線幅算出装置と算出方法並びに算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明にかかる線幅算出装置は、被写体を撮像して得られる画像データが記憶される記憶手段と、記憶手段に記憶されている画像データを画像処理する画像処理手段と、を備えた、被写体の表面に現れている線の幅を算出する装置であって、記憶手段には、画像データに含まれる画素の大きさと被写体の表面上の大きさとの換算値が記憶されていて、画像処理手段は、画像データに含まれる画素ごとの輝度値を算出する輝度値算出手段と、画像データに含まれる画素ごとに算出された輝度値と所定の基準値とを比較し、比較の結果に基づいて画像データに含まれる画素の中から線が撮像されている可能性の高い線画素を特定する線画素特定手段と、画像データに含まれる画素のうち、特定された線画素の周辺に位置する周辺画素を特定する周辺画素特定手段と、特定された周辺画素ごとに線境界を特定する線境界特定手段と、特定された線境界と換算値とに基づいて線幅を算出する線幅算出手段と、を有してなることを特徴とする。
【0008】
また、本発明にかかる線幅算出装置は、輝度値算出手段は、画素のRGB値に基づいて画素の輝度値を算出し、線画素特定手段は、算出された輝度値が基準値未満の画素を線画素として特定することを特徴とする。
【0009】
また、本発明にかかる線幅算出装置は、周辺画素特定手段は、画像データに含まれる画素のうち、線画素に隣接する画素を周辺画素として特定することを特徴とする。
【0010】
また、本発明にかかる線幅算出装置は、線境界特定手段は、周辺画素ごとに、線が撮像されている割合を示す線度を算出する線度算出手段と、線画素が複数連なって画像データ内に形成される線領域のベクトルを特定するベクトル特定手段と、を備え、算出された線度と特定されたベクトルとに基づいて線境界を特定することを特徴とする。
【0011】
また、本発明にかかる線幅算出装置は、線度算出手段は、画像データに含まれる線画素の輝度値の平均である第1平均値と、画像データに含まれる画素のうち線画素と周辺画素のいずれでもない非線画素の輝度値の平均である第2平均値と、を算出する平均輝度値算出手段を備え、画像データに含まれる周辺画素ごとに、周辺画素の輝度値と第1平均値と第2平均値とに基づいて、周辺画素の線度を算出することを特徴とする。
【0012】
また、本発明にかかる線幅算出装置は、線度算出手段は、周辺画素の線度Xを、第1平均値をBr1、第2平均値をBr2、周辺画素の輝度値をBrとしたとき、X=(Br−Br2)/(Br1−Br2)により算出することを特徴とする。
【0013】
また、本発明にかかる線幅算出装置は、ベクトル特定手段は、線領域内の1の基準画素から複数の画素それぞれへのベクトルを算出し、算出された複数のベクトルの平均値を線領域のベクトルとして特定することを特徴とする。
【0014】
また、本発明にかかる線幅算出装置は、線境界特定手段により特定される周辺画素の線境界は、周辺画素を2つのエリアに分割するベクトルを持つ直線として特定され、周辺画素内の2つのエリアのうち線領域側のエリアの面積と周辺画素の面積との面積比は、周辺画素の線度と一致することを特徴とする。
【0015】
また、本発明にかかる線幅算出装置は、線幅算出手段は、線領域を挟んで対向する2つの周辺画素それぞれを分割するベクトルを持つ直線間の距離を算出し、算出された距離に換算値を乗算して線幅を算出することを特徴とする。
【0016】
また、本発明にかかる線幅算出装置は、建築構造物を撮像して得られる画像データが記憶される記憶手段と、記憶手段に記憶されている画像データを画像処理する画像処理手段と、を備えた、建築構造物の表面に発生しているクラックの幅を算出する装置であって、記憶手段には、画像データに含まれる画素の大きさと建築構造物の表面上の大きさとの換算値が記憶されていて、画像処理手段は、画像データに含まれる画素ごとの輝度値を算出する輝度値算出手段と、画像データに含まれる画素ごとに算出された輝度値と所定の基準値とを比較し、比較の結果に基づいて画像データに含まれる画素の中からクラックが撮像されている可能性の高いクラック画素を特定するクラック画素特定手段と、画像データに含まれる画素のうち、特定されたクラック画素の周辺に位置する周辺画素を特定する周辺画素特定手段と、特定された周辺画素ごとにクラック境界を特定するクラック境界特定手段と、特定されたクラック境界と換算値とに基づいてクラック幅を算出するクラック幅算出手段と、を有してなることを特徴とする。
【0017】
また、本発明にかかる線幅算出装置は、半導体のプリント基板を撮像して得られる画像データが記憶される記憶手段と、記憶手段に記憶されている画像データを画像処理する画像処理手段と、を備えた、プリント基板上の配線の幅を算出する装置であって、記憶手段には、画像データに含まれる画素の大きさとプリント基板上の大きさとの換算値が記憶されていて、画像処理手段は、画像データに含まれる画素ごとの輝度値を算出する輝度値算出手段と、画像データに含まれる画素ごとに算出された輝度値と所定の基準値とを比較し、比較の結果に基づいて画像データに含まれる画素の中から配線が撮像されている可能性の高い配線画素を特定する配線画素特定手段と、画像データに含まれる画素のうち、特定された配線画素の周辺に位置する周辺画素を特定する周辺画素特定手段と、特定された周辺画素ごとに配線境界を特定する配線境界特定手段と、特定された配線境界と換算値とに基づいて配線の幅を算出する配線幅算出手段と、を有してなることを特徴とする。
【0018】
本発明にかかる線幅算出プログラムは、コンピュータを、本発明にかかる線幅算出装置として機能させることを特徴とする。
【0019】
本発明にかかる線幅算出方法は、被写体を撮像して得られる画像データが記憶される記憶手段と、記憶手段に記憶されている画像データを画像処理する画像処理手段と、を備えた、被写体の表面に現れている線の幅を算出する装置により実行される方法であって、記憶手段には、画像データに含まれる画素の大きさと被写体の表面上の大きさとの換算値が記憶されていて、装置が、画像処理手段を用いて、画像データに含まれる画素ごとの輝度値を算出するステップと、画像データに含まれる画素ごとに算出された輝度値と所定の基準値とを比較し、比較の結果に基づいて画像データに含まれる画素の中から線が撮像されている可能性の高い線画素を特定するステップと、画像データに含まれる画素のうち、特定された線画素の周辺に位置する周辺画素を特定するステップと、特定された周辺画素ごとに線境界を特定するステップと、特定された線境界と換算値とに基づいて線幅を算出するステップと、を有してなることを特徴とする。
【0020】
また、本発明にかかる線幅算出方法は、装置は、画素のRGB値に基づいて画素の輝度値を算出し、算出された輝度値が基準値未満の画素を線画素として特定することを特徴とする。
【0021】
また、本発明にかかる線幅算出方法は、装置は、画像データに含まれる画素のうち、線画素に隣接する画素を周辺画素として特定することを特徴とする。
【0022】
また、本発明にかかる線幅算出方法は、装置は、周辺画素ごとに、線が撮像されている割合を示す線度を算出するステップと、線画素が複数連なって画像データ内に形成される線領域のベクトルを特定するステップと、を備え、算出された線度と特定されたベクトルとに基づいて線境界を特定することを特徴とする。
【0023】
また、本発明にかかる線幅算出方法は、装置は、画像データに含まれる線画素の輝度値の平均である第1平均値と、画像データに含まれる画素のうち線画素と周辺画素のいずれでもない非線画素の輝度値の平均である第2平均値と、を算出し、画像データに含まれる周辺画素ごとに、周辺画素の輝度値と第1平均値と第2平均値とに基づいて、周辺画素の線度を算出することを特徴とする。
【0024】
また、本発明にかかる線幅算出方法は、装置は、周辺画素の線度Xを、第1平均値をBr1、第2平均値をBr2、周辺画素の輝度値をBrとしたとき、X=(Br−Br2)/(Br1−Br2)により算出することを特徴とする。
【0025】
また、本発明にかかる線幅算出方法は、装置は、線領域内の1の基準画素から複数の画素それぞれへのベクトルを算出し、算出された複数のベクトルの平均値を線領域のベクトルとして特定することを特徴とする。
【0026】
また、本発明にかかる線幅算出方法は、線境界特定手段により特定される周辺画素の線境界は、周辺画素を2つのエリアに分割するベクトルを持つ直線として特定され、周辺画素内の2つのエリアのうち線領域側のエリアの面積と周辺画素の面積との面積比は、周辺画素の線度と一致することを特徴とする。
【0027】
また、本発明にかかる線幅算出方法は、装置は、線領域を挟んで対向する2つの周辺画素それぞれを分割するベクトルを持つ直線間の距離を算出し、算出された距離に換算値を乗算して線幅を算出することを特徴とする。
【0028】
また、本発明にかかる線幅算出方法は、建築構造物を撮像して得られる画像データが記憶される記憶手段と、記憶手段に記憶されている画像データを画像処理する画像処理手段と、を備えた、建築構造物の表面に発生しているクラックの幅を算出する装置により実行される方法であって、記憶手段には、画像データに含まれる画素の大きさと建築構造物の表面上の大きさとの換算値が記憶されていて、装置が、画像処理手段を用いて、画像データに含まれる画素ごとの輝度値を算出するステップと、画像データに含まれる画素ごとに算出された輝度値と所定の基準値とを比較し、比較の結果に基づいて画像データに含まれる画素の中からクラックが撮像されている可能性の高いクラック画素を特定するステップと、画像データに含まれる画素のうち、特定されたクラック画素の周辺に位置する周辺画素を特定するステップと、特定された周辺画素ごとにクラック境界を特定するステップと、特定されたクラック境界と換算値とに基づいてクラック幅を算出するステップと、を有してなることを特徴とする。
【0029】
また、本発明にかかる線幅算出方法は、半導体のプリント基板を撮像して得られる画像データが記憶される記憶手段と、記憶手段に記憶されている画像データを画像処理する画像処理手段と、を備えた、プリント基板上の配線の幅を算出する装置により実行される方法であって、記憶手段には、画像データに含まれる画素の大きさとプリント基板上の大きさとの換算値が記憶されていて、装置が、画像処理手段を用いて、画像データに含まれる画素ごとの輝度値を算出するステップと、画像データに含まれる画素ごとに算出された輝度値と所定の基準値とを比較し、比較の結果に基づいて画像データに含まれる画素の中から配線が撮像されている可能性の高い配線画素を特定するステップと、画像データに含まれる画素のうち、特定された配線画素の周辺に位置する周辺画素を特定するステップと、特定された周辺画素ごとに配線境界を特定するステップと、特定された配線境界と換算値とに基づいて配線の幅を算出するステップと、を有してなることを特徴とする。
【発明の効果】
【0030】
本発明によれば、簡易な構成で被写体の表面に現れている線の幅を短時間に精度よく算出することができる。
【図面の簡単な説明】
【0031】
【図1】本発明にかかる線幅算出装置の実施の形態を示すブロック図である。
【図2】図1の線幅算出装置が読み取る画像データに含まれる画素の例を示す模式図である。
【図3】図2の各画素の輝度値の例を示す模式図である。
【図4】本発明にかかる線幅算出方法の実施の形態を示すフローチャートである。
【図5】図2に示した画素のうちクラック画素の集合であるクラック領域の例を示す模式図である。
【図6】図5のクラック領域の周辺に位置する周辺画素の例を示す模式図である。
【図7】図5に示したクラック画素の集合であるクラック領域(A3)と、図6に示した周辺画素の集合である周辺領域(A2,A4)と、これら以外の画素の集合である非クラック領域(A1,A5)を示す模式図である。
【図8】図2に示した各画素のうち、クラック領域に含まれる画素と非クラック領域に含まれる画素ごとのクラックが撮像されている割合を示すクラック度の例を示す模式図である。
【図9】図8に示したクラック度と、周辺領域に含まれる画素ごとのクラック度の例を示す模式図である。
【図10】クラック領域内の基準画素から他の画素までの距離の例を示す模式図である。
【図11】クラック領域内の基準画素から他の画素までの距離の順位の例を示す模式図である。
【図12】クラック領域内の基準画素から他の複数の画素へのベクトルの例を示す模式図である。
【図13】周辺領域に含まれる画素を2つのエリアに分割する直線の例を示す模式図である。
【図14】図13に示した2本の直線を結ぶ法線の例を示す模式図である。
【図15】図1に示した記憶手段DBに記憶される情報の例を示す模式図である。
【発明を実施するための形態】
【0032】
以下、図面を参照しながら本発明にかかる線幅算出装置と算出方法並びに算出プログラムの実施の形態について説明する。なお、以下の説明では、本発明にかかる線幅算出装置(以下、「本装置」という。)に、建築構造物であるビルの外壁の表面をデジタルカメラなどの撮像装置により撮像して得られた画像データが記憶されていて、この画像データを本装置が画像処理することで、ビルの外壁の表面に発生している(つまり、画像データに写っている)クラックの幅(クラックの短手方向の長さ)を算出する場合を例に説明する。すなわち、建築構造物である外壁は被写体の例であり、クラックは被写体の表面に現れている線の例である。
【0033】
図1は、本装置の実施の形態を示すブロック図である。本装置1は、記憶手段DB、輝度値算出手段10、クラック画素特定手段(線画素特定手段)20、周辺画素特定手段30、クラック境界特定手段(線境界特定手段)40、クラック幅算出手段(線幅算出手段)50と、を有してなる。
【0034】
本装置1は、パーソナルコンピュータなどの情報処理装置であり、例えば本装置1の操作者の実行指示により、本発明にかかる線幅算出プログラム(以下、「本プログラム」という。)が動作することで、後述する本発明にかかる線幅算出方法(以下、「本方法」という。)を実行してクラックの幅を算出する。
【0035】
記憶手段DBには、本装置1が本方法を実行するために必要な後述する各種情報を記憶するための手段である。記憶手段DBには、撮像装置によりビルの外壁の表面が撮像されて得られた画像データや、この画像データが得られたときの撮像装置から被写体であるビルの外壁の表面までの長さと、画像データに含まれる画素の大きさとビルの表面上の大きさとの換算値などが記憶されている。
【0036】
なお、前述の換算値は、例えば、撮像装置とビルの外壁の表面までの距離と、撮像装置が備えるCCD(Charge Coupled Device)やCMOS(Complementary
Metal Oxide Semiconductor Image Sensor)などの撮像素子の画素(ピクセル)数と、実際に撮像された画像データのビルの外壁の表面上の長さと、を用いて算出して、クラック幅の算出前にあらかじめ記憶手段DBに記憶しておく。すなわち、本装置1は、この換算値と撮像装置とビルの外壁の表面までの距離とに基づいて、その距離で撮像されたときに得られた画像データに含まれる1画素の長さ(矩形状の画素の1辺の長さ)がビルの外壁の表面上のどの程度の長さに相当するかを換算することができる。
【0037】
輝度値算出手段10(以下、「手段10」という。)は、画像データに含まれる画素ごとの輝度値を算出して記憶手段DBに記憶する手段である。図2は、画像データに含まれる画素の例を示す模式図であり、画像データには縦横10×10(行数=10、列数=10)の100個の画素が含まれていることを示している。また、図3は、各画素の輝度値の例を示す模式図であり、例えば、画素P11の輝度値がB11であることを示している。
【0038】
なお、図2の符号P11〜PAAは、本装置1が各画素を特定するための識別情報(画素ID)であり、例えば、画素ごとの輝度値が記憶手段DBに記憶されているとき、記憶手段DBには、各画素の識別情報とその画素の輝度値とが関連付けて記憶される。
【0039】
手段10が算出する画素ごとの輝度値は、各画素のRGBデータを用いて算出される。ここで、RGBデータは、(0,0,0)から(255,255,255)までの値で、(0,0,0)は黒、(255,255,255)は白を表す。
【0040】
画像データに含まれる画素P11のRGBデータが(RD11,GD11,BD11)であったとすると、手段10は、画素P11の輝度値B11を、例えば、下記の式1により算出する。なお、0≦B11≦255の関係が成立する。

B11=(RD11+GD11+BD11)/3 (式1)

【0041】
クラック画素特定手段20(以下、「手段20」という。)は、画像データに含まれる画素の中からクラックが撮像されている可能性の高い画素(以下、「クラック画素」という。)を特定する手段である。手段20は、例えば、画像データに含まれる画素ごとに、その輝度値と所定の基準値とを比較し、比較結果に基づいて、例えば、その輝度値が基準値未満のときに、その画素にはクラックが撮像されている(写っている)可能性が高いと判断して、その画素をクラック画素として特定する。手段20は、特定したクラック画素の識別情報を記憶手段DBに記憶する。
【0042】
なお、比較に用いられる輝度値の基準値は、比較前にあらかじめ、記憶手段DBに記憶されている。
【0043】
周辺画素特定手段30(以下、「手段30」という。)は、画像データに含まれる画素のうち、クラック画素の周辺に位置する画素(以下、「周辺画素」という。)を特定する手段である。クラック画素の周辺に位置する画素とは、例えば、クラック画素に隣接している画素である。手段30は、周辺画素を特定後、特定した周辺画素の識別情報を記憶手段DBに記憶する。
【0044】
クラック境界特定手段40(以下、「手段40」という。)は、周辺画素ごとにクラックの境界を特定する手段である。手段40は、画像データに含まれる画素ごとのクラック度を算出するクラック度算出手段41(以下、「手段41」という。)と、クラック画素が複数連なって画像データ内に形成される画素の集合(以下、「クラック領域」という。)のベクトルを特定するベクトル特定手段42(以下、「手段42」という。)と、を備える。ここで、クラック度とは、画像データに含まれる画素ごとに、その画素にクラックが写っている可能性を示す情報であり、例えば、0〜100のいずれかの整数値であって、値が大きければクラックが写っている可能性が高いことを示すように設定される。なお、クラックの境界の特定方法については、後述する。
【0045】
クラック幅算出手段50(以下、「手段50」という。)は、手段40により特定されたクラックの境界と前述の換算値とを用いて、クラック幅を算出する手段である。クラック幅の算出方法については、後述する。
【0046】
以下、本方法の実施の形態について説明をする。図4は、本方法の実施の形態を示すフローチャートである。
【0047】
先ず、本装置1は、記憶手段DBから画像データを読み出す(ステップS1)。画像データの種類は、例えば、JPEG(Joint Photographic Experts Group)やRAWデータなど、本方法の実現可能な形式であればよい。読み出された画像データに含まれる各画素の識別情報は、各画素の画像データ内での配置が特定可能となるように、例えば、行番号と列番号と関連付けて記憶手段DBに記憶される。
【0048】
次いで、本装置1は、手段10を用いて、画像データに含まれる画素ごとの輝度値を算出する(ステップS2)。
【0049】
次いで、本装置1は、手段20を用いて、算出された画素ごとの輝度値より、画像データに含まれる画素の中からクラック画素を特定する(ステップS3)。
【0050】
図5は、手段20によりクラック画素として特定された画素の例を示す模式図であり、図中、黒色に塗りつぶされた画素は、所定の基準値未満の輝度値であったクラック画素を示している。
【0051】
図4に戻る。本装置1は、手段30を用いて、周辺画素を特定する(ステップS4)。
【0052】
図6は、手段30により周辺画素として特定された画素の例を示す模式図であり、図中、斜線で塗りつぶされた画素は、黒色で塗りつぶされたクラック画素に隣接する周辺画素を示している。手段30は、記憶手段DBに記憶されている、画像データに含まれるすべての画素の配置と、クラック画素の識別情報とを用いて、クラック画素の周辺に位置する周辺画素の識別情報を特定して、記憶手段DBに記憶する。
【0053】
図7は、画像データに含まれる画素が5つの領域(集合)に分類されている状態を示す模式図である。領域A3は、図5に示したクラック画素の集合であるクラック領域である。領域A2,A4は、図6に示した周辺画素の集合である周辺領域である。領域A1,A5は、画像データに含まれる画素のうち、クラック画素でもなく、かつ、周辺画素でもない、非クラック画素の集合である非クラック領域である。非クラック画素は、クラックが写っている可能性が極めて低いとみなすことができる画素である。
【0054】
記憶手段DBには、本装置1が、画像データに含まれる画素ごとに、その画素がクラック画素、周辺画素、非クラック画素、のいずれであるかを特定可能となるように、各画素の識別情報と、画素の種別(クラック、周辺、非クラック)を示す情報とが関連付けて記憶される。
【0055】
図15は、記憶手段DBに記憶される情報の例を示す模式図であり、画像データに含まれるすべての画素の画素IDと、各画素の行番号、列番号、輝度値、クラック度、画素の種別、が関連付けて記憶されていることを示している。すなわち、例えば、本装置1は、画像データを読み出したとき(ステップS1参照)、画像データに含まれるすべての画素の識別情報(100個の識別情報)を記憶手段DBに記憶する。次いで、本装置1は、手段20がクラック画素を特定したとき(ステップS3参照)、先に記憶されたすべての画素の識別情報のうち、特定されたクラック画素の識別情報に、クラック画素を示す種別の情報を関連付けて記憶手段DBに記憶する。次いで、本装置1は、手段30が周辺画素を特定したとき(ステップS4参照)、先に記憶されたすべての画素の識別情報のうち、特定された周辺画素の識別情報に、周辺画素を示す種別の情報を関連付けて記憶手段DBに記憶する。さらに、本装置1は、記憶手段DBに記憶されているすべての画素の識別情報のうち、画素の種別を示す情報と関連付けて記憶されていない画素の識別情報に、非クラック画素を示す種別の情報を関連付けて記憶手段DBに記憶する。その結果、本装置1は、画像データに含まれるすべての画素ごとに、図7に示したように5つの領域のいずれに属するかを特定可能になる。
【0056】
図4に戻る。本装置1は、手段40を用いて、周辺画素ごとにクラック境界を特定する(ステップS5)。クラック境界は、手段41により、各画素のクラック度を算出すると共に、手段42により、クラック領域のベクトルを算出した上で、これらクラック度とベクトルとにより特定される。
【0057】
手段41は、画像データに含まれる画素ごとにクラック度を算出するが、図8に示すように、非クラック領域A1,A5に含まれる非クラック画素のクラック度は「0」、クラック領域A3に含まれるクラック画素のクラック度は「100」としたうえで、周辺領域A2,A4に含まれる各周辺画素のクラック度を算出する。周辺領域A2,A4に含まれる各周辺画素のクラック度Xは、以下の式2により算出される。

X=(Br−Br2)/(Br1−Br2) (式2)

ここで、Br1は、クラック領域A3に含まれる各クラック画素の輝度値の平均値(以下、「第1平均値」という。)である。Br2は、非クラック領域A1,A5に含まれる各非クラック画素の輝度値の平均値(以下、「第2平均値」という。)である。Brは、クラック度の算出の対象となる周辺画素の輝度値である。
【0058】
このように、手段41は、先ず、記憶手段DBに記憶されているクラック画素の輝度値の合計値を算出した上で、その合計値をクラック画素の数で割って、第1平均値を算出する。同様に、手段41は、記憶手段DBに記憶されている非クラック画素の輝度値の合計値を算出した上で、その合計値を非クラック画素の数で割って、第2平均値を算出する。次いで、手段41は、記憶手段DBに記憶されている周辺画素の輝度値を読み出して、前述の式2により、その周辺画素の輝度値を算出して記憶手段DBにその周辺画素の識別情報と関連付けて記憶する。図9は、手段41が算出した各周辺画素のクラック度の例を示す模式図であり、周辺画素のクラック度は、0〜100の間の数値(0と100は含まない)となっていることを示している。
【0059】
手段42は、クラック領域A3のベクトルを算出する。クラック領域A3のベクトルは、クラック領域A3内の1の基準画素から複数の画素それぞれへのベクトルを算出し、これら複数の算出されたベクトルの平均値をクラック領域のベクトルとして特定する。そこで、先ず、手段42は、1の基準画素を決定した上で、基準画素からクラック領域A3に含まれる各画素までの距離を算出する。図10は、画素P66を基準画素とした上で、P66を除くクラック領域A3内の各画素までの距離を示す模式図である。基準画素から各画素までの距離は、例えば、基準画素の縦または横方向に位置する画素までの距離は、順に「1」「2」「3」・・・とする。また、基準画素の斜め方向に位置する画素までの距離は、三平方の定理を用いて、例えば、基準画素P66から画素P77までの距離は、1.414(=1+1の和である「2」の平方根)と算出される。
【0060】
手段42は、クラック領域A3内の基準画素から各画素までの距離を算出した後に、算出された距離を昇順に並べて、クラック領域A3内の各画素を順位付ける。ここで、同じ距離、例えば、図10に示したように、画素P51、P65,P76,P67までの距離はいずれも「1」である。このように距離が同じ画素が複数存在する場合は、例えば、行数の小さい順、かつ、列数の小さい順に、順位付ける。図11は、クラック領域A3内の基準画素から各画素までの距離で決定された順位を示す模式図である。
【0061】
次いで、手段42は、基準画素から所定の複数の順位の画素へのベクトルを算出する。図12は、基準画素P66から、所定の順位「10番目」,「12番目」,「13番目」,「14番目」に該当する画素P87、画素P96、画素P35、画素97それぞれへのベクトルを図示した模式図である。ここで、所定の順位「10番目」,「12番目」,「13番目」,「14番目」は、あらかじめ記憶手段DBに記憶されている。
【0062】
手段42は、基準画素から所定の画素までのベクトルを角度として算出する。すなわち、基準画素に対する所定の画素の相対位置、つまり、図12の紙面左右方向をX軸、紙面上下方向をY軸とすると、基準画素に対する所定の画素のX軸方向の距離とY軸方向の距離とを用いて、以下の式3により基準画素から所定の画素までのベクトルVを算出する。

V=arctan(Y軸方向の距離/X軸方向の距離) (式3)

ここで、arctanは、三角関数tanの逆関数である。なお、算出されたベクトルVの値が負の場合、180度を加算して算出されたベクトルVの値を更新する。
【0063】
手段42は、基準画素から前述の4つの画素それぞれへのベクトル、つまり、4つの角度θ1,θ2,θ3,θ4を算出した後に、この4つの角度の平均値(θ1+θ2+θ3+θ4)/4を算出して、クラック領域A3のベクトルとして特定する。
【0064】
手段40は、周辺領域A2,A4の各画素のクラック度とクラック領域A3のベクトルとを用いて、周辺領域A2,A4の各画素のクラック境界を特定する。図13は、周辺領域A2,A4に含まれる画素P54と画素36内のクラック境界の例を示す模式図である。なお、図13は説明の便宜上、画素P54と画素36の2つの画素内のクラック境界のみを図示しているが、実際には、周辺領域A2,A4に含まれるすべての周辺画素について、手段40は、クラック境界を特定する。
【0065】
ここで、図9に示したように、画素P54のクラック度は50、画素36のクラック度は75である。また、算出されたクラック領域A3のベクトルは135度であるとする。
【0066】
周辺画素内で特定されるクラック境界は、各周辺画素を2つのエリアに分割するクラック領域A3のベクトルを持つ直線として特定される。図13には、画素P54のクラック境界が、画素P54を2つのエリアT1,T2に分割する直線L1で特定されていることを示している。同様に、画素P36のクラック境界が、画素P36を2つのエリアT3,T4に分割する直線L2で特定されていることを示している。ここで、直線L1,L2のベクトルは、135度である。
【0067】
クラック境界として特定される直線L1,L2の画素内での位置は、分割された周辺画素内の2つのエリアのうち、クラック領域A3側のエリア(クラック領域A3に近いエリア)の面積と周辺画素の面積との面積比が、その周辺画素のクラック度と一致する場所である。すなわち、画素P54内の直線L1の位置は、画素P54のクラック度が50であるから、図13に示したエリアT2(エリアT1よりクラック領域A3に近い)の面積が画素P54全体の面積の50%、つまり、画素P54の面積を2等分する場所である。一方、画素P36内の直線L2の位置は、画素P36のクラック度が75であるから、図13に示したエリアT3(エリアT4よりクラック領域A3に近い)の面積が画素P36全体の面積の75%、つまり、画素P36全体の面積の4分の3を占める場所である。
【0068】
なお、画素P54内での直線L1の位置や、画素P36内での直線L2の位置は、以下の式4を用いて算出する。

Y=aX+b (式4)

ここで、aは直線L1および直線L2の傾きを示す定数であって、クラック領域A3のベクトルに基づいて算出される値であり、ベクトルが135度の場合にはa=−1である。また、bは、いわゆるy切片を示す定数である。手段40は、式4のxとyの値を変化させながら、直線L1の位置(直線L1と画素P54との交点となるX座標,Y座標)を算出した上で、エリアT2の面積を算出し、図13のエリアT2の面積が画素P54の面積の半分となる直線L1の位置を特定する。
【0069】
なお、クラック領域A3のベクトルを算出する際、先に説明した実施の形態では1の基準画素を用いて1のベクトルを算出したが、基準画素の数を複数としても、複数のベクトルを算出するようにしてもよい。すなわち、例えば、図2に示した画素の配列の場合に、行数が2,6,8の3つの画素を基準画素として選択するようにして、3つのベクトルを算出するようにしてもよい。この場合、周辺画素内のクラック境界を位置決めする際のクラック領域A3のベクトルは、例えば、その周辺画素の行数が1から4であれば行数2の基準画素により算出されたベクトル、その周辺画素の行数が5から7であれば行数6の基準画素により算出されたベクトル、その周辺画素の行数が7からAであれば行数8の基準画素により算出されたベクトル、を用いるとよい。
【0070】
図4に戻る。本装置1は、手段50を用いてクラック幅を算出する(ステップS6)。クラック幅は、クラック領域A3を挟んで対向する2つの周辺画素間の距離に、記憶手段DBに記憶されている換算値を乗算して算出する。図13に示した例では、クラック領域A3を挟んで対向する画素P54と画素P36間の距離を算出することになるが、この距離は、例えば、図14に示すように、直線L1の中心点(ここでは画素P54の中心点に一致)と直線L1の法線が直線L2と交差する交差点とを結ぶ線L3の距離を三平方の定理を用いて算出する。すなわち、直線L1の中心点の座標を(X1,Y1)、直線L1の法線と直線L2の交差点の座標を(X2,Y2)とすると、直線L1,L2間の距離は、((X2−X1)^2+(Y2−Y1)^2)の平方根として求めることができる。なお、直線L1の法線は、直線L1を示す前述の式4に基づいて、以下の式5で表すことができる。

Y=−(1/a)X+bb (式5)

ここで、bbは定数である。
【0071】
このように、手段50は、クラック領域A3を挟んで対向する位置の周辺画素に特定されているクラック境界を示す直線間の距離を算出して、その距離に換算値を乗算することで、ビルの外壁の表面上での実際の距離、つまり、クラック幅を算出する。なお、手段50が算出するクラック幅の数は、クラック領域A3を挟んで対向する位置に存在する周辺画素の組の数と同じである。
【0072】
図4に戻る。本装置1は、図示しない手段を用いて、算出されたクラック幅を出力、例えば、記憶手段DBに記憶、あるいは、図示しない本装置1が備えるディスプレイに表示などする(ステップS7)。
【0073】
以上説明した実施の形態によれば、本装置1は、画像データに含まれる画素ごとの輝度値よりクラックが写っている可能性の高いクラック画素の周辺に位置する周辺画素ごとに、クラックの境界を特定してクラック幅を算出する。このとき、本装置1は、周辺画素内のクラックの境界を、その周辺画素のクラック度とクラック領域のベクトルとを用いて特定する。このように、本装置1は、クラックの境界が写っているであろう周辺画素内でクラックの境界を特定しているため、画素ごとにクラックが写っているか否かを判定して算出する方法よりも、精度高くクラック幅を算出することができる。しかも、本装置1は、前述の簡易な画像処理によりクラック幅を算出するため、目視などにより算出する場合に比べて短時間でクラック幅を算出することができる。
【0074】
なお、以上説明した実施の形態は、建築構造物の外壁が被写体で、クラックが被写体の表面に現れている線の場合であったが、本発明にかかる線幅算出装置と算出方法並びに算出プログラムは、これ以外の被写体などにも適用可能であり、例えば、半導体のプリント基板上の配線の幅を算出する場合にも適用可能である。この場合、被写体は半導体のプリント基板の表面であり、算出される線幅はプリント基板上の配線の幅である。
【符号の説明】
【0075】
1 クラック幅算出装置
10 輝度値算出手段
20 クラック画素特定手段
30 周辺画素特定手段
40 クラック境界特定手段
41 クラック度算出手段
42 ベクトル特定手段
50 クラック幅算出手段
DB 記憶手段
A1 非クラック領域
A2 周辺領域
A3 クラック領域
A4 周辺領域
A5 非クラック領域

【特許請求の範囲】
【請求項1】
被写体を撮像して得られる画像データが記憶される記憶手段と、
上記記憶手段に記憶されている画像データを画像処理する画像処理手段と、
を備えた、上記被写体の表面に現れている線の幅を算出する装置であって、
上記記憶手段には、上記画像データに含まれる画素の大きさと上記被写体の表面上の大きさとの換算値が記憶されていて、
上記画像処理手段は、
上記画像データに含まれる画素ごとの輝度値を算出する輝度値算出手段と、
上記画像データに含まれる画素ごとに上記算出された輝度値と所定の基準値とを比較し、上記比較の結果に基づいて上記画像データに含まれる画素の中から線が撮像されている可能性の高い線画素を特定する線画素特定手段と、
上記画像データに含まれる画素のうち、上記特定された線画素の周辺に位置する周辺画素を特定する周辺画素特定手段と、
上記特定された周辺画素ごとに線境界を特定する線境界特定手段と、
上記特定された線境界と上記換算値とに基づいて線幅を算出する線幅算出手段と、
を有してなることを特徴とする線幅算出装置。
【請求項2】
上記輝度値算出手段は、画素のRGB値に基づいて上記画素の輝度値を算出し、
上記線画素特定手段は、上記算出された輝度値が上記基準値未満の画素を線画素として特定する、
請求項1記載の線幅算出装置。
【請求項3】
上記周辺画素特定手段は、上記画像データに含まれる画素のうち、上記線画素に隣接する画素を上記周辺画素として特定する、
請求項1記載の線幅算出装置。
【請求項4】
上記線境界特定手段は、
上記周辺画素ごとに、上記線が撮像されている割合を示す線度を算出する線度算出手段と、
上記線画素が複数連なって上記画像データ内に形成される線領域のベクトルを特定するベクトル特定手段と、
を備え、
上記算出された線度と上記特定されたベクトルとに基づいて上記線境界を特定する、
請求項1記載の線幅算出装置。
【請求項5】
上記線度算出手段は、
上記画像データに含まれる上記線画素の輝度値の平均である第1平均値と、上記画像データに含まれる画素のうち上記線画素と上記周辺画素のいずれでもない非線画素の輝度値の平均である第2平均値と、を算出する平均輝度値算出手段を備え、
上記画像データに含まれる上記周辺画素ごとに、周辺画素の輝度値と上記第1平均値と上記第2平均値とに基づいて、上記周辺画素の線度を算出する、
請求項4記載の線幅算出装置。
【請求項6】
上記線度算出手段は、上記周辺画素の線度Xを、上記第1平均値をBr1、上記第2平均値をBr2、上記周辺画素の輝度値をBrとしたとき、
X=(Br−Br2)/(Br1−Br2)
により算出する、
請求項5記載の線幅算出装置。
【請求項7】
上記ベクトル特定手段は、上記線領域内の1の基準画素から複数の画素それぞれへのベクトルを算出し、上記算出された複数のベクトルの平均値を上記線領域のベクトルとして特定する、
請求項4記載の線幅算出装置。
【請求項8】
上記線境界特定手段により特定される上記周辺画素の線境界は、上記周辺画素を2つのエリアに分割する上記ベクトルを持つ直線として特定され、
上記周辺画素内の2つのエリアのうち上記線領域側のエリアの面積と上記周辺画素の面積との面積比は、上記周辺画素の線度と一致する、
請求項4乃至7のいずれかに記載の線幅算出装置。
【請求項9】
上記線幅算出手段は、上記線領域を挟んで対向する2つの周辺画素それぞれを分割する上記ベクトルを持つ直線間の距離を算出し、算出された距離に上記換算値を乗算して上記線幅を算出する、
請求項8記載の線幅算出装置。
【請求項10】
コンピュータを、請求項1乃至9のいずれかに記載の線幅算出装置として機能させることを特徴とする線幅算出プログラム。
【請求項11】
被写体を撮像して得られる画像データが記憶される記憶手段と、
上記記憶手段に記憶されている画像データを画像処理する画像処理手段と、
を備えた、上記被写体の表面に現れている線の幅を算出する装置により実行される方法であって、
上記記憶手段には、上記画像データに含まれる画素の大きさと上記被写体の表面上の大きさとの換算値が記憶されていて、
上記装置が、
上記画像処理手段を用いて、
上記画像データに含まれる画素ごとの輝度値を算出するステップと、
上記画像データに含まれる画素ごとに上記算出された輝度値と所定の基準値とを比較し、上記比較の結果に基づいて上記画像データに含まれる画素の中から線が撮像されている可能性の高い線画素を特定するステップと、
上記画像データに含まれる画素のうち、上記特定された線画素の周辺に位置する周辺画素を特定するステップと、
上記特定された周辺画素ごとに線境界を特定するステップと、
上記特定された線境界と上記換算値とに基づいて線幅を算出するステップと、
を有してなることを特徴とする線幅算出方法。
【請求項12】
上記装置は、画素のRGB値に基づいて上記画素の輝度値を算出し、上記算出された輝度値が上記基準値未満の画素を線画素として特定する、
請求項11記載の線幅算出方法。
【請求項13】
上記装置は、上記画像データに含まれる画素のうち、上記線画素に隣接する画素を上記周辺画素として特定する、
請求項11記載の線幅算出方法。
【請求項14】
上記装置は、
上記周辺画素ごとに、上記線が撮像されている割合を示す線度を算出するステップと、
上記線画素が複数連なって上記画像データ内に形成される線領域のベクトルを特定するステップと、
を備え、
上記算出された線度と上記特定されたベクトルとに基づいて上記線境界を特定する、
請求項11記載の線幅算出方法。
【請求項15】
上記装置は、
上記画像データに含まれる上記線画素の輝度値の平均である第1平均値と、上記画像データに含まれる画素のうち上記線画素と上記周辺画素のいずれでもない非線画素の輝度値の平均である第2平均値と、を算出し、
上記画像データに含まれる上記周辺画素ごとに、周辺画素の輝度値と上記第1平均値と上記第2平均値とに基づいて、上記周辺画素の線度を算出する、
請求項14記載の線幅算出方法。
【請求項16】
上記装置は、上記周辺画素の線度Xを、上記第1平均値をBr1、上記第2平均値をBr2、上記周辺画素の輝度値をBrとしたとき、
X=(Br−Br2)/(Br1−Br2)
により算出する、
請求項15記載の線幅算出方法。
【請求項17】
上記装置は、上記線領域内の1の基準画素から複数の画素それぞれへのベクトルを算出し、上記算出された複数のベクトルの平均値を上記線領域のベクトルとして特定する、
請求項14記載の線幅算出装置。
【請求項18】
上記線境界特定手段により特定される上記周辺画素の線境界は、上記周辺画素を2つのエリアに分割する上記ベクトルを持つ直線として特定され、
上記周辺画素内の2つのエリアのうち上記線領域側のエリアの面積と上記周辺画素の面積との面積比は、上記周辺画素の線度と一致する、
請求項14乃至17のいずれかに記載の線幅算出方法。
【請求項19】
上記装置は、上記線領域を挟んで対向する2つの周辺画素それぞれを分割する上記ベクトルを持つ直線間の距離を算出し、算出された距離に上記換算値を乗算して上記線幅を算出する、
請求項18記載の線幅算出方法。
【請求項20】
建築構造物を撮像して得られる画像データが記憶される記憶手段と、
上記記憶手段に記憶されている画像データを画像処理する画像処理手段と、
を備えた、上記建築構造物の表面に発生しているクラックの幅を算出する装置であって、
上記記憶手段には、上記画像データに含まれる画素の大きさと上記建築構造物の表面上の大きさとの換算値が記憶されていて、
上記画像処理手段は、
上記画像データに含まれる画素ごとの輝度値を算出する輝度値算出手段と、
上記画像データに含まれる画素ごとに上記算出された輝度値と所定の基準値とを比較し、上記比較の結果に基づいて上記画像データに含まれる画素の中からクラックが撮像されている可能性の高いクラック画素を特定するクラック画素特定手段と、
上記画像データに含まれる画素のうち、上記特定されたクラック画素の周辺に位置する周辺画素を特定する周辺画素特定手段と、
上記特定された周辺画素ごとにクラック境界を特定するクラック境界特定手段と、
上記特定されたクラック境界と上記換算値とに基づいてクラック幅を算出するクラック幅算出手段と、
を有してなることを特徴とする線幅算出装置。
【請求項21】
コンピュータを、請求項20記載の線幅算出装置として機能させることを特徴とする線幅算出プログラム。
【請求項22】
建築構造物を撮像して得られる画像データが記憶される記憶手段と、
上記記憶手段に記憶されている画像データを画像処理する画像処理手段と、
を備えた、上記建築構造物の表面に発生しているクラックの幅を算出する装置により実行される方法であって、
上記記憶手段には、上記画像データに含まれる画素の大きさと上記建築構造物の表面上の大きさとの換算値が記憶されていて、
上記装置が、
上記画像処理手段を用いて、
上記画像データに含まれる画素ごとの輝度値を算出するステップと、
上記画像データに含まれる画素ごとに上記算出された輝度値と所定の基準値とを比較し、上記比較の結果に基づいて上記画像データに含まれる画素の中からクラックが撮像されている可能性の高いクラック画素を特定するステップと、
上記画像データに含まれる画素のうち、上記特定されたクラック画素の周辺に位置する周辺画素を特定するステップと、
上記特定された周辺画素ごとにクラック境界を特定するステップと、
上記特定されたクラック境界と上記換算値とに基づいてクラック幅を算出するステップと、
を有してなることを特徴とする線幅算出方法。
【請求項23】
半導体のプリント基板を撮像して得られる画像データが記憶される記憶手段と、
上記記憶手段に記憶されている画像データを画像処理する画像処理手段と、
を備えた、上記プリント基板上の配線の幅を算出する装置であって、
上記記憶手段には、上記画像データに含まれる画素の大きさと上記プリント基板上の大きさとの換算値が記憶されていて、
上記画像処理手段は、
上記画像データに含まれる画素ごとの輝度値を算出する輝度値算出手段と、
上記画像データに含まれる画素ごとに上記算出された輝度値と所定の基準値とを比較し、上記比較の結果に基づいて上記画像データに含まれる画素の中から配線が撮像されている可能性の高い配線画素を特定する配線画素特定手段と、
上記画像データに含まれる画素のうち、上記特定された配線画素の周辺に位置する周辺画素を特定する周辺画素特定手段と、
上記特定された周辺画素ごとに配線境界を特定する配線境界特定手段と、
上記特定された配線境界と上記換算値とに基づいて配線の幅を算出する配線幅算出手段と、
を有してなることを特徴とする線幅算出装置。
【請求項24】
コンピュータを、請求項23記載の線幅算出装置として機能させることを特徴とする線幅算出プログラム。
【請求項25】
半導体のプリント基板を撮像して得られる画像データが記憶される記憶手段と、
上記記憶手段に記憶されている画像データを画像処理する画像処理手段と、
を備えた、上記プリント基板上の配線の幅を算出する装置により実行される方法であって、
上記記憶手段には、上記画像データに含まれる画素の大きさと上記プリント基板上の大きさとの換算値が記憶されていて、
上記装置が、
上記画像処理手段を用いて、
上記画像データに含まれる画素ごとの輝度値を算出するステップと、
上記画像データに含まれる画素ごとに上記算出された輝度値と所定の基準値とを比較し、上記比較の結果に基づいて上記画像データに含まれる画素の中から配線が撮像されている可能性の高い配線画素を特定するステップと、
上記画像データに含まれる画素のうち、上記特定された配線画素の周辺に位置する周辺画素を特定するステップと、
上記特定された周辺画素ごとに配線境界を特定するステップと、
上記特定された配線境界と上記換算値とに基づいて配線の幅を算出するステップと、
を有してなることを特徴とする線幅算出方法。

【図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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−73165(P2012−73165A)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願番号】特願2010−219150(P2010−219150)
【出願日】平成22年9月29日(2010.9.29)
【特許番号】特許第4704511号(P4704511)
【特許公報発行日】平成23年6月15日(2011.6.15)
【出願人】(504251333)エヌ・ティ・ティジーピー・エコ株式会社 (13)
【出願人】(510260019)彩ネット株式会社 (1)
【Fターム(参考)】