(57)【特許請求の範囲】
【請求項１】
原画像から射影を取ることにより切出された画像ブロックのうち、文字画像を含む画像ブロックを抽出する画像ブロック抽出ステップと、
前記画像ブロック抽出ステップで抽出された画像ブロックについて、各画像ブロックの幅と基準文字サイズとに基づいて、線画像が含まれている可能性があるかどうか判断し、前記線画像が含まれている可能性があると判断された画像ブロックを注目画像ブロックとする判断ステップと、
前記判断ステップで判断された注目画像ブロック内の文字画像の傾きを求める傾き算出ステップと、
前記注目画像ブロックにおいて、前記傾き算出ステップで求めた傾きに沿った方向のヒストグラムを取るヒストグラム算出ステップと、
前記ヒストグラム算出ステップで算出したヒストグラムの頻度が所定の閾値以上であるピークの位置と幅とに基づいて、線画像の情報を抽出する線画像情報抽出ステップと、
前記線画像情報抽出ステップにより抽出された線画像の情報に基づいて、前記注目画像ブロックから該線画像を除去した画像情報を抽出する抽出ステップと
を有することを特徴とする画像処理方法。
【請求項２】
前記傾き算出ステップで求めた傾き角度をθとすると、前記ヒストグラム算出ステップでは、前記注目画像ブロックにおける前記傾きに沿った方向のヒストグラムを取る際、ヒストグラムを取る位置をｔａｎθ画素ごとに垂直方向１画素ずらしながら水平方向に黒画素のヒストグラムを取っていくことを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記線画像とは、傍線と囲み枠の枠線とのうち、少なくともいずれかを含むことを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記線画像とは、アンダーライン、オーバーラインの少なくともいずれかを含むことを特徴とする請求項１に記載の画像処理方法。
【請求項５】
前記抽出ステップで抽出した画像情報を文字単位に分割する分割ステップを更に有することを特徴とする請求項１に記載の画像処理方法。
【請求項６】
前記線画像情報抽出ステップでは、前記線画像の情報として、該線画像の幅、傾き、位置に係る情報を抽出し、
前記抽出ステップでは、該取得した線画像の幅、傾き、位置に係る情報に基づいて前記画像から該線画像を除去した画像情報を抽出することを特徴とする請求項１に記載の画像処理方法。
【請求項７】
前記抽出ステップで抽出された画像情報に対して、再度、前記ヒストグラム算出ステップと前記線画像情報抽出ステップと前記抽出ステップとによる処理を実施することを特徴とする請求項１に記載の画像処理方法。
【請求項８】
更に、前記抽出ステップで抽出した画像情報に対して、文字認識処理を行って認識結果の文字コードを得る文字認識処理ステップを有することを特徴とする請求項１に記載の画像処理方法。
【請求項９】
更に、前記文字認識ステップでは、前記線画像が含まれていると判定された画像から前記抽出ステップで該線画像を除去した画像情報に対して、文字認識処理を行って得た認識結果に、該線情報に係る属性を付加して記憶することを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
更に、前記文字認識ステップでは、文字認識処理を行って得た認識結果の文字コード列に、該線情報に関するコードを挿入して記憶することを特徴とする請求項８に記載の画像処理方法。
【請求項１１】
前記傾き算出ステップでは、前記画像内で所定の間隔を空けて２つの小領域を設定し、各小領域で射影を求め、該各小領域の射影間のずれと該所定の間隔とに基づいて、傾きを求めることを特徴とする請求項１に記載の画像処理方法。
【請求項１２】
原画像から射影を取ることにより切出された画像ブロックのうち、文字画像を含む画像ブロックを抽出する画像ブロック抽出手段と、
前記画像ブロック抽出手段で抽出された画像ブロックについて、各画像ブロックの幅と基準文字サイズとに基づいて、線画像が含まれている可能性があるかどうか判断し、前記線画像が含まれている可能性があると判断された画像ブロックを注目画像ブロックとする判断手段と、
前記判断手段で判断された注目画像ブロック内の文字画像の傾きを求める傾き算出手段と、
前記注目画像ブロックにおいて、前記傾き算出手段で求めた傾きに沿った方向のヒストグラムを取るヒストグラム算出手段と、
前記ヒストグラム算出手段で算出したヒストグラムの頻度が所定の閾値以上であるピークの位置と幅とに基づいて、線画像の情報を抽出する線画像情報抽出手段と、
前記線画像情報抽出手段により抽出された線画像の情報に基づいて、前記注目画像ブロックから該線画像を除去した画像情報を抽出する抽出手段と
を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、アンダーラインや囲み枠等の傍線を含んだ文書画像の文字を正しく、文字単位で切り出すことのできる画像処理方法および画像処理装置に関するものである。
【０００２】
【従来の技術】
従来のＯＣＲで行なわれる認識処理の一例を図２６に示す。
【０００３】
まず、Ｓ２６０１でイメージスキャナ等を用いるなどして文書画像を入力する。
【０００４】
次に、Ｓ２６０２において、入力された文書画像から画像ブロックの抽出を行なう。射影を用いた画像ブロック取り出しの例を横書き文書で示すと、図２７にあるように、左右方向に射影２７０１を取り、行を抽出後、各行に対し行方向と直角に射影２７０２を取ることで画像ブロック２６０３を抽出することができる。
【０００５】
このままでは、１文字が誤って２以上のブロックに分離されてしまった分離ブロック２７０５、２以上の文字が誤って１ブロックとして結合して抽出されてしまった結合ブロック２７０６が存在するため、Ｓ２６０３各行で画像ブロックの幅の平均や、画像ブロックの幅の分布でもっとも頻度が大きいものなどから基準文字サイズを求め、Ｓ２６０４で複数の画像ブロックを結合した時、その幅が基準文字サイズになるならそれらを結合し、画像ブロックが基準文字サイズの整数倍になっていれば、整数等分して文字単位の画像ブロックを決定する。抽出された画像ブロックは、Ｓ２６０５で画像ブロックの位置，幅，高さに関わる情報を記憶しておく。
【０００６】
その後、Ｓ２６０６で各文字画像ブロックについて識別演算を行ない、類似度がもっとも大きいカテゴリ（文字）を認識結果とする。結果は、Ｓ２６０７で記憶しておく。
【０００７】
縦書きの文書についても横と縦を入れ替えるだけで、同様に認識処理が行なわれる。
【０００８】
このように、ＯＣＲは識別演算を文字単位で行なうため、画像入力後、文字切り出しを行なうように構成されている。
【０００９】
【発明が解決しようとする課題】
しかしながら、上記従来例において傍線を含んだ画像ブロックが存在する場合、特に図５にあるような線と文字とが接触している場合、５０１のように、それらが１つの画像ブロックとして取り出されるため、文字画像を正しく切り出せない欠点があった。
【００１０】
また、上記従来の文字認識における文字切り出し方法で図１７のように囲み枠で囲まれた文字を含む場合、１７０１のように囲み枠文字は１つの画像ブロックとして抽出される為、文字単位で画像を正しく切り出せないという欠点があった。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、本発明の画像処理方法は、原画像から射影を取ることにより切出された画像ブロックのうち、文字画像を含む画像ブロックを抽出する画像ブロック抽出ステップと、前記画像ブロック抽出ステップで抽出された画像ブロックについて、各画像ブロックの幅と基準文字サイズとに基づいて、線画像が含まれている可能性があるかどうか判断し、前記線画像が含まれている可能性があると判断された画像ブロックを注目画像ブロックとする判断ステップと、前記判断ステップで判断された注目画像ブロック内の文字画像の傾きを求める傾き算出ステップと、前記注目画像ブロックにおいて、前記傾き算出ステップで求めた傾きに沿った方向のヒストグラムを取るヒストグラム算出ステップと、前記ヒストグラム算出ステップで算出したヒストグラムの頻度が所定の閾値以上であるピークの位置と幅とに基づいて、線画像の情報を抽出する線画像情報抽出ステップと、前記線画像情報抽出ステップにより抽出された線画像の情報に基づいて、前記注目画像ブロックから該線画像を除去した画像情報を抽出する抽出ステップとを有する。
【００１２】
上記課題を解決するために、本発明の画像処理装置は、原画像から射影を取ることにより切出された画像ブロックのうち、文字画像を含む画像ブロックを抽出する画像ブロック抽出手段と、前記画像ブロック抽出手段で抽出された画像ブロックについて、各画像ブロックの幅と基準文字サイズとに基づいて、線画像が含まれている可能性があるかどうか判断し、前記線画像が含まれている可能性があると判断された画像ブロックを注目画像ブロックとする判断手段と、前記判断手段で判断された注目画像ブロック内の文字画像の傾きを求める傾き算出手段と、前記注目画像ブロックにおいて、前記傾き算出手段で求めた傾きに沿った方向のヒストグラムを取るヒストグラム算出手段と、前記ヒストグラム算出手段で算出したヒストグラムの頻度が所定の閾値以上であるピークの位置と幅とに基づいて、線画像の情報を抽出する線画像情報抽出手段と、前記線画像情報抽出手段により抽出された線画像の情報に基づいて、前記注目画像ブロックから該線画像を除去した画像情報を抽出する抽出手段とを有する。
【００２９】
【実施例】
（実施例１）
図１は本発明を実施するための文字認識装置の構成を示すブロック図である。１０１はＲＯＭ１０２に格納されている制御プログラムに従って本装置全体の制御を行うＣＰＵ、１０２はＣＰＵ１０１が実行する後述するフローチャートに示す処理など本装置の制御プログラムなどを格納するＲＯＭ、１０３は文書画像などを記憶するＲＡＭであり、１０４はディスプレイ、１０５はキーボードであり、このキーボード１０５より各種コマンドやディスプレイ１０４に表示された画像やテキストの編集を行う。１０６は原稿の文書画像を光学的に読み取るためのイメージスキャナである。
【００３０】
図１に示す構成の文字認識装置が実行する本実施例の概略を図２のフローチャートを用いて説明する。
【００３１】
まず、Ｓ２０１でイメージスキャナ１０６に設置された原稿の文書画像を入力し、ＲＡＭ１０３に格納する。ＲＡＭ１０３に格納された入力画像をディスプレイ１０４に表示するようにしてもよい。このディスプレイ１０４上で認識処理を行う認識枠が設定されたら、認識枠情報もＲＡＭ１０３に格納する。また、画像の入力はイメージスキャナに限らず、記憶装置（図示せず）から読み出しても、通信手段により他のコンピュータより送信されてきたものでも良い。
【００３２】
次に、Ｓ２０２において、ＲＡＭ１０３に格納されている入力された文書画像から画像ブロックの抽出を従来例のステップＳ１４０２と同様に行い、Ｓ２０３でステップＳ１４０３と同様に基準文字サイズを求める。Ｓ２０２及びＳ２０３で得た情報はＲＡＭ１０３に格納する。
【００３３】
ここで、Ｓ２０２で抽出された各画像ブロックに対し、Ｓ２０４で傍線を含むブロックかどうかの判定を各ブロックについて順次行なう。Ｓ２０５で注目ブロックが傍線を含むブロックなら、Ｓ２０６において、そのブロックから傍線を除いた画像を抽出し、新たな、傍線を含まない画像ブロックとする。
【００３４】
すべての画像ブロックの抽出が終了したら、Ｓ２０７において、Ｓ２０３で求め、ＲＡＭ１０３に格納された基準文字サイズを用いて抽出された画像ブロックを更に分割して文字単位の画像ブロックを決定する。Ｓ２０８では、抽出された文字単位の画像ブロック情報（基準座標，幅，高さ）をＲＡＭ１０３に文字単位で入力画像における位置情報や、出現順（出力順）の情報とともに格納し記憶しておく。Ｓ２０９では、格納された画像ブロック情報を１つずつ読みだし、各文字画像ブロックについてＲＯＭ１０２に格納されている文字パターンの辞書データとの識別演算を行ない、類似度がもっとも大きいカテゴリ（文字）を認識結果とする。結果は、Ｓ２１０でＲＡＭ１０３にその結果を得た文字画像の入力画像における位置情報とともに記憶しておく。認識結果をディスプレイ１０４に表示するようにしてもよい。また、Ｓ２１０では、類似度が最大の文字の他に、上位複数個の文字を候補文字として格納しても良い。
【００３５】
Ｓ２０４の傍線を含むブロックの判定について、図３のフローチャートを用いて詳細に説明を行なう。Ｓ３０１では、注目する画像ブロックの幅の基準文字サイズに対する比Ｒ＝（注目画像ブロックの幅）／（基準文字サイズ）を求める。Ｓ３０２では、あらかじめ設定された閾値ＴとＲを比較し、ＲがＴより大きければＳ３０３に進みそのブロックは傍線を含むブロックとし、ＲがＴより小さければＳ３０４に進みそのブロックは傍線を含まないブロックと判定する。通常傍線は複数文字にまたがって付けられるので、Ｔは２以上にする。また、行全体に傍線があり、画像ブロックの幅の平均や、画像ブロックの幅の分布から基準文字サイズが求められない行の場合は、Ｓ２０３において基準文字サイズを行の高さとしてもよい。Ｓ２０４においては、Ｓ２０２で抽出された全ての画像ブロックに対して図３のフローチャートに示す処理を施し、全てのブロックについて傍線ブロックであるか否かの識別情報を付加する。
【００３６】
Ｓ２０５において、Ｓ２０４で付加された傍線ブロックである旨を表わす識別情報が付加されている画像ブロックを判別し、Ｓ２０６の画像ブロックから傍線を除く処理へ進む。
【００３７】
Ｓ２０６の傍線を除いた画像ブロックの抽出について、図４のフローチャートを用いて詳細な説明を行なう。まず、Ｓ４０１で注目する傍線を含む画像ブロックから画像ブロックの抽出に必要な傍線の情報を抽出する。本実施例では、傍線の情報として、傍線の幅、傍線の傾き、傍線の位置を求めることにする。
【００３８】
傍線の傾きθは、図６にあるように、注目画像ブロックに適当な間隔Ｌをおいて２つの領域６０２を設定し、その領域における射影６０１を求め、射影のずれｄとＬより、ｔａｎθ＝ｄ／Ｌとして傾きθを得られる。この時求める射影は、左右方向に画素をサーチして１つでも黒画素があれば１とする、という方法をとる。また、間隔Ｌは、注目画像ブロックの幅により、幅より適度（例えば１／２文字幅）内側に寄った位置にとれるようにすれば良い。或いは、ブロックの幅が十分に大きければ（例えばＲ＝１０）、適度に定めたＬ（例えば基準文字サイズの２倍）を適当な位置に定めても良い。
【００３９】
傍線の位置とは、文字の下（アンダーライン）、上（オーバライン）あるいは上下両方のことである。傍線の位置を求めるためには、図７にあるように、角度θだけ傾いた注目画素ブロック７０１（ここでは「傍線」の２文字とアンダーラインを含む画像）について、１／ｔａｎθ画素毎に１画素ずつ上下にずらしながら、黒画素のヒストグラムを取る。この結果が図８である。ヒストグラムは例えばアンダーラインなら画像ブロックの下から高さの１／４まで、オーバラインなら画像ブロックの上から高さの１／４までに、多くの場合は存在する。画像ブロックの幅に対し、ヒストグラムの最大値が十分に大きければ（ブロックの幅により定める閾値ＨTHより大きければ）、その部分に傍線が存在すると判定し、その結果、ヒストグラムのＨTHを超える最大値（或いは次のピーク）が上から１／４にあればオーバーライン、下から１／４にあればアンダーラインと、傍線の位置を求めることができる。また、ヒストグラムをとる方法の他に、１／ｔａｎθ画素毎に１画素ずつずらしながら、黒画素の連続性を見ていき、画像ブロックの幅に対し十分に長い黒ランが存在する、あるいは、黒ランが途中で切れていても、切れた部分の幅が非常に狭く、その切れた部分は印刷の精度によるものであり、その部分がつながっていると判断される場合、それがその傍線画像ブロックの幅に対し十分に長いものを傍線と判定する方法もある。
【００４０】
傍線の幅Ｗは、図８に示すように、１／ｔａｎθ画素毎に１画素ずつずらしながら取られた傍線が存在する部分の黒画素のヒストグラムを取り、最も外側にあるピークを含む部分について、あらかじめ定めてある値ＨTH（例えばブロック幅の半分）より大きい頻度が出た部分の幅ｗにより得られる。この幅が小さめになるようであれば、傍線の幅をｗ＋αとしてもよい。
【００４１】
この結果、傍線の情報が得られなければ、Ｓ４０２で画像ブロック抽出処理を終了する。
【００４２】
傍線の情報が得られたら、Ｓ４０３で傍線を含まないように画像ブロックの抽出を行なう。従来例で説明したような上下方向の射影を用いて文字単位の画像ブロックを抽出する場合、図９にあるように、傍線の幅ｗを除き、しかも１／ｔａｎθ画素毎に１画素ずつずらしながら射影を取ることで射影９０１を抽出でき、その結果、「傍」と「線」が分割された、文字単位の画像ブロック９０２が得られる。Ｓ２０６においては、Ｓ２０５で傍線ブロックと判別される全てのブロックに対して図４のフローチャートに示す処理を順次繰り返して施す。
【００４３】
以上説明したように、傍線を含むと判定されたブロックに対し、傍線の情報を抽出し、情報が得られたものに対してのみ画像ブロックの抽出を行なうようにすることで、傍線ブロックの判定精度が高くなくても、傍線を含む画像ブロックから正しく文字画像を抽出する効果がある。
【００４４】
また、傍線の傾きを求めることで、傾きがある画像ブロックに対しても、精度良く文字画像を抽出する効果がある。
【００４５】
なお、本実施例では、本発明を実施するための最低限の構成要件で説明を行なっているが、例えばオペレータが認識領域を指定したり、認識結果を修正する操作ができるように構成されていたり、認識領域をオペレータが介在することなく自動的に決定したり、誤認識を減少させるための処理が加わるように構成されいても何ら問題ない。
【００４６】
また、本実施例では、横書きの文書について説明を行なっているが、縦書きについても行方向と列方向を変えるだけであり、同様に実施することができる。
【００４７】
また、汎用コンピュータに、本発明を実施する処理を行なうプログラムを外部から提供し、ＲＡＭに本装置の制御プログラムを格納するように構成されていてもよいし、記憶装置はＲＡＭに限定されるものでもない。
【００４８】
また、本実施例では、Ｓ２０４及びＳ２０６の処理を、全てのブロックに対して繰り返し行う例について説明したが、１つのブロックについてＳ２０４〜Ｓ２０６の処理を施した後、次のブロックについてＳ２０４〜Ｓ２０６を施すようにループを設定しても良い。
【００４９】
（実施例２）
図２のフローチャートにおいて、Ｓ２０４の傍線を含むブロックの判定とＳ２０６の傍線の画像ブロックの抽出の他の例について、図１０及び図１１を用いて説明する。なお、その他については実施例１と同様であり、説明は省略する。
【００５０】
Ｓ２０４の傍線を含むブロックの判定について、図１０のフローチャートを用いて説明を行なう。Ｓ１００１で上部の射影を取る。例えば、画像ブロックの上から高さの１／４までの射影を取ればよい。Ｓ１００２で上部の射影の頻度の最大幅Ｌ１を求める。Ｓ１００３で下部の射影を取り、Ｓ１００４で下部の射影の頻度の最大幅Ｌ２を求める。傍線があれば射影の幅は画像ブロックの幅に近い値になるので、画像ブロックの幅から得られる閾値をＬとすると、Ｓ１００５でＬ１＞ＬまたはＬ２＞Ｌなら傍線を含むと判定しＳ１００６に進み、そうでなければ傍線を含まないと判定しＳ１０１０に進む。画像ブロックの幅をＷとすると、Ｌ＝０．９×Ｗなどとすればよい。傍線を含むと判定した場合、Ｓ１００６で傍線の情報を抽出する。抽出の方法はＳ４０１と同様でよい。傍線の情報が抽出されなければ、Ｓ１０１０に進み、その画像ブロックは傍線を含まない画像ブロックとする。抽出された傍線の情報は、Ｓ１００８でＲＡＭ１０３に格納し記憶しておき、Ｓ１０００９で注目画像ブロックを傍線を含むブロックとし処理を終了する。なお、Ｌ１とＬ２を求める順序は逆でもよい。また、Ｓ１００６における傍線の情報を抽出する方法として、画像ブロックに対して、アンダーラインであれば下から、オーバラインであれば上から、Ｌの幅でラインにつきあたる点をサーチし、この点の差からｄを求め、θを導出する方法をとることにより、より素早い処理が実現する。
【００５１】
Ｓ２０６の傍線用の画像ブロックの抽出の他の方法について、図１１のフローチャートを用いて説明を行なう。Ｓ１１０１において、ＲＡＭ１０３に格納された傍線の情報を用いて、傍線を含まないように画像ブロックの抽出を行なう。抽出方法はＳ４０３と同様でよい。
【００５２】
以上説明したように、傍線を含むブロックの判定に、画像ブロックの局所的な射影を取り、その幅を用いることで、判定の精度が向上する効果がある。また、その時点で傍線の情報を抽出することで、傍線を含まない画像ブロックに対し、画像ブロックの抽出の処理を施し、無駄に処理時間を費やすことを防ぐ効果がある。
【００５３】
（実施例３）
図１に示す構成の文字認識装置が実行する他の実施例の処理の概略を図１２のフローチャートを用いて説明する。
【００５４】
Ｓ１２０１で文書画像を入力し、Ｓ１２０２において入力された文書画像から画像ブロックの抽出を行ない、Ｓ１２０３で基準文字サイズを求め、Ｓ１２０４で傍線を含むブロックかどうかの判定を行なう。Ｓ１２０５で注目ブロックが傍線を含むブロックなら、Ｓ１２０６において、傍線を除いた画像ブロックを抽出する。ここまでは、実施例１と同様であり、Ｓ２０１〜Ｓ２０６において詳細に説明しているので、ここでは詳細な説明は省略する。Ｓ１２０６で得られた画像ブロックがまだ傍線を含んでいる場合、Ｓ１２１１で再度傍線を除いた画像ブロックの抽出を行なうかどうかを調べ、行なうなら再びＳ１２０６を実行する。このＳ１２１１の判定方法はＳ１２０４と同様なものでよく、傍線抽出の前後で画像ブロックの横幅に変化がない場合にも、再度画像ブロックの抽出を行なうようにしてもよい。
【００５５】
すべての画像ブロックの抽出が終了したら、Ｓ１２０７で基準文字サイズを用いて文字単位の画像ブロックを決定し、Ｓ１２０８で抽出された画像ブロック情報を格納し、Ｓ１２０９で識別演算を行ない、Ｓ１２１０で結果を記憶する。このＳ１２０７〜Ｓ１２１０の処理は、Ｓ２０７〜Ｓ２１０と同様である。
【００５６】
以上説明したように、傍線を含む画像ブロックから、傍線を除いて画像ブロックを抽出した後、再び傍線を除いた画像ブロックの抽出を行なうかどうかの判定をすることで、２重や多重の傍線を含む画像ブロックや、部分的に多重になっている画像ブロックに対しても、文字画像ブロックを抽出することができる効果がある。
【００５７】
（実施例４）
図２のフローチャートにおけるＳ２１０の演算結果の格納について図１３を用いて説明する。図５の識別演算の結果が「これは傍線です」となったとすると、「傍」の前にアンダーライン開始の制御コードＵＩ１３０１、「線」の後ろにアンダーライン終了の制御コードＵＯ１３０２を図１３（ａ）のように入れＲＡＭ１０３に記憶する。ディスプレイ１０４上で傍線が表示可能であるならば、ＵＩからＵＯの文字にアンダーラインを引いて認識結果を表示する。同様に、オーバラインや多重線についても制御コードを定めておけばよい。
【００５８】
また、制御コードではなく、各文字に傍線に関する属性を持つようにすれば、「傍」「線」の属性をアンダーラインとして結果を図１３（ｂ）のように格納してもよい。
【００５９】
なお、結果のデータ構造は図１３に限定されるものではなく、これに候補文字などの情報が含まれていてもよい。
【００６０】
以上説明したように、傍線の付いた文字を記憶することで、入力画像の文字以外の情報を失うことなく再現することができる効果がある。
【００６１】
（実施例５）
上述の実施例１においては、図５のようなアンダーライン等の傍線が付された文字列を含む画像情報から正しく文字単位で切り出す方法について説明したが、本実施例では、図１７のように囲み枠により囲まれた文字列を含む画像から正しく文字単位で切り出す方法について説明する。
【００６２】
本実施例は、実施例１において図１を用いて詳細に説明した構成の文字認識装置で実施されるものである。
【００６３】
図１に示す構成の文字認識装置が実行する本実施例の概略を図１４のフローチャートを用いて説明する。ここで、本実施例の特徴的処理はＳ１４０１の囲み枠ブロックを見つける処理からＳ１４０３の囲み枠を除く処理までであり、ここではこの３ステップについて詳細に説明する。その他の、実施例１において説明した図２のフローチャートに示す処理と同じ処理ステップは同じステップ番号を付した。この処理に関してはここでは説明を省略する。
【００６４】
Ｓ２０３で抽出された各画像ブロックに対し、Ｓ１４０１で囲み枠を含むブロックかどうかの判定を各ブロックについて順次行なう。Ｓ１４０２で注目ブロックが囲み枠を含むブロックなら、Ｓ１４０３において、そのブロックの画像から囲み枠を除いた画像を抽出し、新たな、囲み枠を含まない画像ブロックとする。
【００６５】
Ｓ１４０１の囲み枠を含むブロックの判定について、図１５のフローチャートを用いて詳細に説明を行なう。Ｓ１５０１では、注目する画像ブロックの幅の基準文字サイズに対する比Ｒ＝（注目画像ブロックの幅）／（基準文字サイズ）を求める。Ｓ１５０２では、あらかじめ設定された閾値ＴとＲを比較し、ＲがＴより小さければＳ１５０３に進み、その枠は囲み枠を含まないブロックと判定する。ＲがＴより大きければ、Ｓ１５０４に進み、囲み枠ブロックであるか確認する処理に進む。Ｓ１５０４でその画像ブロックの上部の射影を取る。例えば、画像ブロックの上から高さの１／４までの射影を取ればよい。Ｓ１５０５でＳ１５０４でとった上部の射影の最大幅Ｌ１を求める。囲み枠があれば射影の幅は画像ブロックの幅に近い値になるので、Ｓ１５０６で画像ブロックの幅から得られる閾値をＬ（例えばブロック幅の０．９倍）とし、ＬとＬ１を比較する。Ｌ１＜Ｌならそのブロックは囲み枠ではないと判定しＳ１５０３に進む。同様に、Ｓ１５０７で下部の射影を取り、Ｓ１５０８で下部の射影の最大幅Ｌ２を求める。Ｓ１５０９でＬ２＜Ｌなら囲み枠でははないと判定しＳ１５０３に進み、そうでなければＳ１５１０に進み、囲み枠であると判定する。Ｓ１５０３及びＳ１５１０では、注目の画像ブロックに対して、囲み枠ブロックであるか否か判定し得る識別情報を付加してＲＡＭ１０３に格納する。なお、Ｌ１とＬ２の求める順序は逆でもよい。
【００６６】
Ｓ１４０３の囲み枠用の画像ブロックの抽出について、図１６のフローチャートを用いて詳細に説明を行なう。まず、Ｓ１６０１で注目する画像ブロックから画像ブロックの抽出に必要な囲み枠の情報を抽出する。本実施例では、囲み枠の線幅ｗ、囲み枠の傾きθを求めることにする。
【００６７】
囲み枠の傾きθは、図１８にあるように、注目画像ブロックに適当な間隔Ｌ（Ｌの設定方法は実施例１と同じ）をおいて２つの領域１８００を設定し、各領域の画像データについて射影１８０１を求め、射影のずれｄとＬより、ｔａｎθ＝ｄ／Ｌとしてθが得られる。精度良く求めるならば、射影の上下で傾きを求め、値が近ければその平均を注目画像ブロックの傾きとし、値が近くなければ、囲み枠でないとし、傾きの値を決定せず、Ｓ１６０２で囲み枠の情報が抽出できないとして、その画像ブロックに関しての図１６のフローチャートの処理を終了する。
【００６８】
囲み枠の線幅ｗは、図１９にあるように、注目画像ブロックについて、１／ｔａｎθ画素毎に１画素ずつ上下にずらしながら、黒画素のヒストグラムを取り、その画像ブロックの最も外側にあるピークを含む部分について、あらかじめ定めてある値ＨTHより大きい部分の幅ｗにより得られる。この幅が小さめになるようであれば、囲み枠の線幅をｗ＋αとしてもよい。囲み枠の上下で異なるようであれば、枠の線幅を上下両方求めておく。
【００６９】
囲み枠の情報がこの段階で得られなければＳ１６０２で囲み枠の情報が抽出できないとして、その注目画像ブロックに関しての図１６のフローチャートの画像ブロック抽出処理を終了する。Ｓ１６０１で抽出された囲み枠の傾きθ及び囲み枠の線幅ｗはその画像ブロックと関連づけてＲＡＭ１０３に格納する。
【００７０】
囲み枠の情報が得られたら、Ｓ１６０３で囲み枠を含まないように画像ブロックの抽出を行なう。従来例で説明したような上下方向での射影を用いて文字単位の画像ブロックを抽出する場合、図２０にあるように、囲み枠の線幅ｗを上下に含めず、しかも１／ｔａｎθ画素毎に１画素ずらしながら射影を取ることで射影２００１を抽出でき、その結果、画像ブロック２００２が得られる。得られたブロックのうち、左右の端のブロック２００３については、囲み枠の線幅ｗに近い幅であれば囲み枠の一部であるので、その左右端のブロックは文字画像ブロックとはしない。もし、注目画像ブロックの左右に囲み枠の線幅程度の幅を持つブロックが存在しなければ囲み枠を含む画像ブロックではないとする。
【００７１】
（実施例６）
Ｓ１４０１の囲み枠を含むブロックの判定とＳ１４０３の囲み枠の画像ブロックの抽出の他の実施例を説明する。なお、その他の処理ステップについては実施例１と同様であり、説明は省略する。
【００７２】
Ｓ１４０１の囲み枠を含むブロックの判定について、図２１のフローチャートを用いて説明を行なう。Ｓ２１０１では、注目する画像ブロックの幅の基準文字サイズに対する比Ｒを求める。Ｓ２１０２でＲがＴより小さければＳ２１０３に進み囲み枠を含まないブロックと判定する。ＲがＴより大きければ、次にＳ２１０４で注目画像ブロックの最も外側の境界線を追跡していく。境界線が許容範囲を越えたら、Ｓ２１０４で囲み枠ではないと判定しＳ２１０３に進む。許容範囲の例を図２２を用いて説明すると、ブロックの左半分において、境界線のｙ座標があらかじめ定めたｙ１とｙ２の間に存在する場合、ｘ座標があらかじめ定めたｘ１より右に存在すれば、境界線は囲み枠を追跡していないとし、許容範囲を越えたとする。ブロックの上半分なら、ｘ座標がｘ１とｘ２の間に存在する場合、ｙ座標がｙ１より下に存在すれば許容範囲を越えたとする。右半分や下半分についても同様である。
【００７３】
境界線が許容範囲を越えなければ、Ｓ２１０６に進み、囲み枠の情報を抽出する。抽出方法は、実施例５のＳ１６０１と同様でよい。もし、囲み枠の情報が抽出されなければ、Ｓ２１０７でＳ２１０３に進み判定を終了する。抽出された囲み枠の情報はＳ２１０８でＲＡＭ１０３に格納し記憶しておき、Ｓ２１０９に進み、囲み枠であると判定する。
【００７４】
Ｓ１４０３の囲み枠の画像ブロックの抽出について、図２３のフローチャートを用いて説明を行なう。Ｓ２３０１で格納された囲み枠の情報を用いて、囲み枠を含まないように画像ブロックの抽出を行なう。抽出方法は実施例１のＳ１６０３と同様でよい。
【００７５】
以上説明したように、囲み枠のブロックの判定に境界線を用いることで判定の精度が向上する効果がある。また、囲み枠のブロックの判定で囲み枠の情報を抽出するので、囲み枠ではない画像ブロックに対し、画像ブロックの抽出を行なうことを防ぐ効果がある。
【００７６】
（実施例７）
図１に示す構成の文字認識装置が実行する囲み枠を除いた文字単位の文字切り出しの実施例５とは異なる他の実施例の概略を図２４のフローチャートを用いて説明する。ただし実施例５の図１４のフローチャートに示した処理と同じ処理ステップには同じステップ番号を付し、ここでは説明を省略する。
【００７７】
本実施例における特徴的な処理ステップはＳ２４０１であり、Ｓ１４０３で得られた画像ブロックがまだ囲み枠を含んでいる場合、Ｓ２４０１で再度囲み枠を除いた画像ブロックの抽出を行なうかどうかを調べ、行なうなら再びＳ１４０３を実行する。この再判定方法はＳ１４０１と同様なものでよい。
【００７８】
すべての画像ブロックの抽出が終了したら、Ｓ２０７で基準文字サイズを用いて文字単位の画像ブロックを決定し、Ｓ２０８で抽出された画像ブロック情報を格納し、Ｓ１２０９で識別演算を行ない、Ｓ２１０で結果を記憶する。
【００７９】
以上説明したように、囲み枠を含む画像ブロックから、囲み枠を除いて画像ブロックを抽出した後、再び囲み枠を除いた画像ブロックの抽出を行なうかどうかの判定をすることで、２重や多重の囲み枠を含む画像ブロックに対しても、文字画像ブロックを抽出することができる効果がある。
【００８０】
（実施例８）
図１４のフローチャートにおけるＳ１４１０の演算結果の格納について図２５を用いて説明する。図１７の識別演算の結果が「これは囲み枠です」となったとすると、図２５（ａ）のように「囲」の前に囲み枠開始の制御コードＦＩ２５０１、「枠」の後ろに囲み枠終了の制御コードＦＯ２５０２を入れＲＡＭ１０３に記憶する。ディプレイ１０４上で囲み枠が表示可能であるならば、ＦＩからＦＯの文字に囲み枠をして認識結果を表示する。
【００８１】
また、制御コードではなく、各文字に囲み枠に関する属性を持つようにすれば、図２５（ｂ）のように「囲」「み」「枠」の各属性を囲み枠として結果を格納してもよい。
【００８２】
なお、結果のデータ構造は図１３に限定されるものではなく、これに候補文字などの情報が含まれていてもよい。
【００８３】
以上説明したように、囲み枠の付いた文字を記憶することで、入力画像の文字以外の情報を失うことなく再現することができる効果がある。
【００８４】
【発明の効果】
以上説明したように、本発明によれば、文字以外の線画像を含む画像情報からは線画像を除去した画像を抽出するので、原稿上で線を消してから画像を入力するといった手間をかけずに、線の付加された文字も正しく文字単位で切り出すことが可能となる。
【００８５】
以上説明したように、本発明によれば、傍線、例えばアンダーラインやオーバーラインが付加された文字の画像を入力した場合にも、正しく文字単位で画像を切り出すことができる。
【００８６】
以上説明したように、本発明によれば、囲み枠で囲まれた文字の画像を入力した場合にも、正しく文字単位で画像を切り出すことができる。
【００８７】
以上説明したように、本発明によれば、抽出された画像ブロックの幅と基準文字幅との比により、そのブロックが文字以外の線画像を含むか否かを判定するので、簡単な処理で線が付加されている画像ブロックを判定することができる。
【００８９】
以上説明したように、本発明によれば、線画像を除去した画像情報を抽出するので、容易な処理で文字単位に分割することができる。
【００９０】
以上説明したように、本発明によれば、線の幅に係る情報を抽出し、この情報に従って線画像の除去を行なうので、多様な線幅の線画像が文字に付加されていても正確に線画像の除去ができる。
【００９１】
以上説明したように、本発明によれば、線の傾きに係る情報を抽出し、この情報に従って線画像の除去を行なうので、原稿が傾いていたり、文字列が傾いていた場合にも正確に線画像の除去ができる。
【００９２】
以上説明したように、本発明によれば、線の位置に係る情報を抽出し、この情報に従って線画像の除去を行なうので、線画像が文字に対してどの位置に合っても正確に線画像の除去ができる。
【００９３】
以上説明したように、本発明によれば、線画像を除去した画像が線画像を含むか否か再度判断するので、多重に線画像が付加されている文字でも完全に線画像の除去ができる。
【００９４】
以上説明したように、本発明によれば、線画像を除去した後に文字認識を行なうので、文字認識の精度が向上する。
【００９５】
以上説明したように、本発明によれば、文字認識した後もその文字に対して線画像の属性を付加するので、テキストで表示する際にもともと原稿に付加されていた線情報を反映させることができる。
【図面の簡単な説明】
【図１】本発明に係る実施例の文字認識装置の構成を示すブロック図
【図２】実施例１における文字認識処理のフローチャート
【図３】実施例１における傍線ブロック判定の詳細な処理のフローチャート
【図４】実施例１における傍線を除いた画像抽出の詳細な処理のフローチャート
【図５】傍線が付加された文字列を含む画像の画像ブロックの抽出例を示す図
【図６】傍線の傾き検出の方法を説明する図
【図７】傍線の位置を検出する際のヒストグラムのとり方を説明する図
【図８】傍線の幅検出の方法を説明する図
【図９】傍線を除いた画像の抽出及び文字単位の画像の切り出しの説明図
【図１０】実施例２における傍線ブロック判定の詳細な処理のフローチャート
【図１１】実施例２における傍線を除いた画像抽出の詳細な処理のフローチャート
【図１２】実施例３の文字認識処理のフローチャート
【図１３】傍線の属性を付加した文字列の記憶例を示す図
【図１４】実施例５における文字認識処理のフローチャート
【図１５】実施例５における囲み枠ブロック判定の詳細な処理のフローチャート
【図１６】実施例５における囲み枠を除いた画像抽出の詳細な処理のフローチャート
【図１７】囲み枠が付加された文字列を含む画像の画像ブロックの抽出例を示す図
【図１８】囲み枠の傾き検出の方法を説明する図
【図１９】囲み枠の線幅を検出する際のヒストグラムのとり方を説明する図
【図２０】囲み枠の幅検出の方法を説明する図
【図２１】囲み枠を除いた画像の抽出及び文字単位の画像の切り出しの説明図
【図２２】実施例６における囲み枠ブロック判定の詳細な処理のフローチャート
【図２３】実施例６における囲み枠を除いた画像抽出の詳細な処理のフローチャート
【図２４】実施例７の文字認識処理のフローチャート
【図２５】囲み枠の属性を付加した文字列の記憶例を示す図
【図２６】従来の文字認識処理のフローチャート
【図２７】線と文字が離れている画像情報からヒストグラムにより文字画像を分割した例を示す図
【図１】
0003976804.tif 000002
【図２】
0003976804.tif 000003
【図３】
0003976804.tif 000004
【図４】
0003976804.tif 000005
【図５】
0003976804.tif 000006
【図６】
0003976804.tif 000007
【図７】
0003976804.tif 000008
【図８】
0003976804.tif 000009
【図９】
0003976804.tif 000010
【図１０】
0003976804.tif 000011
【図１１】
0003976804.tif 000012
【図１２】
0003976804.tif 000013
【図１３】
0003976804.tif 000014
【図１４】
0003976804.tif 000015
【図１５】
0003976804.tif 000016
【図１６】
0003976804.tif 000017
【図１７】
0003976804.tif 000018
【図１８】
0003976804.tif 000019
【図１９】
0003976804.tif 000020
【図２０】
0003976804.tif 000021
【図２１】
0003976804.tif 000022
【図２２】
0003976804.tif 000023
【図２３】
0003976804.tif 000024
【図２４】
0003976804.tif 000025
【図２５】
0003976804.tif 000026
【図２６】
0003976804.tif 000027
【図２７】
0003976804.tif 000028