(57)【要約】【課題】線領域とそれ以外の領域とのコントラストが未知の場合でも、線幅を推定する。【解決手段】算出部１４が、画像内の線を示す画素の集合である線領域全体で、縦方向又は横方向の画素数がｎ（ｎは正の自然数）画素の部分の数とｎ＋１画素の部分の数との比率を算出し、特定部１６が、線の方向を特定し、推定部１８が、算出された比率と、特定された線の方向とに基づいて、線の幅を推定する。【選択図】図１
2019056585.tif 000002
【特許請求の範囲】
【請求項１】
画像内の線を示す画素の集合である線領域全体で、縦方向又は横方向の画素数がｎ（ｎは正の自然数）画素の部分の数とｎ＋１画素の部分の数との比率を算出し、
前記線の方向を特定し、
算出された前記比率と、特定された前記線の方向とに基づいて、前記線の幅を推定する
ことを含む処理をコンピュータに実行させるための線幅推定プログラム。
【請求項２】
前記比率を算出する際、注目画素の配置が左上、左下、右上、及び右下の各々となるｎ＋１画素×ｎ＋１画素の領域のいずれかにおいて、全ての画素が線領域を示す画素である場合に、前記注目画素を含む縦方向又は横方向の画素数がｎ＋１画素であると判定する請求項１に記載の線幅推定プログラム。
【請求項３】
前記線領域に含まれる小領域毎の方向を求め、前記小領域毎の方向に基づいて、前記線領域を分割した方向別領域毎に前記線の方向を特定し、
前記方向別領域毎に推定された前記線の方向に基づいて推定される前記方向別領域毎の線の幅を統合して、前記線の幅を推定する
請求項１又は請求項２に記載の線幅推定プログラム。
【請求項４】
前記線領域を、線の幅が同等とみなせる部分毎に分割した幅別領域毎に、前記比率の算出及び前記線の幅の推定を行う請求項１〜請求項３のいずれか１項に記載の線幅推定プログラム。
【請求項５】
前記線の幅が同等とみなせる部分を、少なくとも前記線領域を含む所定範囲内の画素の画素値を、前記線の方向が縦方向の場合には横方向に積算した値、前記線の方向が横方向の場合には縦方向に積算した値に基づいて判定する請求項４に記載の線幅推定プログラム。
【請求項６】
縦方向又は横方向の画素数が１画素の部分の数と２画素の部分の数との比率を算出する請求項１〜請求項５のいずれか１項に記載の線幅推定プログラム。
【請求項７】
前記線の方向及び前記比率と、前記線の幅との予め定めた対応関係を参照して、前記線の幅を推定する請求項１〜請求項６のいずれか１項に記載の線幅推定プログラム。
【請求項８】
画像内の線を示す画素の集合である線領域全体で、縦方向又は横方向の画素数がｎ（ｎは正の自然数）画素の部分の数とｎ＋１画素の部分の数との比率を算出する算出部と、
前記線の方向を特定する特定部と、
算出された前記比率と、特定された前記線の方向とに基づいて、前記線の幅を推定する推定部と、
を含む線幅推定装置。
【請求項９】
画像内の線を示す画素の集合である線領域全体で、縦方向又は横方向の画素数がｎ（ｎは正の自然数）画素の部分の数とｎ＋１画素の部分の数との比率を算出し、
前記線の方向を特定し、
算出された前記比率と、特定された前記線の方向とに基づいて、前記線の幅を推定する
ことを含む処理をコンピュータが実行する線幅推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、線幅推定プログラム、線幅推定装置、及び線幅推定方法に関する。
【背景技術】
【０００２】
建造物や設備等の点検などにおいて、工数削減のために、点検対象箇所を撮影した画像からひび割れなどの異常個所を自動検出して、異常個所の長さや幅を計測することが行われている。ここで、例えば、ひび割れを０．１ｍｍ単位で計測する必要がある場合、０．１ｍｍが１画素以上で写るような解像度で撮影することが考えられる。しかし、この場合、１度に撮影可能な撮影範囲が狭くなるため、対象範囲全体を撮影するための処理工数が多くなり、非効率である。そこで、解像度を細かくし過ぎることなく、１画素に相当する幅よりも小さい単位でひび割れなどの異常個所の幅を推定できることが望ましい。
【０００３】
そこで、従来、画像内の線幅を推定する技術が提案されている。例えば、被写体の表面に現れている線幅を算出する線幅算出装置が提案されている。この装置では、記憶手段に、画像データに含まれる画素の大きさと被写体の表面上の大きさとの換算値が記憶されている。また、この装置は、画像データに含まれる画素毎の輝度値を算出し、算出された輝度値と所定の基準値とを比較する。そして、この装置は、比較の結果に基づいて画像データに含まれる画素の中から線が撮像されている可能性の高い線画素を特定する。さらに、この装置は、特定された線画素の周辺に位置する周辺画素を特定し、特定された周辺画素毎に線境界を特定し、特定された線境界と換算値とに基づいて線幅を算出する。
【０００４】
また、ウェーブレット係数や輝度情報などを用いて、空間分解能以下のひび割れ幅を推定するひび割れ検出方法が提案されている。この方法は、ウェーブレット画像を作成し、ひび割れ抽出画像を作成し、ひび割れ幅を目的変数とし、かつ、複数の説明変数から形成されるひび割れ幅の推定式を重回帰分析から規定し、推定式に基づいてひび割れ幅を特定する方法である。
【０００５】
また、ひび割れの計測方法として、以下の技術が提案されている。この方法では、原画像データの２値化処理を行い、ひび割れ領域を抽出し、ひび割れ領域の各ピクセルの輝度値を加算して求めた輝度値合計を見掛面積とし、見掛面積に補正係数を乗算して、ひび割れの面積を求める。そして、この方法では、ひび割れの面積をひび割れの長さで除算することにより、ひび割れの幅を求める。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−０７３１６５号公報
【特許文献２】特開２０１０−１２１９９２号公報
【特許文献３】特開２００３−２１４８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術のように、輝度値を用いてひび割れの幅を推定する技術では、ひび割れ部分とその他の部分とのコントラストが既知であることが前提となる。そのため、撮影条件の変化などにより、適切に線幅を推定できなくなる場合がある。
【０００８】
一つの側面として、線領域とそれ以外の領域とのコントラストが未知の場合でも、線幅を推定することを目的とする。
【課題を解決するための手段】
【０００９】
一つの態様として、開示の技術は、画像内の線を示す画素の集合である線領域全体で、縦方向又は横方向の画素数がｎ（ｎは正の自然数）画素の部分の数とｎ＋１画素の部分の数との比率を算出し、また、前記線の方向を特定する。そして、開示の技術は、算出された前記比率と、特定された前記線の方向とに基づいて、前記線の幅を推定する。
【発明の効果】
【００１０】
開示の技術は、一つの側面として、線領域とそれ以外の領域とのコントラストが未知の場合でも、線幅を推定することができる、という効果を有する。
【図面の簡単な説明】
【００１１】
【図１】第１〜第３実施形態に係る線幅推定装置の機能ブロック図である。
【図２】線領域の抽出を説明するための図である。
【図３】ｎ画素幅及びｎ＋１画素幅を説明するための図である。
【図４】画素幅判定のためのパターンを示す図である。
【図５】画素幅のラベル付与の一例を示す図である。
【図６】線幅と線の方向と線の画素幅の比率との関係を説明するための図である。
【図７】線幅テーブルの一例を示す図である。
【図８】第１〜第３実施形態に係る線幅推定装置として機能するコンピュータの概略構成を示すブロック図である。
【図９】第１実施形態における線幅推定処理の一例を示すフローチャートである。
【図１０】方向別領域のラベル付与の一例を示す図である。
【図１１】第２実施形態における線幅の推定を説明するための図である。
【図１２】第２実施形態における線幅推定処理の一例を示すフローチャートである。
【図１３】幅別領域のラベル付与の一例を示す図である。
【図１４】第３実施形態における線幅の推定を説明するための図である。
【図１５】第３実施形態における線幅推定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して開示の技術に係る実施形態の一例を詳細に説明する。
【００１３】
＜第１実施形態＞
図１に示すように、第１実施形態に係る線幅推定装置１０には、点検対象箇所などの撮影範囲を撮影した元画像が入力され、線幅推定装置１０により線幅推定処理が実行されて、線幅推定結果が出力される。線幅推定装置１０は、機能的には、抽出部１２と、算出部１４と、特定部１６と、推定部１８とを含む。また、線幅推定装置１０の所定の記憶領域には、線幅テーブル２０が記憶される。
【００１４】
抽出部１２は、線幅推定装置１０に入力された元画像から、線を示す画素の集合である線領域を抽出する。例えば、抽出部１２は、図２に示すように、元画像の輝度値を所定の閾値で２値化することにより、線領域を抽出する。なお、図２では、線領域を黒色で示している。
【００１５】
算出部１４は、抽出部１２で抽出された線領域全体で、縦方向又は横方向の画素数がｎ（ｎは正の自然数）画素の部分の数とｎ＋１画素の部分の数との比率を算出する。以下では、画素数がｎ画素の部分に含まれる画素を「ｎ画素幅の画素」、画素数がｎ＋１画素の部分に含まれる画素を「ｎ＋１画素幅の画素」という。
【００１６】
ここで、ｎ画素幅及びｎ＋１画素幅について説明する。例えば、所定の傾きを持った縦方向の線幅ｎ画素未満の線が画像内に現れている場合、画像の横方向の各ラインに着目すると、線がｎ画素内に収まる場合と、ｎ＋１画素に跨る場合とがある。したがって、線領域は、画像の横方向の各ラインに着目すると、画素数がｎ画素のラインと、ｎ＋１画素のラインとを含むことになる。本実施形態では、この線領域におけるｎ画素のラインに含まれる画素が「ｎ画素幅の画素」、ｎ＋１画素のラインに含まれる画素が「ｎ＋１画素幅の画素」である。
【００１７】
図３に、ｎ＝１の場合を例示する。なお、図３では、線領域を示す画素を実線のマスで、その他の画素を破線のマスで示している。図３に示すように、所定の傾きを持った縦方向の１画素未満の線が画像内に現れている場合、画像の横方向の各ラインに着目すると、線が１画素内に収まる場合と、２画素に跨る場合とがある。したがって、画像の横方向の各ラインに着目すると、線領域は、画素数が１画素のラインに含まれる画素（「１画素幅の画素」）と、２画素のラインに含まれる画素（「２画素幅の画素」）とを含むことになる。
【００１８】
上記の「ｎ画素幅の画素」及び「ｎ＋１画素幅の画素」の判定方法の一例について説明する。算出部１４は、注目画素の配置が左上、左下、右上、及び右下の各々となるｎ＋１画素×ｎ＋１画素のパターンのいずれかにおいて、パターン内の全ての画素が線領域を示す画素である場合、注目画素をｎ＋１画素幅の画素であると判定する。例えば、ｎ＝１の場合、図４に示すように、２画素×２画素の領域の左上に注目画素を配置したパターン、左下に注目画素を配置したパターン、右上に注目画素を配置したパターン、右下に注目画素を配置したパターンを判定に用いる。
【００１９】
算出部１４は、判定結果に基づいて、各画素に、その画素がｎ画素幅の画素であるか、ｎ＋１画素幅の画素であるかを示すラベルを付与する。図５に、ｎ＝１の場合のラベル付与の一例を示す。算出部１４は、ラベル毎に画素数をカウントし、ｎ画素幅の画素数とｎ＋１画素幅の画素数との比率として、例えば、線領域全体の画素数に対するｎ画素幅の画素数の比率を算出する。なお、この場合、ｎ画素幅の画素のみにラベルを付与するようにしてもよい。
【００２０】
特定部１６は、抽出部１２により抽出された線領域が示す線の方向を特定する。例えば、特定部１６は、線領域に含まれる各画素のｘ座標を独立変数、ｙ座標を従属変数として、最小二乗法により近似直線を求め、求めた近似直線の傾きを、線の方向として特定することができる。また、例えば、特定部１６は、画素毎に輝度値の勾配方向を求め、各画素の勾配方向の平均を、線の方向として特定してもよい。なお、特定部１６は、線の方向を、鉛直方向又は水平方向と線とのなす角度として特定する。
【００２１】
推定部１８は、算出部１４で算出された比率と、特定部１６で特定された線の方向とに基づいて、線幅を推定する。
【００２２】
ここで、ｎ画素幅の画素数とｎ＋１画素幅の画素数との比率と、線の方向とに基づいて、線幅を推定する理由について説明する。なお、ここでは、ｎ＝１の場合、すなわち、１画素未満の線幅を推定する場合を例に説明する。
【００２３】
図６に示すように、同じ角度の線の場合、線幅が太い方が１画素幅の比率は減少する。図６の例では、＜線幅Ａ、角度Ｐ＞の１画素幅の比率は、１０／２２≒０．４５であり、＜線幅Ｂ（Ｂ＞Ａ）、角度Ｐ＞の１画素幅の比率は、４／２８≒０．１４である。また、同じ線幅の線の場合、角度が小さい（垂直又は水平に近い）方が１画素幅の比率は増加する。図６の例では、＜線幅Ａ、角度Ｑ（Ｑ＜Ｐ）＞の１画素幅の比率は、１１／２１≒０．５２である。一方で、線領域と線領域以外の領域とのコントラストの高低は、１画素幅の比率には影響を与えない。このことは、コントラストの高低にかかわらず、比率と線の方向とに基づいて、線幅を推定できることを意味する。
【００２４】
具体的には、推定部１８は、線幅テーブル２０を参照して、算出部１４で算出された比率と、特定部１６で特定された線の方向とに対応する線幅を推定する。線幅テーブル２０は、比率及び線の方向と、線幅との対応関係を、予めシミュレーション等により導出して格納したテーブルである。図７に線幅テーブル２０の一例を示す。図７の例では、所定値刻みの角度（ａ〜ｅ）毎に、比率（Ａ１〜Ｅ１０）と線幅とが対応付けて格納されている。
【００２５】
推定部１８は、特定部１６で特定された線の方向を示す角度に最も近い値の列のうち、算出部１４で算出された比率に最も近い値の行に対応する線幅を取得する。例えば、角度が「ｃ」、比率が「Ｃ５」に近い値であれば、推定部１８は、線幅テーブル２０から、線幅「０．５」を取得する。なお、推定部１８は、算出部１４で算出された比率、及び特定部１６で特定された線の方向を示す角度に近い２以上の線幅の値を線幅テーブル２０から取得してもよい。この場合、線形補間等により、算出部１４で算出された比率、及び特定部１６で特定された線の方向に対応する線幅を推定してもよい。
【００２６】
推定部１８は、推定した線幅を、例えば、元画像内の線領域の位置に対応付けて表すなどした線幅推定結果を生成して出力する。
【００２７】
線幅推定装置１０は、例えば図８に示すコンピュータ４０で実現することができる。コンピュータ４０は、Central Processing Unit（ＣＰＵ）４１と、一時記憶領域としてのメモリ４２と、不揮発性の記憶部４３とを備える。また、コンピュータ４０は、入力装置、表示装置等の入出力装置４４と、記憶媒体４９に対するデータの読み込み及び書き込みを制御するRead/Write（Ｒ／Ｗ）部４５と、インターネット等のネットワークに接続される通信Interface（Ｉ／Ｆ）４６とを備える。ＣＰＵ４１、メモリ４２、記憶部４３、入出力装置４４、Ｒ／Ｗ部４５、及び通信Ｉ／Ｆ４６は、バス４７を介して互いに接続される。
【００２８】
記憶部４３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部４３には、コンピュータ４０を、線幅推定装置１０として機能させるための線幅推定プログラム５０が記憶される。線幅推定プログラム５０は、抽出プロセス５２と、算出プロセス５４と、特定プロセス５６と、推定プロセス５８とを有する。また、記憶部４３は、線幅テーブル２０を構成する情報が記憶される情報記憶領域６０を有する。
【００２９】
ＣＰＵ４１は、線幅推定プログラム５０を記憶部４３から読み出してメモリ４２に展開し、線幅推定プログラム５０が有するプロセスを順次実行する。ＣＰＵ４１は、抽出プロセス５２を実行することで、図１に示す抽出部１２として動作する。また、ＣＰＵ４１は、算出プロセス５４を実行することで、図１に示す算出部１４として動作する。また、ＣＰＵ４１は、特定プロセス５６を実行することで、図１に示す特定部１６として動作する。また、ＣＰＵ４１は、推定プロセス５８を実行することで、図１に示す推定部１８として動作する。また、ＣＰＵ４１は、情報記憶領域６０から情報を読み出して、線幅テーブル２０をメモリ４２に展開する。これにより、線幅推定プログラム５０を実行したコンピュータ４０が、線幅推定装置１０として機能することになる。なお、プログラムを実行するＣＰＵ４１はハードウェアである。
【００３０】
なお、線幅推定プログラム５０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００３１】
次に、第１実施形態に係る線幅推定装置１０の作用について説明する。線幅推定装置１０に元画像が入力され、線幅推定の実行が指示されると、線幅推定装置１０が、図９に示す線幅推定処理を実行する。なお、線幅推定処理は、開示の技術の線幅推定方法の一例である。
【００３２】
ステップＳ１２で、抽出部１２が、線幅推定装置１０に入力された元画像から、線を示す画素の集合である線領域を抽出する。
【００３３】
次に、ステップＳ１４で、算出部１４が、注目画素の配置が左上、左下、右上、及び右下の各々となるｎ＋１画素×ｎ＋１画素のパターンのいずれかに、パターン内の全ての画素が線領域を示す画素であるパターンが存在するか否かを判定する。そして、算出部１４は、該当のパターンが存在する場合には、注目画素にｎ＋１画素幅の画素であることを示すラベルを付与する。また、算出部１４は、該当のパターンが存在しない場合には、注目画素にｎ画素幅の画素であることを示すラベルを付与する。算出部１４は、線領域を示す画素の各々を注目画素に設定し、本ステップの処理を実行する。
【００３４】
次に、ステップＳ１６で、算出部１４が、上記ステップＳ１４で付与したラベル毎に画素数をカウントし、そして、ｎ画素幅の画素数とｎ＋１画素幅の画素数との比率として、例えば、線領域全体の画素数に対するｎ画素幅の画素数の比率を算出する。
【００３５】
次に、ステップＳ１８で、特定部１６が、例えば、近似直線の傾きや、各画素の勾配方向の平均を利用して、抽出部１２により抽出された線領域が示す線の方向を特定する。
【００３６】
次に、ステップＳ２０で、推定部１８が、線幅テーブル２０を参照して、上記ステップＳ１６で算出された比率と、上記ステップＳ１８で特定された線の方向とに対応する線幅を推定する。そして、推定部１８は、線幅推定結果を生成して出力し、線幅推定処理は終了する。
【００３７】
以上説明したように、第１実施形態に係る線幅推定装置１０によれば、線領域を示す画素について、ｎ画素幅の画素の数とｎ＋１画素幅の画素の数との比率を算出し、線の方向を特定し、算出した比率と特定した線の方向とに基づいて、線幅を推定する。これにより、線領域とそれ以外の領域とのコントラストが未知の場合でも、１画素未満の単位で線幅を推定することができる。
【００３８】
＜第２実施形態＞
次に、第２実施形態について説明する。なお、第２実施形態に係る線幅推定装置において、第１実施形態に係る線幅推定装置１０と同様の部分については、同一符号を付して詳細な説明を省略する。
【００３９】
図１に示すように、第２実施形態に係る線幅推定装置２１０は、機能的には、抽出部１２と、算出部２１４と、特定部２１６と、推定部２１８とを含む。
【００４０】
特定部２１６は、抽出部１２により抽出された線領域に含まれる小領域毎の方向を求め、小領域毎の方向に基づいて、線領域を方向別領域毎に分割し、方向別領域毎に線の方向を特定する。これは、ひび割れなどのように、直線的ではない形状の線については、第１実施形態のように線の方向を１つに特定してしまうと、線幅テーブル２０から適切な線幅を取得できない場合があることを考慮したものである。
【００４１】
具体的には、特定部２１６は、小領域の一例である画素毎に、輝度値の勾配方向を算出し、図１０に示すように、勾配方向が同等の画素毎に同じラベルを付与する。勾配方向が同等とは、例えば、同じラベルが付与される画素の輝度値の勾配方向の最大値と最小値との差が所定範囲となる場合とする。特定部２１６は、同じラベルを付与した方向別領域毎に、第１実施形態における特定部１６と同様に、線の方向を特定する。
【００４２】
なお、各画素を小領域とする場合に限定されず、複数の画素を含む領域を小領域としてもよい。この場合、例えば、小領域内に含まれる各画素の輝度値の勾配方向の平均を、その小領域の線の方向として特定すればよい。
【００４３】
算出部２１４は、特定部２１６により分割された方向別領域毎に、第１実施形態における算出部１４と同様に、ｎ画素幅の画素数とｎ＋１画素幅の画素数との比率として、例えば、方向別領域全体の画素数に対するｎ画素幅の画素数の比率を算出する。
【００４４】
推定部２１８は、特定部２１６により分割された方向別領域毎に、第１実施形態における推定部１８と同様に、線幅を推定する。推定部２１８は、図１１に示すように、方向別領域毎の線幅を統合して、線全体の幅を推定する。方向別領域毎の線幅の統合方法としては、例えば、各方向別領域の線幅の平均値、最小値、最大値、最頻値等（図１１の例では平均）とすることができる。推定部２１８は、推定した線幅を、例えば、元画像内の線領域の位置に対応付けて表すなどした線幅推定結果を生成して出力する。
【００４５】
線幅推定装置２１０は、例えば図８に示すコンピュータ４０で実現することができる。コンピュータ４０の記憶部４３には、コンピュータ４０を、線幅推定装置２１０として機能させるための線幅推定プログラム２５０が記憶される。線幅推定プログラム２５０は、抽出プロセス５２と、算出プロセス２５４と、特定プロセス２５６と、推定プロセス２５８とを有する。また、記憶部４３は、線幅テーブル２０を構成する情報が記憶される情報記憶領域６０を有する。
【００４６】
ＣＰＵ４１は、線幅推定プログラム２５０を記憶部４３から読み出してメモリ４２に展開し、線幅推定プログラム２５０が有するプロセスを順次実行する。ＣＰＵ４１は、算出プロセス２５４を実行することで、図１に示す算出部２１４として動作する。また、ＣＰＵ４１は、特定プロセス２５６を実行することで、図１に示す特定部２１６として動作する。また、ＣＰＵ４１は、推定プロセス２５８を実行することで、図１に示す推定部２１８として動作する。抽出プロセス５２については、第１実施形態に係る線幅推定プログラム５０と同様である。これにより、線幅推定プログラム２５０を実行したコンピュータ４０が、線幅推定装置２１０として機能することになる。
【００４７】
なお、線幅推定プログラム２５０により実現される機能は、例えば半導体集積回路、より詳しくは、ＡＳＩＣ等で実現することも可能である。
【００４８】
次に、第２実施形態に係る線幅推定装置２１０の作用について説明する。線幅推定装置２１０に元画像が入力され、線幅推定の実行が指示されると、線幅推定装置２１０が、図１２に示す線幅推定処理を実行する。なお、第２実施形態における線幅推定処理において、第１実施形態における線幅推定処理と同様の処理については、同一符号を付して、詳細な説明を省略する。
【００４９】
ステップＳ１２及びＳ１４を経て、線領域の各画素に画素幅のラベルが付与されると、処理はステップＳ２２へ移行する。
【００５０】
ステップＳ２２では、特定部２１６が、線領域を示す画素毎に、輝度値の勾配方向を算出し、勾配方向が同等の画素毎に同じラベルを付与することにより、同じラベルを付与した領域の各々を方向別領域とし、線領域を方向別領域毎に分割する。次に、ステップＳ２４で、特定部２１６が、方向別領域毎に、線の方向を特定する。
【００５１】
次に、ステップＳ２６で、算出部２１４が、上記ステップＳ２２で分割された方向別領域毎に、方向別領域全体の画素数に対するｎ画素幅の画素数の比率を算出する。
【００５２】
次に、ステップＳ２８で、推定部２１８は、上記ステップＳ２２で分割された方向別領域毎に、線幅テーブル２０を参照して、上記ステップＳ２４で特定された線の方向と、上記ステップＳ２６で算出された比率とに基づいて、線幅を推定する。
【００５３】
次に、ステップＳ３０で、推定部２１８が、推定した方向別領域毎の線幅を統合して、線全体の幅を推定する。そして、推定部２１８は、線幅推定結果を生成して出力し、線幅推定処理は終了する。
【００５４】
以上説明したように、第２実施形態における線幅推定装置２１０によれば、線の方向が同程度の部分毎に線領域を分割し、分割した領域毎に線幅を推定して、推定された領域毎の線幅を統合することで、線全体の幅を推定する。これにより、ひび割れなどの直線的ではない形状の線についても、適切に線幅を推定することができる。
【００５５】
＜第３実施形態＞
次に、第３実施形態について説明する。なお、第２実施形態に係る線幅推定装置において、第１実施形態に係る線幅推定装置１０と同様の部分については、同一符号を付して詳細な説明を省略する。
【００５６】
図１に示すように、第３実施形態に係る線幅推定装置３１０は、機能的には、抽出部１２と、算出部３１４と、特定部１６と、推定部３１８とを含む。
【００５７】
算出部３１４は、線領域を、線幅が同等とみなせる部分毎に分割した幅別領域毎に、第１実施形態における算出部１４と同様に、ｎ画素幅の画素数とｎ＋１画素幅の画素数との比率を算出する。ひび割れなどのように、線幅が常に一定とは限らない場合を考慮して、線幅が同等とみなせる部分毎に線幅を推定するためである。
【００５８】
具体的には、算出部３１４は、例えば、図１３に示すように、元画像において、少なくとも線領域を含む所定範囲内の画素の輝度値を所定方向に積算した値（累積輝度値）に基づいて、線幅が同等とみなせる部分を判定する。所定方向は、線の方向が縦方向の場合には横方向、線の方向が横方向の場合には縦方向である。線の方向は、特定部１６による特定結果を利用することができる。算出部３１４は、例えば、画素位置に対する累積輝度値のグラフに対して所定窓を設定し、窓内の累積輝度値の分散が予め定めた閾値以下で連続する範囲を探索し、その範囲に含まれる画素毎に同一のラベルを付与する。算出部３１４は、同じラベルを付与した方向別領域毎に、第１実施形態における算出部１４と同様に、ｎ画素幅の画素数とｎ＋１画素幅の画素数との比率として、例えば、線領域全体の画素数に対するｎ画素幅の画素数の比率を算出する。
【００５９】
推定部３１８は、図１４に示すように、算出部３１４により分割された幅別領域毎に、第１実施形態における推定部１８と同様に、線幅を推定する。推定部３１８は、例えば、幅別領域毎に推定した線幅を、元画像内の線領域における幅別領域の各位置及び幅別領域のラベルに対応付けて表すなどした線幅推定結果を生成して出力する。
【００６０】
線幅推定装置３１０は、例えば図８に示すコンピュータ４０で実現することができる。コンピュータ４０の記憶部４３には、コンピュータ４０を、線幅推定装置３１０として機能させるための線幅推定プログラム３５０が記憶される。線幅推定プログラム３５０は、抽出プロセス５２と、算出プロセス３５４と、特定プロセス５６と、推定プロセス３５８とを有する。また、記憶部４３は、線幅テーブル２０を構成する情報が記憶される情報記憶領域６０を有する。
【００６１】
ＣＰＵ４１は、線幅推定プログラム３５０を記憶部４３から読み出してメモリ４２に展開し、線幅推定プログラム３５０が有するプロセスを順次実行する。ＣＰＵ４１は、算出プロセス３５４を実行することで、図１に示す算出部３１４として動作する。また、ＣＰＵ４１は、推定プロセス３５８を実行することで、図１に示す推定部３１８として動作する。抽出プロセス５２及び特定プロセス５６については、第１実施形態に係る線幅推定プログラム５０と同様である。これにより、線幅推定プログラム３５０を実行したコンピュータ４０が、線幅推定装置３１０として機能することになる。
【００６２】
なお、線幅推定プログラム３５０により実現される機能は、例えば半導体集積回路、より詳しくは、ＡＳＩＣ等で実現することも可能である。
【００６３】
次に、第３実施形態に係る線幅推定装置３１０の作用について説明する。線幅推定装置３１０に元画像が入力され、線幅推定の実行が指示されると、線幅推定装置３１０が、図１５に示す線幅推定処理を実行する。なお、第３実施形態における線幅推定処理において、第１実施形態における線幅推定処理と同様の処理については、同一符号を付して、詳細な説明を省略する。
【００６４】
ステップＳ１２及びＳ１４を経て、線領域の各画素に画素幅のラベルが付与され、ステップＳ１８で、線の方向が推定されると、処理はステップＳ３２へ移行する。
【００６５】
ステップＳ３２では、算出部３１４が、元画像において、少なくとも線領域を含む所定範囲内の画素の輝度値を所定方向に積算した累積輝度値を算出し、累積輝度値に基づいて、線幅が同等とみなせる部分に同一のラベルを付与する。
【００６６】
次に、ステップＳ３４で、算出部３１４が、同じラベルを付与した方向別領域毎に、ｎ画素幅の画素数とｎ＋１画素幅の画素数との比率として、例えば、線領域全体の画素数に対するｎ画素幅の画素数の比率を算出する。
【００６７】
次に、ステップＳ３６で、推定部３１８が、上記ステップＳ３２で分割された幅別領域毎に、線幅テーブル２０を参照して、上記ステップＳ１８で特定された線の方向と、上記ステップＳ３４で算出された比率に基づいて、線幅を推定する。そして、推定部３１８は、線幅推定結果を生成して出力し、線幅推定処理は終了する。
【００６８】
以上説明したように、第３実施形態における線幅推定装置３１０によれば、線の幅が同程度の部分毎に線領域を分割し、分割した領域毎に線幅を推定する。これにより、幅が一定でない線についても、適切に線幅を推定することができる。
【００６９】
なお、上記各実施形態では、画素幅毎の画素数の比率及び線の方向と、線の幅との対応関係をテーブル形式で定義しておく場合について説明したが、これに限定されない。シミュレーションなどにより導出される画素幅毎の画素数の比率及び線の方向と、線の幅との対応関係を計算式で定義しておいてもよい。
【００７０】
また、上記各実施形態では、注目画素の配置が左上、左下、右上、及び右下の各々となるｎ＋１画素×ｎ＋１画素のパターンを用いて、各画素がｎ画素幅かｎ＋１画素幅かを判定する場合について説明したが、これに限定されない。例えば、線の方向が縦方向か横方向かを特定し、線の方向が縦方向の場合には、線領域の横ライン毎の画素数をカウントし、線の方向が横方向の場合には、線領域の縦ライン毎の画素数をカウントすることで判定してもよい。線の方向が縦方向か横方向かは、例えば、特定部により特定された線の方向に基づいて判定する。例えば、線の方向と鉛直方向とのなす角度が４５度未満、又は線の方向と水平方向とのなす角度が４５度以上の場合に縦方向と判定する。また、線の方向と水平方向とのなす角度が４５度未満、又は線の方向と鉛直方向とのなす角度が４５度以上の場合に横方向と判定することができる。
【００７１】
また、上記各実施形態では、線幅推定プログラム５０、２５０、３５０が記憶部４３に予め記憶（インストール）されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【００７２】
以上の各実施形態に関し、更に以下の付記を開示する。
【００７３】
（付記１）
画像内の線を示す画素の集合である線領域全体で、縦方向又は横方向の画素数がｎ（ｎは正の自然数）画素の部分の数とｎ＋１画素の部分の数との比率を算出し、
前記線の方向を特定し、
算出された前記比率と、特定された前記線の方向とに基づいて、前記線の幅を推定する
ことを含む処理をコンピュータに実行させるための線幅推定プログラム。
【００７４】
（付記２）
前記比率を算出する際、注目画素の配置が左上、左下、右上、及び右下の各々となるｎ＋１画素×ｎ＋１画素の領域のいずれかにおいて、全ての画素が線領域を示す画素である場合に、前記注目画素を含む縦方向又は横方向の画素数がｎ＋１画素であると判定する付記１に記載の線幅推定プログラム。
【００７５】
（付記３）
前記線領域に含まれる小領域毎の方向を求め、前記小領域毎の方向に基づいて、前記線領域を分割した方向別領域毎に前記線の方向を特定し、
前記方向別領域毎に推定された前記線の方向に基づいて推定される前記方向別領域毎の線の幅を統合して、前記線の幅を推定する
付記１又は付記２に記載の線幅推定プログラム。
【００７６】
（付記４）
前記線領域を、線の幅が同等とみなせる部分毎に分割した幅別領域毎に、前記比率の算出及び前記線の幅の推定を行う付記１〜付記３のいずれか１項に記載の線幅推定プログラム。
【００７７】
（付記５）
前記線の幅が同等とみなせる部分を、少なくとも前記線領域を含む所定範囲内の画素の画素値を、前記線の方向が縦方向の場合には横方向に積算した値、前記線の方向が横方向の場合には縦方向に積算した値に基づいて判定する付記４に記載の線幅推定プログラム。
【００７８】
（付記６）
縦方向又は横方向の画素数が１画素の部分の数と２画素の部分の数との比率を算出する付記１〜付記５のいずれか１項に記載の線幅推定プログラム。
【００７９】
（付記７）
前記線の方向及び前記比率と、前記線の幅との予め定めた対応関係を参照して、前記線の幅を推定する付記１〜付記６のいずれか１項に記載の線幅推定プログラム。
【００８０】
（付記８）
画像内の線を示す画素の集合である線領域全体で、縦方向又は横方向の画素数がｎ（ｎは正の自然数）画素の部分の数とｎ＋１画素の部分の数との比率を算出する算出部と、
前記線の方向を特定する特定部と、
算出された前記比率と、特定された前記線の方向とに基づいて、前記線の幅を推定する推定部と、
を含む線幅推定装置。
【００８１】
（付記９）
前記算出部は、注目画素の配置が左上、左下、右上、及び右下の各々となるｎ＋１画素×ｎ＋１画素の領域のいずれかにおいて、全ての画素が線領域を示す画素である場合に、前記注目画素を含む縦方向又は横方向の画素数がｎ＋１画素であると判定する付記８に記載の線幅推定装置。
【００８２】
（付記１０）
前記特定部は、前記線領域に含まれる小領域毎の方向を求め、前記小領域毎の方向に基づいて、前記線領域を分割した方向別領域毎に前記線の方向を特定し、
前記推定部は、前記方向別領域毎に推定された前記線の方向に基づいて推定される前記方向別領域毎の線の幅を統合して、前記線の幅を推定する
付記８又は付記９に記載の線幅推定装置。
【００８３】
（付記１１）
前記算出部は、前記線領域を、線の幅が同等とみなせる部分毎に分割した幅別領域毎に、前記比率を算出し、
前記推定部は、前記幅別領域毎に、前記線の幅の推定を行う
付記８〜付記１０のいずれか１項に記載の線幅推定装置。
【００８４】
（付記１２）
前記算出部は、前記線の幅が同等とみなせる部分を、少なくとも前記線領域を含む所定範囲内の画素の画素値を、前記線の方向が縦方向の場合には横方向に積算した値、前記線の方向が横方向の場合には縦方向に積算した値に基づいて判定する付記１１に記載の線幅推定装置。
【００８５】
（付記１３）
前記算出部は、縦方向又は横方向の画素数が１画素の部分の数と２画素の部分の数との比率を算出する付記８〜付記１２のいずれか１項に記載の線幅推定装置。
【００８６】
（付記１４）
前記推定部は、前記線の方向及び前記比率と、前記線の幅との予め定めた対応関係を参照して、前記線の幅を推定する付記８〜付記１３のいずれか１項に記載の線幅推定装置。
【００８７】
（付記１５）
画像内の線を示す画素の集合である線領域全体で、縦方向又は横方向の画素数がｎ（ｎは正の自然数）画素の部分の数とｎ＋１画素の部分の数との比率を算出し、
前記線の方向を特定し、
算出された前記比率と、特定された前記線の方向とに基づいて、前記線の幅を推定する
ことを含む処理をコンピュータが実行する線幅推定方法。
【００８８】
（付記１６）
前記比率を算出する際、注目画素の配置が左上、左下、右上、及び右下の各々となるｎ＋１画素×ｎ＋１画素の領域のいずれかにおいて、全ての画素が線領域を示す画素である場合に、前記注目画素を含む縦方向又は横方向の画素数がｎ＋１画素であると判定する付記１５に記載の線幅推定方法。
【００８９】
（付記１７）
前記線領域に含まれる小領域毎の方向を求め、前記小領域毎の方向に基づいて、前記線領域を分割した方向別領域毎に前記線の方向を特定し、
前記方向別領域毎に推定された前記線の方向に基づいて推定される前記方向別領域毎の線の幅を統合して、前記線の幅を推定する
付記１５又は付記１６に記載の線幅推定方法。
【００９０】
（付記１８）
前記線領域を、線の幅が同等とみなせる部分毎に分割した幅別領域毎に、前記比率の算出及び前記線の幅の推定を行う付記１５〜付記１７のいずれか１項に記載の線幅推定方法。
【００９１】
（付記１９）
前記線の幅が同等とみなせる部分を、少なくとも前記線領域を含む所定範囲内の画素の画素値を、前記線の方向が縦方向の場合には横方向に積算した値、前記線の方向が横方向の場合には縦方向に積算した値に基づいて判定する付記１８に記載の線幅推定方法。
【００９２】
（付記２０）
縦方向又は横方向の画素数が１画素の部分の数と２画素の部分の数との比率を算出する付記１５〜付記１９のいずれか１項に記載の線幅推定方法。
【符号の説明】
【００９３】
１０、２１０、３１０ 線幅推定装置
１２   抽出部
１４、２１４、３１４ 算出部
１６、２１６  特定部
１８、２１８、３１８ 推定部
２０   線幅テーブル
４０   コンピュータ
４１   ＣＰＵ
４２   メモリ
４３   記憶部
４９   記憶媒体
５０、２５０、３５０ 線幅推定プログラム
【図１】
2019056585.tif 000003
【図２】
2019056585.tif 000004
【図３】
2019056585.tif 000005
【図４】
2019056585.tif 000006
【図５】
2019056585.tif 000007
【図６】
2019056585.tif 000008
【図７】
2019056585.tif 000009
【図８】
2019056585.tif 000010
【図９】
2019056585.tif 000011
【図１０】
2019056585.tif 000012
【図１１】
2019056585.tif 000013
【図１２】
2019056585.tif 000014
【図１３】
2019056585.tif 000015
【図１４】
2019056585.tif 000016
【図１５】
2019056585.tif 000017