説明

画像解析プログラム、画像解析装置および画像解析方法

【課題】エッジの解析性能を高める。
【解決手段】エッジ画素を中心とし面積が9を越えるマスク内の任意の位置に設定されるサブマスク内における輝度の平均をA(kは非負整数)、前記エッジ画素を中心とする前記サブマスク内における輝度の平均をA、閾値BをB≦0である定数、閾値WをW≧0である定数とするとき、|A−A|が最大となるk=nについて、A−A<Bである場合には前記エッジ画素を濃色領域に属するエッジ画素と判定し、A−A>Wである場合には前記エッジ画素を淡色領域に属するエッジ画素と判定するエッジ判定手段、としてコンピュータを機能させる画像解析プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像解析に関し、特にOCR(Optical Character Recognition)に適したエッジ検出に関する。
【背景技術】
【0002】
従来、二値化したり階調再現性を高めたりジャギーを目立たなくするためのエッジ解析技術やエッジ補正技術が知られている(例えば特許文献1〜6参照)。従来のエッジ解析アルゴリズムでは、注目画素の輝度と特定の近傍画素の輝度とを画素単位で比較し、輝度の差分の絶対値が閾値よりも大きくなる注目画素をエッジ画素として検出する。また従来のエッジ解析アルゴリズムでは、注目画素の輝度を特定の近傍画素の輝度と比較することによって、互いに隣接する2つの領域のうち相対的に濃い(暗い)領域である濃色領域に属するエッジ画素であるか、相対的に薄い(明るい)領域である淡色領域に属するエッジ画素であるかを判定する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−30267号公報
【特許文献2】特開平11−205617号公報
【特許文献3】特開2002−10075号公報
【特許文献4】特開2002−252746号公報
【特許文献5】特開2004−207923号公報
【特許文献6】特開2004−215163号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、光学的に読み取られた画像データには、印刷用紙に混入している微粒子や光学系の塵埃や電気信号ノイズに対応する画素が存在する。また網点によって階調が表現されている印刷物の文字や、ボールペンなどの筆記具を用いて記載された文字では、巨視的には(すなわち視力の分解能では)シャープでなめらかな輪郭線であっても微視的には(すなわちイメージスキャナの分解能では)輪郭線を横切る方向に階調が連続的に変化していたり、巨視的には輪郭線の濃色側に見える領域であっても微視的には局所的に淡色の孤立点が残っていたり、巨視的には輪郭線の淡色側に見える領域であっても微視的には局所的に濃色の孤立点が残っていたりする。
【0005】
したがって、注目画素の輝度と特定の近傍画素の輝度とを画素単位で比較してエッジ画素を検出する従来のアルゴリズムにおいては、印刷用紙に混入している微粒子や画像読み取り光学系の塵埃や電気信号ノイズが注目画素の比較対象となる近傍画素に対応する場合に、エッジ画素の検出漏れや誤検出が起こる。また注目画素の輝度を近傍画素の輝度と比較してエッジ画素が濃色領域、淡色領域のいずれに属するかを判定する従来のアルゴリズムでは、巨視的な輪郭線の近傍の中間調の領域に存在する濃色あるいは淡色の孤立点が注目画素あるいは注目画素の比較対象となる近傍画素に対応する場合には、エッジ画素を結合して輪郭線を抽出すると輪郭線が二重になることがある。
このようなエッジ画素の検出漏れや誤検出や輪郭線の二重化はOCRの認識率を下げる要因になるし、エッジ補正後の画像データの画質を下げる要因にもなる。
【0006】
本発明はこのような問題を解決するために創作されたものであって、エッジの解析性能を高めることを目的の1つとする。
【課題を解決するための手段】
【0007】
(1)上記目的を達成するための画像解析プログラムは、エッジ画素を中心とし面積が9を越えるマスク内の任意の位置に設定されるサブマスク内における輝度の平均をA(kは非負整数)、前記エッジ画素を中心とする前記サブマスク内における輝度の平均をA、閾値BをB≦0である定数、閾値WをW≧0である定数とするとき、|A−A|が最大となるk=nについて、A−A<Bである場合には前記エッジ画素を濃色領域に属するエッジ画素と判定し、A−A>Wである場合には前記エッジ画素を淡色領域に属するエッジ画素と判定するエッジ判定手段、としてコンピュータを機能させる。
【0008】
OCRにおいて実用的な認識率が得られる解像度で読み取られた文字列の輪郭線を構成するエッジ画素は空間的に孤立せずに連続する。したがって濃色領域に属するエッジ画素を中心とし当該エッジ画素の非隣接画素を含むマスク内においては、当該エッジ画素を中心とし当該マスクより狭いサブマスク内の輝度の平均よりも、輝度の平均が大きくなるサブマスクが当該マスク内に高い確率で存在する。なお、エッジとは輝度が急峻に変化する局所領域である。エッジ画素とはエッジを構成する画素である。輝度とは明るいほど値が大きく暗いほど値が小さくなる階調値である。また淡色領域に属するエッジ画素を中心とし当該エッジ画素の非隣接画素を含むマスク内においては、当該エッジ画素を中心とし当該マスクより狭いサブマスク内の輝度の平均よりも、輝度の平均が小さくなるサブマスクが当該マスク内に高い確率で存在する。ある画素を中心としその画素に隣接しない画素を含むマスクの面積は9より大きい。すなわち、エッジ画素を中心とし面積が9を越えるマスク内において、当該エッジ画素を中心とし当該マスクより狭いサブマスク内の輝度の平均と、当該エッジ画素を中心とし当該マスクより狭いサブマスク内の輝度の平均との差の絶対値が最も大きくなる当該マスク内のサブマスク内の輝度の平均とを比較することによって、当該エッジ画素が濃色領域に属するか淡色領域に属するかを判定できる。
【0009】
(2)輝度の平均が互いに比較されるサブマスクの面積が3以上である場合、サブマスク内に存在するノイズ画素の輝度が当該サブマスク内の輝度の平均に与える影響を抑圧することができる。すなわちサブマスクの面積が3以上である場合、サブマスク内に存在するノイズ画素によってエッジ画素が属する領域の判定を誤る確率は低くなる。なお、ノイズ画素とはエッジとみなすことが解析の目的に照らして適切でないエッジを構成するエッジ画素である。また巨視的には文字の輪郭線の範囲内にあって微視的には孤立点である画素がエッジ画素として検出されている場合、検出されたエッジ画素を中心として空間的に連続する3つの画素の輝度の相対的な関係は濃色・淡色・濃色または淡色・濃色・淡色のいずれかとなり得る。このような場合であっても、面積が3以上であるサブマスク内の輝度の平均同士を比較することにより、これらの3画素が属する領域を濃色・濃色・淡色あるいは濃色・淡色・淡色あるいは淡色・濃色・濃色あるいは淡色・淡色・濃色あるいは淡色・淡色・淡色あるいは濃色・濃色・濃色と判定することができる。そして淡色・淡色・淡色あるいは濃色・濃色・濃色と判定される場合には、その3画素とは中心が異なる近傍の3画素が属する領域が濃色・濃色・淡色あるいは濃色・淡色・淡色あるいは淡色・濃色・濃色あるいは淡色・淡色・濃色と判定されることになる。すなわち輝度の平均が互いに比較されるサブマスクの面積が3以上である場合、孤立しているエッジ画素によって輪郭線が二重に抽出される不具合を防止できる。また、網点によって巨視的な階調が表されている領域内の全ての画素がエッジ画素として検出されることもあり得る。このような場合には、面積が3以上であるサブマスク内の輝度の平均同士を比較すると、平均同士の差の絶対値が小さくなるため、全てのエッジ画素が濃色領域または淡色領域のいずれか一方のみに属するという判定か、もしくはエッジ画素が濃色領域にも淡色領域にも属さないという判定を得られる閾値B、Wを設定可能となる。すなわち、サブマスクの面積を3以上に設定すると、エッジ画素として検出された網点に対応する画素を輪郭線を構成しないエッジ画素として処理することが可能になる。
【0010】
したがって、上記目的を達成するための画像解析プログラムにおいて、前記サブマスクの面積は3以上であってもよい。
【0011】
(3)エッジ画素を中心とするマスク内において当該エッジ画素が属する輪郭線が水平方向に延びている場合、当該エッジ画素を中心とし当該マスクより狭いサブマスク内の輝度の平均Aと、Aとの差の絶対値が最も大きくなる当該マスク内のサブマスク内の輝度の平均Aとの差の絶対値は、サブマスクが水平方向に長い扁平な形状である場合に、そうでない場合に比べて大きくなる。エッジ画素を中心とするマスク内で輪郭線が垂直方向に延びている場合、当該エッジ画素を中心とし当該マスクより狭いサブマスク内の輝度の平均Aと、Aとの差の絶対値が最も大きくなる当該マスク内のサブマスク内の輝度の平均Aとの差の絶対値は、サブマスクが垂直方向に長い扁平な形状である場合に、そうでない場合に比べて大きくなる。すなわち、特定の方向に長い扁平なサブマスクを用いてマスク内の輝度の局所平均を比較することにより、エッジ画素が濃色領域、淡色領域のいずれに属するかをより正確に判定できる。また、エッジ画素が属する輪郭線の方向を判定することも可能になる。
【0012】
したがって、上記目的を達成するための画像解析プログラムにおいて、前記エッジ判定手段は、扁平な矩形である扁平サブマスクを前記サブマスクとして用いてもよい。
【0013】
(4)また、上記目的を達成するための画像解析プログラムにおいて、前記エッジ判定手段は、垂直方向に長い前記扁平サブマスクである垂直型サブマスク、水平方向に長い前記扁平サブマスクである水平型サブマスクの少なくともいずれかにおいてA−A<Bが成り立つ場合には前記エッジ画素を濃色領域に属するエッジ画素と判定し、前記垂直型サブマスク、前記水平型サブマスクの少なくともいずれかにおいてA−A>Wが成り立つ場合には前記エッジ画素を淡色領域に属するエッジ画素と判定してもよい。
【0014】
マスクの中心にあるエッジ画素が属する輪郭線が水平、垂直、斜め45度のいずれの方向に延びている場合であっても、垂直型サブマスク、水平型サブマスクの少なくともいずれかにおいてA−A>WまたはA−A<Bが成り立つように閾値W、Bを定めることができる。
【0015】
(5)上記目的を達成するための画像解析装置は、エッジ画素を中心とし面積が9を越えるマスク内の任意の位置に設定されるサブマスク内における輝度の平均をA(kは非負整数)、前記エッジ画素を中心とする前記サブマスク内における輝度の平均をA、閾値BをB≦0である定数、閾値WをW≧0である定数とするとき、|A−A|が最大となるk=nについて、A−A<Bである場合には前記エッジ画素を濃色領域に属するエッジ画素と判定し、A−A>Wである場合には前記エッジ画素を淡色領域に属するエッジ画素と判定するエッジ判定手段を備える。
【0016】
(12)上記目的を達成するための画像解析方法は、エッジ画素を中心とし面積が9を越えるマスク内の任意の位置に設定されるサブマスク内における輝度の平均をA(kは非負整数)、前記エッジ画素を中心とする前記サブマスク内における輝度の平均をA、閾値BをB≦0である定数、閾値WをW≧0である定数とするとき、|A−A|が最大となるk=nについて、A−A<Bである場合には前記エッジ画素を濃色領域に属するエッジ画素と判定し、A−A>Wである場合には前記エッジ画素を淡色領域に属するエッジ画素と判定する、ことを含む。
【0017】
なお、請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。さらに、本発明は画像解析プログラムの記録媒体としても成立する。むろん、そのコンピュータプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体であってもよい。
【図面の簡単な説明】
【0018】
【図1】本発明の実施形態にかかる模式図。
【図2】本発明の実施形態にかかる模式図。
【図3】本発明の実施形態にかかる模式図。
【図4】本発明の実施形態にかかる模式図。
【図5】本発明の実施形態にかかる模式図。
【図6】本発明の実施形態にかかる模式図。
【図7】本発明の実施形態にかかる模式図。
【図8】本発明の実施形態にかかる模式図。
【図9】本発明の実施形態にかかる模式図。
【図10】本発明の実施形態にかかる模式図。
【図11】本発明の実施形態にかかる模式図。
【図12】本発明の実施形態にかかる模式図。
【図13】本発明の実施形態にかかる模式図。
【図14】本発明の実施形態にかかる模式図。
【図15】本発明の実施形態にかかる模式図。
【図16】本発明の実施形態にかかる模式図。
【図17】本発明の実施形態にかかる模式図。
【図18】本発明の実施形態にかかる模式図。
【図19】本発明の実施形態にかかる模式図。
【図20】本発明の実施形態にかかる模式図。
【図21】本発明の実施形態にかかる模式図。
【図22】本発明の実施形態にかかる模式図。
【図23】本発明の実施形態にかかる表。
【図24】本発明の実施形態にかかる表。
【図25】本発明の実施形態にかかる表。
【図26】本発明の実施形態にかかるブロック図。
【図27】本発明の実施形態にかかるフローチャート。
【図28】本発明の実施形態にかかるフローチャート。
【図29】本発明の実施形態にかかるフローチャート。
【図30】本発明の実施形態にかかるフローチャート。
【図31】本発明の実施形態にかかるフローチャート。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態を添付図面を参照しながら以下の順で説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
【0020】
1.エッジ画素の検出原理
2.エッジ画素の濃淡判定原理
3.画像解析装置の実施例
4.画像解析方法の実施例
【0021】
1.エッジ画素の検出原理
文字を視認できる原稿から読み取られた画像データにおいて文字の輪郭線はエッジによって構成される。通常用いられる文字の輪郭線において当該輪郭線を横切る方向のコントラスト(輝度の最大値と最小値の差の絶対値)は、一般的な照明環境(例えば蛍光灯で照明された室内)において一般的な距離(例えば40cm)から一般的な視力(例えば視力1.2)で輪郭線を視認できる程度である。すなわち、文字の輪郭線を構成するエッジにはこの程度のコントラストが存在する。一般的な照明環境において一般的な距離から一般的な視力で観察するという条件を一般条件というものとする。このようなコントラストは、一般条件下で通常用いられる範囲で比較的小さな文字についてOCRが可能な解像度(例えば200dpi以上)に対応する2画素以上を含む局所領域の輝度の平均によって視認される。したがって、2画素以上を含む局所領域同士の輝度の差に着目することによって文字の輪郭線を構成するエッジを検出することが可能である。そこで、2画素以上を含む局所領域を2つ以上内包するマスク内の輝度の分散をエッジ検出の指標とする。
【0022】
以下、図1から図22に示す様々なパターンを用いて具体的に説明する。各パターンにおいて、画素の境界は細線によって示され、画素の輝度はハッチング線の配列密度で示され、マスクの境界は太線で示されている。7(画素)×7(画素)の面積を有するマスクをラージマスク、5(画素)×5(画素)の面積を有するマスクをミディアムマスク、3(画素)×3(画素)の面積を有するマスクをスモールマスクというものとする。分散を具体的に取り扱うために画素の輝度を次のように設定する。パターン1−36、78、79においては、ハッチング線が付される画素の輝度を10、ハッチングが付されない画素の輝度を250とする。パターン39−46、48−76においては、輝度が低いほどハッチング線の配列密度が高く示されており、画素の輝度は250(ハッチング線無し)、190、130、20とする。以下の説明において示される分散はこのように設定された輝度を用いて計算されたものである。
【0023】
パターン1のエッジを内包しないスモールマスク内の輝度の分散(0)は、パターン2のエッジを内包するスモールマスク内の輝度の分散(5689)よりも、パターン3のエッジを内包するスモールマスク内の輝度の分散(12800)よりも、パターン6のエッジを内包するスモールマスク内の輝度の分散(9956)よりも小さい。パターン1〜8において濃色領域の輝度の増大に応じて、あるいは淡色領域の輝度の減少に応じて、エッジを内包するスモールマスク内の輝度の分散は小さくなる。またパターン1〜8において淡色領域に階調変化があれば、階調変化の周波数(空間周波数)と振幅の増大に応じて、淡色領域のみを内包する局所領域内の輝度の分散は大きくなる。したがって、パターン1〜8における淡色領域の階調変化の周波数と振幅の増大に応じて、エッジを内包するスモールマスク内の輝度の分散は小さくなる。しかし、一般条件下で視認し得る輪郭線によって区画される濃色領域と淡色領域の巨視的な輝度の差の絶対値には統計的な下限が認められる。このため、エッジを内包する(すなわち濃色領域と淡色領域とを内包する)マスク内の輝度の分散には一般条件下での統計的な下限が認められる。したがって、そのような統計的な下限に応じて適切な閾値Vを設定している限りにおいて、マスク内の輝度の分散が閾値Vよりも大きくない場合には、エッジがマスク内に存在しないといえる。このことはマスクの広さに関わらず真理である。
【0024】
ただし、パターン78の文字の輪郭線を構成し得るエッジを内包している右側のスモールマスク内の輝度の分散(5589)は、文字の輪郭線を構成し得るエッジを内包していない左側のスモールマスク内の輝度の分散(14222)よりも小さい。パターン78においては、網点によって巨視的な輝度が表現されている。パターン78における輪郭線は5列と6列の間を垂直方向に延びる直線である。この輪郭線の左側が網点の配列密度が50%である淡色領域であり右側が網点の配列密度が100%である濃色領域である。すなわち、網点の配列密度によって局所的な輝度が表現されている場合を含めて考えると、文字の輪郭線を構成し得るエッジを内包するマスク内の輝度の分散が文字の輪郭線に構成し得るエッジを内包しないマスク内の輝度の分散よりも大きくなるとはいえない。
【0025】
また、パターン3のスモールマスク、ミドルマスク、ラージマスクのいずれも文字の輪郭線を構成し得るエッジを内包しているが、スモールマスク内の輝度の分散は12800、ミドルマスク内の輝度の分散は13824、ラージマスク内の輝度の分散は14106である。すなわちパターン3においては文字の輪郭線を構成し得るエッジを内包するマスクの面積が大きくなるほどマスク内の輝度の分散は大きくなる。一方、パターン6においても、スモールマスク、ミドルマスク、ラージマスクのいずれも文字の輪郭線を構成し得るエッジを内包しているが、スモールマスク内の輝度の分散は9956、ミドルマスク内の輝度の分散は7741、ラージマスク内の輝度の分散は6189である。すなわちパターン6においては、パターン3とは逆に、文字の輪郭線を構成し得るエッジを内包するマスクの面積が大きくなるほどマスク内の輝度の分散は小さくなる。このように、文字の輪郭線に構成し得るエッジを内包するマスクの面積とマスク内の輝度の分散とは必ずしも相関しない。
【0026】
パターン9、11、79のスモールマスク内に存在する濃色画素(輝度10の画素)は一般条件下では文字の輪郭線を構成し得ないノイズ画素である。例えばパターン9に存在する濃色画素は用紙に混入している濃色微粒子に対応し、パターン11に存在する濃色画素は巨視的な階調を表現するための網点である。しかし、文字の輪郭線を構成し得るエッジを内包するパターン6、7のスモールマスク内の輝度の分散(9956、5689)よりも、ノイズ画素のみを内包するパターン9、11のスモールマスク内の輝度の分散(12800、10800)は大きい。すなわち、マスク内の輝度の分散が適切な閾値Vより大きくないことをもって、文字の輪郭線を構成し得るエッジがマスク内に存在しないとはいえても、マスク内の輝度の分散が適切な閾値Vより大きいことをもっては、文字の輪郭線を構成し得るエッジがマスク内に存在するとはいえない。したがって、マスク内の輝度の分散の大きさだけではノイズ画素がマスク内にあるのか文字の輪郭線を構成し得るエッジ画素がマスク内にあるのかを判定できない。しかし、マスク内の輝度の分散の大きさによってノイズ画素または文字の輪郭線を構成し得るエッジがマスク内にあることは特定できる。すなわち、ノイズ画素がマスク内に存在しないことが保証されているのであれば、マスク内の輝度の分散が適切な閾値Vより大きいことを持って当該マスク内に文字を構成し得るエッジが存在することを特定できる。
【0027】
そこで次に、ノイズ画素がマスク内に存在しないことを保証する方法について述べる。
ノイズ画素はパターン9、79に示すように孤立している確率が高い。相対的に狭いマスク内にはノイズ画素が存在し、相対的に広いマスク内の相対的に狭いマスク外にはノイズ画素が存在しない場合、マスクが広くなるほどマスク内の輝度の分散は小さくなる。したがって、相対的に狭いマスク内の輝度の分散の大きさによってノイズ画素または文字の輪郭線を構成し得るエッジがマスク内にあると特定できていれば、相対的に狭いマスクを含む相対的に広いマスク内の輝度の分散の大きさが第二の閾値よりも大きいことをもって、相対的に狭いマスク内にノイズ画素が存在しないといえる。すなわち、相対的に狭いマスク内の輝度の分散が第一の閾値より大きく、かつ、相対的に広いマスク内の輝度の分散が第二の閾値より大きいときには、相対的に狭いマスク内の輝度の分散が第一の閾値より大きく、かつ、相対的に広いマスク内の輝度の分散が第二の閾値より大きくないときに比べて、相対的に狭いマスク内にノイズ画素が存在せず且つ文字の輪郭線を構成し得るエッジが存在する確率は高くなる。この確率は第二の閾値が大きいほど高くなる。ただし、第二の閾値は、任意のパターンにおいて、文字の輪郭線を構成し得るエッジが存在する相対的に狭いマスクを含む相対的に広いマスク内の輝度の分散よりも小さくなければならない。
【0028】
次に、相対的に狭いマスク内の輝度の分散と比較される第一の閾値をVS、相対的に広いマスク内の輝度の分散と比較される第二の閾値をVLとし、それぞれの閾値に適切な値を設定する方法について述べる。
【0029】
文字の輪郭線を構成し得るエッジが存在するパターン7のラージマスク内の輝度の分散と、文字の輪郭線を構成し得ないノイズ画素のみが存在するパターン9のラージマスク内の輝度の分散は、ともに3311で等しい。したがって、パターン7のラージマスク内にノイズ画素が存在しないことを3311以上の閾値VLによって判定すれば、文字の輪郭線を構成し得るエッジを構成するパターン7の中心画素をエッジ画素として検出できない。また、パターン7のラージマスク内にノイズ画素が存在しないことを3311未満の閾値VLによって判定すれば、文字の輪郭線を構成し得るエッジ画素とノイズ画素とを判別することができない。すなわち、2つの閾値VL、VSによってはパターン7の中心画素を、ノイズ画素ではないが文字の輪郭線を構成し得るエッジ画素として検出することは不可能である。
【0030】
しかしながら、一般条件下で通常用いられる範囲で比較的小さな文字についてOCRが可能な解像度において、文字の要素は、1画素のみで構成されることはなく、配列が空間的に連続する複数の画素によって構成される。例えば600dpiの解像度で読み取られた画像データの1画素は一辺が約0.042mmの正方形領域に相当する。一般条件下で通常用いられる範囲で最小程度の文字であっても、その点要素(例えばアルファベットiを構成する上方の点)の垂直、水平、斜め45度方向の長さのうちで最長の長さが0.3mmを下回ることはまずないから、600dpiの解像度で読み取られた文字の点要素は7画素以上(300dpiなら3画素以上、200dpiなら2画素以上)が空間的に連続して存在するとみなしても確率的に問題はない。そして、OCRによる文字認識を成功させるためにエッジ解析処理に求められる条件は、OCRのパターンマッチングにおいて点要素としてみなされる画素群の最小数が空間的に連続した配列でエッジ画素として検出されることである。したがって、OCRを目的とするエッジ解析処理では、OCRのパターンマッチングにおいて文字の点要素としてみなされる画素集団の最小数をエッジ画素として検出できればよいのであって、空間的に配列が連続している真のエッジ画素群のうちの端に位置するエッジ画素を検出できなくても問題は生じない。
【0031】
そこで、文字の輪郭線を構成し得る5つの濃色画素が水平方向に連続して配列されているパターン8の右端の濃色画素はエッジ画素として検出しないでもよいとする。水平方向に連続して配列されている5つの濃色画素群の右端から2番目の濃色画素を中心とするラージマスクの分散は5278である。したがって、ラージマスク内の輝度の分散と比較される閾値VLを3311≦VL<5278を満たす範囲で設定すれば、パターン9のスモールマスク内に文字の輪郭線を構成し得るエッジがないと判定する一方で、パターン8のスモールマスク内に文字の輪郭線を構成し得るエッジを検出することができる。
【0032】
すなわち、相対的に広いマスク内の輝度の分散と比較される閾値VLは、空間的に連続して配列され文字の輪郭線を構成し得る真のエッジ画素群のうちの少なくともいずれか1つが当該マスクの中心に位置する任意のパターンに対する当該マスク内の輝度の分散の統計的な下限より小さい範囲においてなるべく大きな値に設定すればよい。
【0033】
ここで閾値VLを4000、閾値VSを5000、9000、12000と設定し、ラージマスク内の輝度の分散VLが閾値VLより大きく、ラージマスクと中心が一致するスモールマスク内の輝度の分散VSが閾値VSより大きいときに、スモールマスク内にエッジ画素が存在すると判定した結果を図23に示す。エッジ画素が存在すると判定したパターンは「E」によって表されている。
【0034】
パターン1−31、79のうち、明らかに誤判定といえるパターンの数は閾値VSが大きいほど少ない。閾値VSが12000の場合に誤判定されるのはパターン6,7,17,23,29,31である。これらのパターンのうち、パターン6,7に対する判定結果は既に述べたとおりOCRを目的とする限りにおいて問題がない。パターン23に対する判定結果も、左上から右下に延びる方向にエッジ画素を空間的に連続して検出できるため、OCRを目的とする限りにおいて問題がない。
【0035】
パターン17は相対的に狭いスモールマスク内にはノイズ画素が存在し、相対的に広いミドルマスク内の相対的に狭いスモールマスク外にはノイズ画素が存在しないパターンである。そこで、ラージマスクおよびミドルマスクを使った二段階の判定によってノイズ画素がマスク内に存在しないことを保証するため、閾値VLを4000、閾値VMを7000、閾値VSを12000とし、ラージマスク内の輝度の分散VLが閾値VLより大きく、ミディアムマスク内の輝度の分散VMが閾値VMより大きく、かつ、スモールマスク内の輝度の分散VSが閾値VSより大きい場合にスモールマスク内にエッジ画素が存在すると判定した結果を図23に示す。すると、パターン17について正しい判定結果が得られ、誤判定されるパターンの数が減少する。すなわち、面積が異なる2種類以上のマスクを用いてノイズ画素が存在しないことを保証した上で、それらのマスクよりも小さなマスクを用いてエッジ画素を検出することにより、エッジ画素の検出精度が高まる。
【0036】
これまで、マスク内にエッジ画素があることを検出することについて説明してきた。しかし、マスク内の輝度の分散を指標とする限り、複数の画素を含むマスク内のどこかにエッジ画素があることを検出できるとしても、マスク内のどこにエッジ画素があるかを完全に特定することはできない。すなわち、マスク内の輝度の分散を指標とする限り、マスク内の特定の位置にエッジ画素があるとみなすことが必要である。マスク内のどこかに文字の輪郭線を構成し得るエッジ画素があること、すなわちマスク内に文字の輪郭線を構成し得るエッジがあることを検出できる精度は、文字の輪郭線がマスクを2等分する位置にあるときに最も高まる。したがって、マスク内に文字の輪郭線を構成し得るエッジがあることを検出した場合には、文字の輪郭線を構成し得るエッジ画素がマスクの中心にあるとみなすことが適切である。このようにマスクの中心にエッジ画素があるとみなす場合、そのエッジ画素が真のエッジ画素である確率はマスクの面積が小さいほど大きくなる。また最も狭いマスク内の輝度の分散が閾値より大きくなることを必要条件として垂直方向、水平方向、斜め45度方向のいずれかに延びる輪郭線を構成するエッジ画素を検出するならば、最も狭いマスクの垂直方向、水平方向、斜め45度方向の長さはそれぞれ3以上でなければならない。そこでエッジ画素を検出するために用いる相対的に最も小さいマスクは面積が9の正方形とすることが望ましい。
【0037】
一方、OCRを目的としてマスク内にノイズ画素がないことを判定するために用いるマスクは、ある程度までは広いほど判定精度が高まる。しかし、広すぎると分散の分布幅が小さくなり過ぎて判定精度が低くなるし、計算量が増大するために処理速度が低くなるという問題もある。したがって、OCRを目的としてマスク内にノイズ画素がないことを判定するために用いるマスクは一辺の長さが5〜11画素程度の正方形とすることが好ましい。
【0038】
一般条件下で通常用いられる文字の輪郭線は巨視的にはシャープである。しかし、インクの滲みやかすれがある原稿から光学的に読み取られた文字の輪郭線には、輪郭線を横切る方向に段階的に輝度が変化する特徴がある。すなわち、このような文字の輪郭線は微視的にはぼやけている。そこで、上述した方法によって輪郭線を横切る方向に段階的に輝度が変化する輪郭線を構成する画素をエッジ画素として検出できるかを検証する。パターン39−42、48−60はこのような輪郭線を含むパターンである。パターン39−42、48−60について、各パターンと中心が一致するラージマスク、ミドルマスク及びスモールマスク内の輝度の分散を図24に示す。図24に示すように、輪郭線がぼやけている場合、マスク内の分散は輪郭線がシャープである場合に比べて小さくなる。
【0039】
図24には、閾値VLを4000、閾値VMを3000、閾値VSを2000としてエッジ画素を検出した結果を示している。パターン43、61において、これらの閾値をラージマスク、ミドルマスクおよびスモールマスクのそれぞれに適用してエッジ画素を検出すると、「E」が付された画素がエッジ画素として検出される。すなわち、輪郭線を横切る方向に段階的に輝度が変化している場合であっても、上述した方法によって輪郭線を構成する画素をエッジ画素として検出することができる。
【0040】
2.エッジ画素の濃淡判定原理
エッジを構成している互いに隣り合う濃色領域と淡色領域の境界線が輪郭線であるから、エッジ画素が濃色領域、淡色領域のいずれに属するかを判定することによって輪郭線を抽出することが可能になる。そこで次にエッジ画素として検出された画素が隣り合う濃色領域と淡色領域のいずれに属するかを判定する方法について述べる。
【0041】
OCRを目的とするエッジ解析においてパターン43から抽出すべき輪郭線は水平方向に延びる2本の直線である。パターン43のように輪郭線を横切る方向に段階的に輝度が変化している場合、どの位置において輪郭線を抽出してもOCRの認識率に実質的な影響を与えない。ただし、輪郭線によって区画される2つの領域の一方に属するエッジ画素は全て濃色領域に属すると判定し、他方に属するエッジ画素は全て淡色領域に属するとの判定結果を得る必要がある。
【0042】
OCRを目的とするエッジ解析において抽出すべき輪郭線は、巨視的なコントラストが視認される濃色領域と淡色領域の境界線である。既に述べたとおり、巨視的なコントラストは、一般条件下で通常用いられる範囲で比較的小さな文字についてOCRが可能な解像度においては、2画素以上を含む局所領域の輝度の平均によって視認される。3画素以上を含む局所領域内の輝度の平均を輝度の指標とする場合、1つのノイズ画素が輝度の指標に与える影響は、他の2画素が輝度の指標に与える影響よりも小さくなる。すなわち、3画素以上を含む局所領域内の輝度の平均を輝度の指標とする場合、1つのノイズ画素が輝度の指標に与える影響は、1画素の輝度を輝度の指標とする場合に比べて抑圧される。また、輪郭線と平行な方向に長い扁平な局所領域では輝度のコントラストおよび分散が小さくなる。輪郭線と垂直な方向に長い扁平な領域では輝度のコントラストおよび分散が大きくなる。したがって、扁平な局所領域の輝度の平均を輝度の指標としても、輪郭線の両側に位置し輪郭線と平行な方向に長い2つの扁平な局所領域の平均同士の差の絶対値は、輪郭線において互いに接する2画素の輝度差の絶対値に比べて実質的に小さくならない。そこで3画素以上を含む局所領域の輝度の平均同士の差を指標とし、その指標と閾値との比較によってエッジ画素が濃色領域、淡色領域のいずれに属するかを判定する。具体的には次の通りである。
【0043】
パターン44に示すようにミディアムマスク内に水平方向に長い扁平な3(画素)×1(画素)の水平型サブマスクを設定する。このような水平型サブマスクはミディアムマスク内の15箇所に設定可能である。これら15個の水平型サブマスクをHM(kは0以上14以下の整数)と表記し、添え字kとミディアムマスク内の位置関係はパターン44の各画素に表記された数字の通りとする。すなわち数字kが表記された画素を中心とする水平型サブマスクをHMと表記する。そして、HM内の輝度の平均をHAと表記する。また、ミディアムマスクと中心が一致するHMを水平型センターサブマスクというものとする。
【0044】
また、パターン62に示すようにミディアムマスク内に垂直方向に長い扁平な1(画素)×3(画素)の垂直型サブマスクを設定する。このような垂直型サブマスクはマスク内の15箇所に設定可能である。これら15個の垂直型サブマスクをVM(kは0以上14以下の整数)と表記し、添え字kとマスク内の位置関係はパターン62の各画素に表記された数字の通りとする。すなわち数字kが表記された画素を中心とする垂直型サブマスクをVMと表記する。そして、VM内の輝度の平均をVAと表記する。また、ミディアムマスクと中心が一致するVMを垂直型センターサブマスクというものとする。
【0045】
エッジ画素を中心とする1つのミディアムマスク内において、水平型センターサブマスク内の輝度の平均HAと他の水平型サブマスク内の輝度の平均HAとを比較し、その差の絶対値が最大になる水平型サブマスクHM(nは1以上14以下の整数)を特定する。そして、水平型センターサブマスク内の輝度の平均HAと水平型サブマスクHM内の輝度の平均HAとの差HD=HA−HAを求める。
【0046】
また当該ミディアムマスク内において、垂直型センターサブマスク内の輝度の平均VAと他の垂直型サブマスク内の輝度の平均VAとを比較し、その差の絶対値が最大になる垂直型サブマスクVM(nは1以上14以下の整数)を特定する。そして、垂直型センターサブマスク内の輝度の平均VAと垂直型サブマスクVM内の輝度の平均VAとの差VD=VA−VAを求める。
【0047】
さらに、HDの絶対値とVDの絶対値とを比較し、絶対値が大きい方を指標Dとする。ミディアムマスク内において輪郭線が水平方向に延びている場合、指標DはHDとなる。ミディアムマスク内において輪郭線が垂直方向に延びている場合、指標DはVDとなる。そして、Dを閾値B及び閾値Wと比較する。閾値Bはミディアムマスクの中心に位置するエッジ画素が濃色領域に属すると判定するための閾値であってB≦0を満たす定数である。閾値Wはミディアムマスクの中心に位置するエッジ画素が淡色領域に属すると判定するための閾値であってW≧0を満たす定数である。そして、A−A<Bである場合にはエッジ画素を濃色領域に属するエッジ画素と判定し、A−A>Wである場合にはエッジ画素を淡色領域に属するエッジ画素と判定する。
【0048】
パターン44−46、62−70、74−76には指標Dに対応するセンターサブマスクMとサブマスクMとがミディアムマスク内に示されている。図25はパターン44−46、62−70について判定結果を示している。閾値B、Wの絶対値を小さくするほど、エッジ画素が淡色領域、濃色領域のいずれかに属すると判定される確率は大きくなる。輪郭線を抽出するためには、淡色領域に属するエッジ画素と濃色領域に属するエッジ画素との境界を特定しなければならない。したがって、淡色領域、濃色領域のいずれかに属すると判定されるエッジ画素の数が多いほど、輪郭線を抽出するために属している領域を判定しなければならないエッジ画素の数が増える。すなわち、淡色領域に属するエッジ画素と濃色領域に属するエッジ画素との境界を輪郭線として抽出する処理を考慮すると、淡色領域、濃色領域のいずれかに属すると判定されるエッジ画素の数を少なくするために閾値B,Wの絶対値は大きい方が望ましい。しかし、閾値B、Wの絶対値を大きくすると、抽出すべき輪郭線に接するエッジ画素が淡色領域、濃色領域のいずれにも属さないと判定される確率が大きくなる。例えばパターン45の5行目に並ぶエッジ画素は、W=150、B=−150の条件では淡色領域、濃色領域のいずれにも属さないと判定される。その結果、4行目と5行目の間または5行目と6行目の間において抽出されなければならない輪郭線を抽出することが不可能または困難になる。
【0049】
W=100、B=100の条件においてパターン43のエッジ画素の濃淡を判定した結果をパターン47に、パターン61のエッジ画素の濃淡を判定した結果をパターン77に示す。パターン47、77において、ハッチングが付されている画素はもともとエッジ画素が検出されていない画素と濃色領域、淡色領域いずれにも属さないと判定された画素とを示し、黒い画素は濃色領域に属すると判定されたエッジ画素を示し、白い画素は淡色領域に属すると判定されたエッジ画素を示している。淡色領域に属するエッジ画素と濃色領域に属するエッジ画素との間において輪郭線を抽出すると、パターン47においては1行目と2行目の間を水平方向に延びる直線と5行目と6行目との間を水平方向に延びる直線とが輪郭線として抽出される。パターン77においては左上から右下に斜め45度方向に延びる曲線が輪郭線として抽出される。
【0050】
パターン77において抽出される輪郭線は4列目の画素において屈曲している。これはパターン61に示すように4行4列目のノイズ画素がエッジ画素として検出された影響である。しかし、パターン77において抽出される輪郭線は空間的に連続した1本のみである。したがってパターン77において抽出される輪郭線に基づいてOCRのパターンマッチングを行ったとしても、認識率には実質的に影響しない。
【0051】
ここでパターン61に示すように4行4列目のノイズ画素がエッジ画素として検出されている場合において、仮に従来の一般的な方法通りに画素単位でエッジ画素と隣接画素との輝度差を求め、その輝度差を指標としてエッジ画素が属する領域を判定するとする。この場合、ノイズ画素を中心にして連続する3つのエッジ画素の判定結果が、濃色領域、淡色領域、濃色領域あるいは淡色領域、濃色領域、淡色領域というように2度反転する確率が高いため、ノイズ画素の周囲において輪郭線を二重に抽出する確率が高くなる。これに対し、既に述べてきた方法によれば、エッジ画素とその隣接画素を含むセンターサブマスクにおいても、他のサブマスクにおいてもノイズ画素がサブマスク内の輝度の平均に与える影響が抑圧されている。このため、ノイズ画素を中心として連続する3つのエッジ画素の判定結果が、濃色領域、淡色領域、濃色領域あるいは淡色領域、濃色領域、淡色領域というように2度反転する確率が小さい。したがって、既に述べた判定方法によれば、ノイズ画素の周囲において輪郭線を二重に抽出する確率が低くなる。
【0052】
また、5(画素)×5(画素)のミディアムマスク内においては、その中心に位置する判定対象のエッジ画素と隣接しない複数の局所領域の輝度を、判定対象のエッジ画素を含む局所領域の輝度と比較することができる。したがって、輪郭線を横切る方向に段階的に輝度が変化していることによって、隣接画素同士の輝度差が比較的小さい場合であっても、判定対象のエッジ画素と隣接しないいずれかの局所領域の輝度と判定対象のエッジ画素を含む局所領域の輝度との差は、当該エッジ画素が属する領域が濃色領域であるか淡色領域であるかを正しく判定できる程度に大きくなる。また、判定対象のエッジ画素と隣接しない複数の局所領域の全てにノイズ画素が含まれている確率は低いため、判定対象のエッジ画素と隣接しない複数の局所領域の輝度と判定対象のエッジ画素を含む局所領域の輝度の差がノイズ画素の影響を受ける確率は低いといえる。すなわち、相対的に広いマスク内に当該マスクの中心画素を含まないサブマスクを複数設定できるように、相対的に広いマスクの面積とサブマスクの面積を設定することにより、エッジ画素が属する領域を判定する精度が高まる。具体的には、サブマスクの面積が例えば1であれば相対的に広いマスクの面積は9より大きく設定すればよい。
【0053】
さらに、この判定方法では、ノイズ画素をエッジ画素として誤検出する問題をほとんどの場合において解消できる。パターン29、31は図23において示したようにノイズ画素がエッジ画素として誤検出されてしまうパターンである。パターン32はVL=4000、VM=7000、VS=12000に閾値を設定してエッジ画素を検出した結果を示している。パターン32においてエッジ画素として検出される画素は「E」を付して示している。パターン38は、パターン32において検出されたエッジ画素について、W=100、B=100の閾値を設定し、パターン33−36に示すように垂直型サブマスクを用いてエッジ画素が濃色領域、淡色領域のいずれに属するかを判定した結果を示している。パターン38において、ハッチングが付されている画素はもともとエッジ画素が検出されていない画素と濃色領域、淡色領域いずれにも属さないと判定された画素とを示し、黒い画素は濃色領域に属すると判定されたエッジ画素を示し、白い画素は淡色領域に属すると判定されたエッジ画素を示している。淡色領域に属するエッジ画素と濃色領域に属するエッジ画素との間において輪郭線を抽出すると、パターン38においては5列目と6列目の間を垂直方向に延びる直線が輪郭線として抽出される。このように抽出される輪郭線は、パターン32における真の輪郭線である。
【0054】
なお、輪郭線が斜め45度方向に延びている場合、任意の垂直型サブマスク内の輝度の平均と垂直型センターサブマスク内の輝度の平均との差の絶対値の最大値と、任意の水平型サブマスク内の輝度の平均と水平型センターサブマスク内の輝度の平均との差の絶対値の最大値とは、ほぼ等しくなる。パターン73には斜め45度方向に長い扁平な2つの傾斜型サブマスクが示されている。このような傾斜型サブマスクを用いると、斜め方向に延びる輪郭線をより確実に抽出できる判定結果が得られる確率が高まる。パターン72には3(画素)×3(画素)の正方形のサブマスクが示されている。このようなサブマスクを用いると、輪郭線の屈曲部において真の輪郭線に対して忠実な輪郭線を抽出できる判定結果が得られる確率が高まる。また、垂直型、水平型、傾斜型、正方形といった複数のサブマスクを用いてエッジ画素が属する領域を総合判定することにより、判定精度を高めることができる。例えば、垂直型サブマスク、水平型サブマスク、正方形サブマスクのいずれか2つについて、センターサブマスクM内の輝度の平均AとサブマスクM内の輝度の平均Aの差D(D=A−A)が閾値Bより小さい場合にエッジ画素が濃色領域に属すると判定し、差Dが閾値Wより大きい場合にエッジ画素が淡色領域に属すると判定してもよい。
【0055】
3.画像解析装置の実施例
図26は上述した原理を用いた画像解析装置の一実施例を示すブロック図である。画像解析装置1は、CPU12,ROM11,RAM13,入出力機構(I/O)14およびハードディスク装置(HDD)17を備えるPC(Personal Computer)と、I/O14に接続されているマウス18、キーボード16、ディスプレイ15等の入出力装置を備える。HDD17にはスキャナドライバ10、エッジ解析プログラム20、OS(Operating System)等の各種のコンピュータプログラムが記憶されている。CPU12は、エッジ解析プログラム20を実行することにより、エッジ検出手段およびエッジ判定手段として機能する。エッジ解析プログラム20の処理対象となる画像データはI/O14に接続されるイメージスキャナ2によって原稿から読み取られる。イメージスキャナ2によって読み取られた画像データはスキャナドライバ10を実行するCPU12の制御によってRAM13に格納される。
【0056】
エッジ解析プログラム20はエッジ検出モジュール21、エッジ判定モジュール22等の複数のモジュールによって構成されている。エッジ検出モジュール21およびエッジ判定モジュール22は画像データを背景領域と文字領域とに分割する二値化のために各画素に次のフラグを設定する。各画素には濃色エッジ画素(濃色領域に属するエッジ画素)、淡色エッジ画素(淡色領域に属するエッジ画素)、非エッジ画素等のフラグのうちのいずれか1つが設定される。エッジ検出モジュール21は、注目画素を中心とし面積が互いに異なる複数のマスクにおいて、当該マスク内における輝度の分散が当該マスクに固有の閾値より大きい場合、注目画素をエッジ画素として検出するエッジ検出手段としてCPU12を機能させる。エッジ判定モジュール22は、エッジ画素を中心とし面積が9を越えるマスク内の任意の位置に設定されるサブマスク内における輝度の平均をA(kは非負整数)、前記エッジ画素を中心とするサブマスク内における輝度の平均をA、閾値BをB≦0である定数、閾値WをW≧0である定数とするとき、|A−A|が最大となるk=nについて、A−A<Bである場合にはエッジ画素を濃色領域に属するエッジ画素と判定し、A−A>Wである場合にはエッジ画素を淡色領域に属するエッジ画素と判定するエッジ判定手段としてCPU12を機能させる。
【0057】
4.画像解析方法の実施例
図27−31はエッジ検出手段およびエッジ判定手段としてのCPU12による画像解析方法、具体的にはエッジ解析方法を示すフローチャートである。
はじめに図27に示すエッジ検出について説明する。エッジ検出はエッジ検出モジュール21によって実行される。
【0058】
まず、処理対象となる画像データから1つの注目画素を選択する(ステップS10)。画像データはグレートーンの階調値を8ビットで画素毎に表しているデータである。ただし画像データは各画素の輝度(濃淡)を表す階調値が規則的に並んだデータであれば良く、例えばフルカラー画像データのGチャネルを処理対象の画像データとしても良い。注目画素の選択順は画像データ内での画素の配列順(アドレス順)に従えばよい。なお、ステップS10の実行に先立ち、処理対象の画像データから積分画像データを導出しておくことが望ましい。積分画像データを利用することによって注目画素毎に導出される分散の総計算量を低減することができる。
【0059】
次に、注目画素を中心とするラージマスク、ミディアムマスクおよびスモールマスク内の輝度の分散VL、VM、VSを導出し、VL、VM、VSと閾値VL、VM、VSとを比較し、VL>VLかつVM>VMかつVS>VSが満たされる場合に注目画素をエッジ画素として検出する(ステップS11−S17)。ラージマスクは注目画素を中心とし一辺の長さが7(画素)である正方形である。ミディアムマスクは注目画素を中心とし一辺の長さが5(画素)である正方形である。スモールマスクは注目画素を中心とし一辺の長さが3(画素)である正方形である。なお、エッジ画素の検出に用いる複数のマスクは面積が互いに異なるように設定すればよく、一辺の長さは3,5,7の組み合わせ以外にも、例えば3,5,11としてもよいし、3,7,11としてもよいし、画像データの解像度に応じて各マスクの面積を設定しても良い。例えば600dpiの解像度で読み取られた画像データに対しては一辺の長さがそれぞれ3,7,11であるスモールマスク、ミディアムマスク、ラージマスクを用い、200dpiで読み取られた画像データに対しては一辺の長さが3,5,7であるスモールマスク、ミディアムマスク、ラージマスクを用いても良い。またエッジ画素の検出に用いるマスクの数は3つに限らず、2つでもよいし、4つ以上でも良いし、画像データの解像度に応じてマスクの数を変更しても良い。たとえば600dpiで読み取られた画像データに対しては一辺の長さがそれぞれ3,5,7であるスモールマスク、ミディアムマスクおよびラージマスクを用い、200dpiで読み取られた画像データに対しては一辺の長さが3であるスモールマスクと一辺の長さが5であるミディアムマスクだけを用いても良い。またマスクの形状は正方形でなくても良いが、積分画像を利用して分散の計算を高速化するためにも正方形とすることが望ましい。閾値VL、VM、VSとしては、既に述べたように文字の輪郭線を構成するエッジ画素を検出するのに適切な値を定める。具体的には、閾値VL、VM、VSの値は、一般条件下で通常用いられる大きさの文字列に対するOCRの認識率が統計的に最大となるように定めればよい。
【0060】
ステップS11では注目画素を中心とするラージマスク内の輝度の分散を導出し、導出した分散をVLとする。すなわちラージマスク内に存在する注目画素とその48近傍画素の合計49個の画素の輝度の分散をVLとして導出する。
【0061】
ステップS12では分散VLと閾値VLとの大小を比較する。
分散VLが閾値VLより大きい場合、注目画素を中心とするミディアムマスク内の輝度の分散を導出し、導出した分散をVMとする。すなわちミディアムマスク内に存在する注目画素とその24近傍画素の合計25個の画素の輝度の分散をVMとして導出する(ステップS13)。
【0062】
ステップS14では分散VMと閾値VMとの大小を比較する。
分散VMが閾値VMより大きい場合、注目画素を中心とするスモールマスク内の輝度の分散を導出し、導出した分散をVSとする。すなわちスモールマスク内に存在する注目画素とその8近傍画素の合計9個の画素の輝度の分散をVSとして導出する(ステップS15)。
【0063】
ステップS16では分散VSと閾値VSとの大小を比較する。
分散VLが閾値VLより大きく、かつ、分散VMが閾値VMより大きく、かつ、分散VSが閾値VSより大きい場合、注目画素をエッジ画素として検出する(ステップS17)。すなわち、エッジ画素であることを示すフラグを注目画素に設定する。
【0064】
分散VLが閾値VL以下であるか、または、分散VMが閾値VM以下であるか、または、分散VSが閾値VS以下である場合、注目画素を非エッジ画素として検出する(ステップS19)。すなわち、エッジ画素ではないことを示すフラグ(例えば平面や網点であることを示すフラグ)を注目画素に設定する。相対的に広いマスク内にエッジ画素が無いことを先に検出しておけば、当該マスク内の領域を、コントラストが全くない平面領域、網点によって巨視的な階調が表現されている網点領域などとして判定することも可能になる。また統計的にエッジ画素の数は非エッジ画素の数よりも少ない確率が高いため、相対的に広いマスクから先に輝度の分散と閾値とを比較することによって、全体の計算量を低減することができる。
【0065】
ステップS18では、注目画素として選択すべき画素が残っているかを判定する。処理対象の画像データに注目画素として選択すべき画素が残っていれば、ステップS10の処理に戻る。注目画素として選択すべき画素がなくなると、エッジ検出を終了する。エッジ検出が終了するまでに、処理対象の画像データの各画素にはエッジ画素であることを示すフラグまたはエッジ画素でないことを示すフラグのいずれかが設定される。エッジ検出が終了するとエッジ判定を開始する。
【0066】
続いて図28に示すエッジ判定について説明する。エッジ判定はエッジ判定モジュール22によって実行される。
はじめに処理対象となる画像データから1つのエッジ画素を選択する(ステップS20)。すなわち既に述べたエッジ検出においてエッジ画素であることを示すフラグが設定されている画素の1つを注目するエッジ画素として選択する。なお、本実施例では画像データ全体のエッジ検出が終了した後にエッジ判定を開始しているが、エッジ画素を検出する度にエッジ判定を実行しても良い。この場合、図27に示すステップS17の処理の変わりに以下に述べるステップS21−27の処理を実行することになる。
【0067】
次にエッジ画素が淡色領域に属するエッジ画素(淡色エッジ画素)であるか濃色領域に属するエッジ画素(濃色エッジ画素)であるかを判定するための3つの指標HD、VD、SDを導出する(ステップS21,22,23)。指標HDは、エッジ画素を中心とするミディアムマスク内の任意の位置に設定される水平型サブマスク内における輝度の平均をHA(k=1,2・・・14)、エッジ画素を中心とする水平型サブマスク内における輝度の平均をHA、|HA−HA|が最大となるkをnとするとき、HA−HAの値である。指標VDは、エッジ画素を中心とするミディアムマスク内の任意の位置に設定される垂直型サブマスク内における輝度の平均をVA(k=1,2・・・14)、エッジ画素を中心とする垂直型サブマスク内における輝度の平均をVA、|VA−VA|が最大となるkをnとするとき、VA−VAの値である。指標SDは、エッジ画素を中心とするミディアムマスク内の任意の位置に設定される正方形サブマスク内における輝度の平均をSA(k=1,2・・・8)、エッジ画素を中心とする水平型サブマスク内における輝度の平均をSA、|SA−SA|が最大となるkをnとするとき、SA−SAの値である。なお、ミディアムマスクは一辺の長さが5(画素)の正方形であるが、複数のサブマスクを内部に設定するマスクとしては、1辺の長さが7(画素)である正方形のラージマスクを用いても良いし、エッジ検出で用いるマスクとは異なるマスクを用いても良い。
【0068】
ステップS24では閾値HD、VD、SDのそれぞれと閾値Wの大小を比較し、HD>W、VD>W、SD>Wのうちのいずれか2つ以上が満たされるか否かを判定する。閾値Wはミディアムマスクの中心に位置するエッジ画素が淡色領域に属すると判定するための閾値であってW≧0を満たす定数である。閾値Wの値は、一般条件下で通常用いられる大きさの文字列に対するOCRの認識率が統計的に最大となるように定めればよい。
【0069】
HD>W、VD>W、SD>Wのうちのいずれか2つ以上が満たされる場合、エッジ画素を淡色エッジ画素として検出する(ステップS25)。すなわち、淡色領域に属することを示すフラグを処理対象のエッジ画素に設定する。処理対象のエッジ画素が水平方向に延びる輪郭線に接する淡色領域(相対的に明るい領域)に属するエッジ画素である場合、HD>Wが満たされる。したがって、HD>Wが満たされる場合には、水平方向に延びる輪郭線に接する淡色領域に属することを示すフラグを処理対象のエッジ画素に設定しても良い。処理対象のエッジ画素が垂直方向に延びる輪郭線に接する淡色領域に属するエッジ画素である場合、VD>Wが満たされる。したがって、VD>Wが満たされる場合には、垂直方向に延びる輪郭線に接する淡色領域に属することを示すフラグを処理対象のエッジ画素に設定しても良い。またHD>W、VD>W、SD>Wのうちのいずれか2つ以上が満たされる場合、HD>W、VD>Wのいずれか一方は必ず満たされる。したがってHD>W、VD>Wのいずれか一方が満たされる場合、SD>Wが満たされるか否かに関わらず、淡色領域に属することを示すフラグを処理対象のエッジ画素に設定してもよい。
【0070】
ステップS26では閾値HD、VD、SDのそれぞれと閾値Bの大小を比較し、HD<B、VD<B、SD<Bのうちのいずれか2つ以上が満たされるか否かを判定する。閾値Bはミディアムマスクの中心に位置するエッジ画素が濃色領域に属すると判定するための閾値であってB≦0を満たす定数である。閾値Bの値は、一般条件下で通常用いられる大きさの文字列に対するOCRの認識率が統計的に最大となるように定めればよい。
【0071】
HD<B、VD<B、SD<Bのうちのいずれか2つ以上が満たされる場合、エッジ画素を濃色エッジ画素として検出する(ステップS27)。すなわち、濃色領域に属することを示すフラグを処理対象のエッジ画素に設定する。処理対象のエッジ画素が水平方向に延びる輪郭線に接する濃色領域(相対的に暗い領域)に属するエッジ画素である場合、HD<Bが満たされる。したがって、HD<Bが満たされる場合には、水平方向に延びる輪郭線に接する濃色領域に属することを示すフラグを処理対象のエッジ画素に設定しても良い。処理対象のエッジ画素が垂直方向に延びる輪郭線に接する濃色領域に属するエッジ画素である場合、VD<Bが満たされる。したがって、VD<Bが満たされる場合には、垂直方向に延びる輪郭線に接する濃色領域に属することを示すフラグを処理対象のエッジ画素に設定しても良い。またHD<B、VD<B、SD<Bのうちのいずれか2つ以上が満たされる場合、HD<B、VD<Bのいずれか一方は必ず満たされる。したがってHD<B、VD<Bのいずれか一方が満たされる場合、SD<Bが満たされるか否かに関わらず、濃色領域に属することを示すフラグを処理対象のエッジ画素に設定してもよい。
【0072】
ステップS28では、注目すべきエッジ画素が残っているかを判定する。処理対象の画像データに注目すべきエッジ画素が残っていれば、ステップS20の処理に戻る。注目すべきエッジ画素がなくなると、エッジ判定を終了する。エッジ判定が終了するまでに、処理対象の画像データのエッジ画素のうち濃色領域に属するエッジ画素のフラグは濃色領域に属するエッジ画素(濃色エッジ画素)であることを示すフラグに更新され、淡色領域に属するエッジ画素のフラグは淡色領域に属するエッジ画素(淡色エッジ画素)であることを示すフラグに更新される。なお、エッジ画素として検出される画素毎にエッジ判定を実行する場合、処理対象の画像データの各画素には濃色エッジ画素であることを示すフラグ、淡色エッジ画素であることを示すフラグまたはエッジ画素でないことを示すフラグ(平面や網点)のいずれかが設定される。すなわち、エッジ画素として検出される画素毎にエッジ判定を実行する場合、濃色領域にも淡色領域にも属さないエッジ画素にはエッジ画素であることを示すフラグが設定されない。
【0073】
図29、30、31はそれぞれ指標HD、VD、SDを導出する処理を詳細に示すフローチャートである。図29、30、31に示す処理は、サブマスクの形状と、ミディアムマスク内に設定されるサブマスクの数(カウンタkのカウントアップ閾値)が異なり、その他の点では実質的な差異はない。指標HDに用いる水平型サブマスクは水平方向に長い扁平な3(画素)×1(画素)の矩形であるが、5(画素)×1(画素)、5(画素)×3(画素)等に寸法を変更しても良い。指標VDに用いる垂直型サブマスクは垂直方向に長い扁平な1(画素)×3(画素)の矩形であるが、1(画素)×5(画素)、3(画素)×5(画素)等に寸法を変更しても良い。指標SDに用いる正方形サブマスクは3(画素)×3(画素)の正方形であるが、5(画素)×5(画素)等に寸法を変更しても良い。
指標HD、VD、SDを導出する処理のうち、図29に示す指標HDを導出する処理について以下詳細に述べる。
【0074】
まず、ミディアムマスクの中心を中心とする水平型センターサブマスクHM内の輝度の平均を導出し、導出した平均をHAとする(ステップS210)。すなわち処理対象としているエッジ画素とこれに水平方向において隣接している2つの画素を合わせた合計3つの画素の輝度の平均をHAとする。
【0075】
次にカウンタkを1に、指標HDを0に初期化する(ステップ211)。
次にk<15を満たしているかを判定し(ステップS212)、k<15を満たしている限り、ステップS213−217の処理を繰り返す。すなわちミディアムマスク内の水平型センターサブマスクHM以外の残り全ての水平型サブマスクHM内の輝度の平均を導出しながら、HDを更新していく。
【0076】
ステップS213では、水平型サブマスクHM内の輝度の平均を導出し、導出した平均をHAとする。
ステップS214では、HA−HAを導出し、その結果をHDとする。
【0077】
ステップS215では、HDの絶対値とHDの絶対値の大小を比較する。
HDの絶対値がHDの絶対値より大きい場合、HDをHDに更新する(ステップS216)。すなわち、最新のHDの絶対値がそれ以前のHDの絶対値の最大値である場合には、HDが最新のHDに更新される。したがってミディアムマスク内の水平型センターサブマスクHM以外の14個の水平型サブマスクHMについてステップS213−216の処理が繰り返された時点では、HA−HAが最大になるkをnとすると、HDの値はHA−HAの値と等しくなる。
【0078】
ステップS217では、カウンタkをインクリメントする。ステップS213−217の処理が14回繰り返され、カウンタkが15になると指標HDの導出処理が終了する。
【0079】
以上説明したエッジ検出及びエッジ判定を含むエッジ解析によって各画素に設定されたフラグは、OCRに用いることができる。例えばフラグに基づいて領域分割が実行される。そして文字要素を構成している領域と文字の背景を構成している領域とに画像データを二分する二値化が実行される。さらに文字要素を構成している領域を細線化する処理等が実行された後にパターンマッチングによって文字が認識される。
【0080】
4.他の実施形態
尚、本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えばOCR機能を備えるハンディタイプのイメージスキャナや、名刺読み取り専用のイメージスキャナに本発明を適用しても良い。このような場合、イメージスキャナのCPUによって実行されるファームウェアの一部として画像解析プログラムが実現される。またOCR以外の目的に本発明を適用しても良い。例えばハードコピーする文字の読みやすさを改善するために、文字の輪郭線をシャープにする補正の前処理として上述したエッジ解析を実施しても良い。
【符号の説明】
【0081】
1:画像解析装置、2:イメージスキャナ、10:スキャナドライバ、11:ROM、12:CPU、13:RAM、14:I/O、15:ディスプレイ、16:キーボード、17:HDD、18:マウス、20:エッジ解析プログラム、21:エッジ検出モジュール、22:エッジ判定モジュール

【特許請求の範囲】
【請求項1】
エッジ画素を中心とし面積が9を越えるマスク内の任意の位置に設定されるサブマスク内における輝度の平均をA(kは非負整数)、前記エッジ画素を中心とする前記サブマスク内における輝度の平均をA、閾値BをB≦0である定数、閾値WをW≧0である定数とするとき、|A−A|が最大となるk=nについて、A−A<Bである場合には前記エッジ画素を濃色領域に属するエッジ画素と判定し、A−A>Wである場合には前記エッジ画素を淡色領域に属するエッジ画素と判定するエッジ判定手段、
としてコンピュータを機能させる画像解析プログラム。
【請求項2】
前記サブマスクの面積は3以上である、
請求項1に記載の画像解析プログラム。
【請求項3】
前記エッジ判定手段は、扁平な矩形である扁平サブマスクを前記サブマスクとして用いる、
請求項1または2に記載の画像解析プログラム。
【請求項4】
前記エッジ判定手段は、垂直方向に長い前記扁平サブマスクである垂直型サブマスク、水平方向に長い前記扁平サブマスクである水平型サブマスクの少なくともいずれかにおいてA−A<Bが成り立つ場合には前記エッジ画素を濃色領域に属するエッジ画素と判定し、前記垂直型サブマスク、前記水平型サブマスクの少なくともいずれかにおいてA−A>Wが成り立つ場合には前記エッジ画素を淡色領域に属するエッジ画素と判定する、
請求項3に記載の画像解析プログラム。
【請求項5】
エッジ画素を中心とし面積が9を越えるマスク内の任意の位置に設定されるサブマスク内における輝度の平均をA(kは非負整数)、前記エッジ画素を中心とする前記サブマスク内における輝度の平均をA、閾値BをB≦0である定数、閾値WをW≧0である定数とするとき、|A−A|が最大となるk=nについて、A−A<Bである場合には前記エッジ画素を濃色領域に属するエッジ画素と判定し、A−A>Wである場合には前記エッジ画素を淡色領域に属するエッジ画素と判定するエッジ判定手段、
を備える画像解析装置。
【請求項6】
エッジ画素を中心とし面積が9を越えるマスク内の任意の位置に設定されるサブマスク内における輝度の平均をA(kは非負整数)、前記エッジ画素を中心とする前記サブマスク内における輝度の平均をA、閾値BをB≦0である定数、閾値WをW≧0である定数とするとき、|A−A|が最大となるk=nについて、A−A<Bである場合には前記エッジ画素を濃色領域に属するエッジ画素と判定し、A−A>Wである場合には前記エッジ画素を淡色領域に属するエッジ画素と判定する、
ことを含む画像解析方法。

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

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate


【公開番号】特開2010−198538(P2010−198538A)
【公開日】平成22年9月9日(2010.9.9)
【国際特許分類】
【出願番号】特願2009−45382(P2009−45382)
【出願日】平成21年2月27日(2009.2.27)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】