(57)【特許請求の範囲】
【請求項１】
帳票に記載された手書き文字を読取る文字読取り装置であって、前記帳票に対して画像読取りを行った多値画像上の文字についてその濃度の区分である濃度区分を前記多値画像上の画素値の分散と所定のしきい値とを比較して判定する文字濃度判定部と、前記多値画像内の読取り対象である文字とその文字以外の汚れとを判別するための汚れ判別しきい値を算出する汚れ判別しきい値算出部と、前記多値画像を二値化した二値画像上の連結黒画素が汚れか文字ストロークかを判別する汚れ判別部とを含み、
前記汚れ判別部は、前記連結黒画素のサイズが第１のしきい値より大で、前記第１のしきい値より大きい値の第２のしきい値以下であり、かつ前記多値画像上の画素値の分散が前記所定のしきい値より大である場合、前記汚れ判別しきい値を用いて前記連結黒画素が汚れか文字ストロークかを判別することを特徴とする文字読取り装置。
【請求項２】
前記汚れ判別部は、前記連結黒画素のサイズが前記第１のしきい値以下である場合には前記連結黒画素を汚れと判別し、前記連結黒画素のサイズが前記第２のしきい値より大である場合または前記第２のしきい値以下であるが前記多値画像上の画素値の分散が前記所定のしきい値より小である場合には前記連結黒画素を文字ストロークと判別することを特徴とする請求項１記載の文字読取り装置。
【請求項３】
前記汚れ判別部は、前記多値画像の画素値に基づいて前記連結黒画素を汚れとして判別することを特徴とする請求項１又は２記載の文字読取り装置。
【請求項４】
帳票に記載された手書き文字を読取る文字読取り方法であって、前記帳票に対して画像読取りを行った多値画像上の文字についてその濃度の区分である濃度区分を前記多値画像上の画素値の分散と所定のしきい値とを比較して判定する文字濃度判定ステップと、前記多値画像内の読取り対象である文字とその文字以外の汚れとを判別するための汚れ判別しきい値を算出する汚れ判別しきい値算出ステップと、前記多値画像を二値化した二値画像上の連結黒画素が汚れか文字ストロークかを判別する汚れ判別ステップとを含み、
前記汚れ判別ステップにおいては、前記連結黒画素のサイズが第１のしきい値より大で、前記第１のしきい値より大きい値の第２のしきい値以下であり、かつ前記多値画像上の画素値の分散が前記所定のしきい値より大である場合、前記汚れ判別しきい値を用いて前記連結黒画素が汚れか文字ストロークかを判別することを特徴とする文字読取り方法。
【請求項５】
前記汚れ判別部ステップにおいては、前記連結黒画素のサイズが前記第１のしきい値以下である場合には前記連結黒画素を汚れと判別し、前記連結黒画素のサイズが前記第２のしきい値より大である場合または前記第２のしきい値以下であるが前記多値画像上の画素値の分散が前記所定のしきい値より小である場合には前記連結黒画素を文字ストロークと判別することを特徴とする請求項４記載の文字読取り方法。
【請求項６】
前記汚れ判別ステップにおいては、前記多値画像の画素値に基づいて前記連結黒画素を汚れとして判別することを特徴とする請求項４又は５記載の文字読取り方法。
【請求項７】
コンピュータによって、帳票に記載された手書き文字を読取るための文字読取りプログラムを記録した記録媒体であって、該プログラムは、コンピュータに、前記帳票に対して画像読取りを行った多値画像上の文字についてその濃度の区分である濃度区分を前記多値画像上の画素値の分散と所定のしきい値とを比較して判定する文字濃度判定ステップと、前記多値画像内の読取り対象である文字とその文字以外の汚れとを判別するための汚れ判別しきい値を算出する汚れ判別しきい値算出ステップと、前記多値画像を二値化した二値画像上の連結黒画素が汚れか文字ストロークかを判別する汚れ判別ステップとを含み、
前記汚れ判別ステップにおいては、前記連結黒画素のサイズが第１のしきい値より大で、前記第１のしきい値より大きい値の第２のしきい値以下であり、かつ前記多値画像上の画素値の分散が前記所定のしきい値より大である場合、前記汚れ判別しきい値を用いて前記連結黒画素が汚れか文字ストロークかを判別することを特徴とする記録媒体。
【請求項８】
前記汚れ判別部ステップにおいては、前記連結黒画素のサイズが前記第１のしきい値以下である場合には前記連結黒画素を汚れと判別し、前記連結黒画素のサイズが前記第２のしきい値より大である場合または前記第２のしきい値以下であるが前記多値画像上の画素値の分散が前記所定のしきい値より小である場合には前記連結黒画素を文字ストロークと判別することを特徴とする請求項７記載の記録媒体。
【請求項９】
前記汚れ判別ステップにおいては、前記多値画像の画素値に基づいて前記連結黒画素を汚れとして判別することを特徴とする請求項７又は８記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は文字読取り装置、文字読取り方法及び文字読取りプログラムを記録した記録媒体に関し、特に鉛筆で記入した文字を消しゴムで消した際に生じる消し残し等の汚れを除去するノイズ除去処理を具備する文字読取り装置、文字読取り方法及び文字読取りプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
文字読取り装置においては、帳票上の読取り対象となる文字の多値画像を、何らかの方法で定めた二値化しきい値で二値化し、その二値化画像に対して文字認識処理を行うのが一般的である。しかし、文字の周辺に汚れ等がある場合、多値画像を二値化する際にそれらが文字とともに二値画像上にノイズとして現れる事がある。このような二値画像に対するノイズ除去処理としては、所定の大きさ以下の孤立した連結黒画素を検出し、それをノイズとして除去するという処理が一般的である。この処理により、文字周辺の微小なノイズは除去することが可能である。しかしながら、この処理では、鉛筆で記入した文字を消しゴムで消したとき等に生じる消し残し等の比較的大きな汚れを除去することが出来なかった。
【０００３】
そこで、上記のような比較的大きな汚れを除去する従来の技術として、特開平６−２７４６９３号公報や特開平５−６４６１号公報に開示されている。
【０００４】
特開平６−２７４６９３号公報では、文字画像上の文字の存在位置に線状の領域を設定し、この領域内に存在する連結黒画素を種情報として、その線状の領域を走査して種情報と接続している黒画素を抽出するという操作を行っている。すなわち、文字を構成する黒画素の連結性に着目して、孤立した比較的大きな連結黒画素を汚れ等のノイズと判断し、これを除去している。
【０００５】
特開平５−６４６１号公報では、文字画像を２分の１に圧縮した圧縮画像から最大画素ブロックを文字として抽出し、この最大画素ブロックを再び元の画像サイズに拡大したのちに、これと元の文字画像とのアンドを取ることにより、比較的大きな連結黒画素をノイズとして除去している。
【０００６】
【発明が解決しようとする課題】
しかし、特開平６−２７４６９３号公報では、文字が１つの連結黒画素で表されるという前提のもとに文字かノイズかの判断を行っているため、特に手書きで記入された文字を読取る場合等、複数個のそれぞれ分離したストロークで表現される文字が容易に起こり得るため適用が難しい。
【０００７】
また、特開平５−６４６１号公報では、最大画素ブロックという矩形領域の内か外かで文字とノイズの判別を行っているため、１文字が複数の分離したストロークで表現される場合や文字のすぐ近くに汚れが存在している場合に文字ストロークと汚れを正しく判別することが難しいという問題がある。
【０００８】
そのため、上記のような従来の技術では、消しゴムによる消し残し等の汚れがうまく除去できないため、そのようなノイズが文字の誤読あるいは不読の原因となっていた。
【０００９】
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的は鉛筆で記入する際に文字を消しゴムで消したときに生じる消し残し等の汚れをノイズとして除去することにより、汚れ等があっても正確に文字の読取りを行うことができる文字読取り装置、文字読取り方法及び文字読取りプログラムを記録した記録媒体を提供することである。
【００１０】
【課題を解決するための手段】
本発明による文字読取り装置は、帳票に記載された手書き文字を読取る文字読取り装置であって、前記帳票に対して画像読取りを行った多値画像上の文字についてその濃度の区分である濃度区分を前記多値画像上の画素値の分散と所定のしきい値とを比較して判定する文字濃度判定部と、前記多値画像内の読取り対象である文字とその文字以外の汚れとを判別するための汚れ判別しきい値を算出する汚れ判別しきい値算出部と、前記多値画像を二値化した二値画像上の連結黒画素が汚れか文字ストロークかを判別する汚れ判別部とを含み、前記汚れ判別部は、前記連結黒画素のサイズが第１のしきい値より大で、前記第１のしきい値より大きい値の第２のしきい値以下であり、かつ前記多値画像上の画素値の分散が前記所定のしきい値より大である場合、前記汚れ判別しきい値を用いて前記連結黒画素が汚れか文字ストロークかを判別することを特徴とする。また、前記汚れ判別部は、前記連結黒画素のサイズが前記第１のしきい値以下である場合には前記連結黒画素を汚れと判別し、前記連結黒画素のサイズが前記第２のしきい値より大である場合または前記第２のしきい値以下であるが前記多値画像上の画素値の分散が前記所定のしきい値より小である場合には前記連結黒画素を文字ストロークと判別することを特徴とし、また、前記汚れ判別部は、前記多値画像の画素値に基づいて前記連結黒画素を汚れとして判別することを特徴とする。
【００１１】
本発明による文字読取り方法は、帳票に記載された手書き文字を読取る文字読取り方法であって、前記帳票に対して画像読取りを行った多値画像上の文字についてその濃度の区分である濃度区分を前記多値画像上の画素値の分散と所定のしきい値とを比較して判定する文字濃度判定ステップと、前記多値画像内の読取り対象である文字とその文字以外の汚れとを判別するための汚れ判別しきい値を算出する汚れ判別しきい値算出ステップと、前記多値画像を二値化した二値画像上の連結黒画素が汚れか文字ストロークかを判別する汚れ判別ステップとを含み、前記汚れ判別ステップにおいては、前記連結黒画素のサイズが第１のしきい値より大で、前記第１のしきい値より大きい値の第２のしきい値以下であり、かつ前記多値画像上の画素値の分散が前記所定のしきい値より大である場合、前記汚れ判別しきい値を用いて前記連結黒画素が汚れか文字ストロークかを判別することを特徴とする。また、前記汚れ判別部ステップにおいては、前記連結黒画素のサイズが前記第１のしきい値以下である場合には前記連結黒画素を汚れと判別し、前記連結黒画素のサイズが前記第２のしきい値より大である場合または前記第２のしきい値以下であるが前記多値画像上の画素値の分散が前記所定のしきい値より小である場合には前記連結黒画素を文字ストロークと判別することを特徴とし、また、前記汚れ判別ステップにおいては、前記多値画像の画素値に基づいて前記連結黒画素を汚れとして判別することを特徴とする。
【００１２】
本発明による記録媒体は、コンピュータによって、帳票に記載された手書き文字を読取るための文字読取りプログラムを記録した記録媒体であって、該プログラムは、コンピュータに、前記帳票に対して画像読取りを行った多値画像上の文字についてその濃度の区分である濃度区分を前記多値画像上の画素値の分散と所定のしきい値とを比較して判定する文字濃度判定ステップと、前記多値画像内の読取り対象である文字とその文字以外の汚れとを判別するための汚れ判別しきい値を算出する汚れ判別しきい値算出ステップと、前記多値画像を二値化した二値画像上の連結黒画素が汚れか文字ストロークかを判別する汚れ判別ステップとを含み、前記汚れ判別ステップにおいては、前記連結黒画素のサイズが第１のしきい値より大で、前記第１のしきい値より大きい値の第２のしきい値以下であり、かつ前記多値画像上の画素値の分散が前記所定のしきい値より大である場合、前記汚れ判別しきい値を用いて前記連結黒画素が汚れか文字ストロークかを判別することを特徴とする。また、前記汚れ判別部ステップにおいては、前記連結黒画素のサイズが前記第１のしきい値以下である場合には前記連結黒画素を汚れと判別し、前記連結黒画素のサイズが前記第２のしきい値より大である場合または前記第２のしきい値以下であるが前記多値画像上の画素値の分散が前記所定のしきい値より小である場合には前記連結黒画素を文字ストロークと判別することを特徴とし、また、前記汚れ判別ステップにおいては、前記多値画像の画素値に基づいて前記連結黒画素を汚れとして判別することを特徴とする。
【００１３】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。図１を参照すると、本発明の実施の形態は、帳票上の読取り対象の文字イメージを多値画像として取込むスキャナ等の画像入力装置１と、情報を記憶する記憶装置２と、プログラム制御により動作するデータ処理装置３と、ディスプレイ装置等の出力装置４から構成されている。
【００１４】
記憶装置２は、画像記憶部２１と文字認識辞書部２２を含む。画像記憶部２１は、画像入力装置にて取り込んだ文字の多値画像を記憶する。文字認識辞書部２２は、文字認識処理に使用する辞書を記憶する。
【００１５】
データ処理装置３は、文字認識のための前処理を行う前処理部３１と、この前処理部３１により生成された二値画像から文字認識のための特徴を抽出する特徴抽出部３２と、この特徴抽出部３２により抽出された特徴と文字認識辞書部２２に格納された文字特徴とを比較することにより文字認識を行う文字認識部３３とを含んで構成されている。
【００１６】
前処理部３１は、二値化部３１１とノイズ除去部３１２とを含んで構成されている。二値化部３１１は、濃度ヒストグラム生成部３１１１と、二値化しきい値算出部３１１２と文字濃度判定部３１１３と汚れ判別しきい値算出部３１１４と二値画像生成部３１１５とを含んで構成されている。
【００１７】
濃度ヒストグラム生成部３１１１は、画像記憶部２１に記憶された多値画像の各画素値毎の画素数をカウントした濃度ヒストグラムを生成する。二値化しきい値算出部３１１２は、この濃度ヒストグラムを基に多値画像を二値化するための二値化しきい値を算出する。文字濃度判定部３１１３は、この濃度ヒストグラムを基に多値画像上の文字の濃さ区分を判定する。汚れ判別しきい値算出部３１１４は、上記濃度ヒストグラムを基に汚れと文字とを判別するための汚れ判別しきい値を算出する。二値画像生成部３１１５は、上記二値化しきい値により上記多値画像を二値化した二値画像を生成する。
【００１８】
ノイズ除去部３１２は、汚れ判別部３１２１と連結黒画素除去部３１２２とを含んで構成されている。汚れ判別部３１２１は、二値画像上の連結黒画素が汚れか文字ストロークかを判定する。連結黒画素除去部３１２２は、汚れ判別部３１２１で汚れと判定された連結黒画素または所定の大きさ以下の連結黒画素を上記二値画像上から除去する。
【００１９】
次に、図１の他、図２〜図４、図６及び図７のフローチャート更には図５を参照して本実施の形態の全体の動作について詳細に説明する。
【００２０】
図２を参照し、まず、画像入力装置１により帳票上の読取り対象となる文字イメージが多値画像ＩＭＧとして取り込まれ、画像記憶部２１に格納される（ステップＳ１）。多値画像ＩＭＧは、画素値が大きいほど、その画素の明るさが明るいものとする。
【００２１】
次に、二値化部３１１は、多値画像ＩＭＧを二値化した二値画像ＩＭＢを生成する（ステップＳ２）。この場合、図３に示されているように、まず、濃度ヒストグラム生成部３１１１は、この多値画像ＩＭＧに対して、画素値毎の画素数をカウントした濃度ヒストグラムを生成する（図３のステップＳ２０）。
【００２２】
次に、二値化しきい値算出部３１１２は、上記濃度ヒストグラムを基に上記多値画像ＩＭＧを二値化するためのしきい値ＢＴＨを算出する（ステップＳ２１）。二値化しきい値ＢＴＨは、１９８０年、電子通信学会論文誌Ｖｏｌ．Ｊ６３−Ｄ、Ｎｏ．４、ｐｐ．３４９−３５６で大津の提案した判別分析法により求める。この大津の提案した方法は、例えば文字と背景という２つのカテゴリを含む画像において、それぞれのカテゴリ内の分散を最小にし、かつカテゴリ間の分散を最大にするようにしきい値を選定する方法である。
【００２３】
多値画像ＩＭＧの二値化は次のようにして行う。多値画像ＩＭＧのある画素の画素値が二値化しきい値ＢＴＨより小さければ、その画素に対応する二値画像ＩＭＢ上の画素の画素値を‘１’すなわち‘黒’とし、多値画像ＩＭＧのある画素の画素値が二値化しきい値ＢＴＨ以上であれば、その画素に対応する二値画像ＩＭＢ上の画素の画素値を‘０’すなわち‘白’とする。
【００２４】
次に、文字濃度判定部３１１３は、多値画像ＩＭＧ上の文字の濃度区分を判定する（ステップＳ２２）。文字の濃度区分としては、‘空白’、‘薄い’、‘濃い’の３つの区分があるものとする。
【００２５】
文字濃度判定部３１１３は、図４に示されているように、まず、多値画像ＩＭＧ上の画素値の分散Ｖｒを求める（図４のステップＳ２２０）。次に、分散Ｖｒと予め定められたしきい値ＢＲ＿ＴＨとを比較する（ステップＳ２２１）。ステップＳ２２１の分散Ｖｒとしきい値ＢＲ＿ＴＨとを比較した結果、Ｖｒ＜ＢＲ＿ＴＨが成り立つ場合は、その文字濃度区分を‘空白’と判定する（ステップＳ２２３）。
【００２６】
ステップＳ２２１において分散Ｖｒとしきい値ＢＲ＿ＴＨとを比較した結果、Ｖｒ＜ＢＲ＿ＴＨが成り立たない場合は、分散Ｖｒと予め定められたしきい値ＫＯＳＡ＿ＴＨとを比較する（ステップＳ２２２）。ステップＳ２２２において分散Ｖｒとしきい値ＫＯＳＡ＿ＴＨとを比較した結果、Ｖｒ＜ＫＯＳＡ＿ＴＨが成り立つ場合は、文字濃度区分を‘薄い’と判定する（ステップＳ２２４）。ステップＳ２２２において分散Ｖｒとしきい値ＫＯＳＡ＿ＴＨとを比較した結果、Ｖｒ＜ＫＯＳＡ＿ＴＨが成り立たない場合は、文字濃度区分を‘濃い’と判定する（ステップＳ２２５）。そして、文字濃度判定部３１１３はこのフローチャートの処理、すなわち図３のステップＳ２２を終了する。
【００２７】
次に、二値化部３１１は、変数ＫＯＳＡを‘０’で初期化する（図３のステップＳ２３）。変数ＫＯＳＡは、ＫＯＳＡ＝０ならば、上記文字濃度区分が‘空白’もしくは‘薄い’であり、ＫＯＳＡ＝１ならば上記文字濃度区分が‘濃い’であることを示すための変数である。
【００２８】
次に、文字濃度判定部３１１３により判定された文字濃度区分を参照し、濃度区分が‘空白’かどうか調べる（ステップＳ２４）。濃度区分が‘空白’であれば、二値画像生成部３１１５は、上記多値画像ＩＭＧを二値化した画像として、画素値が全て‘０’、すなわち全て白画素の二値画像ＩＭＢを生成する（ステップＳ２９）。ステップＳ２４において文字濃度区分が‘空白’でなければ、次に、文字濃度区分が‘薄い’かどうか調べる（ステップＳ２５）。ステップＳ２５において文字濃度区分が‘薄い’であれば、二値画像生成部３１１５は、上記多値画像ＩＭＧを上記二値化しきい値ＢＴＨで二値化した二値画像ＩＭＢを生成する（ステップＳ２８）。ステップＳ２５において文字濃度区分が‘薄い’でない場合、すなわち文字濃度区分が‘濃い’である場合は、汚れ判別しきい値算出部３１１４は、二値画像ＩＭＢ上の連結黒画素が汚れか文字ストロークかを判別するための汚れ判別しきい値ＤＴＨを算出する（ステップＳ２６）。
【００２９】
汚れ判別しきい値算出部３１１４は、図５のように、上記濃度ヒストグラム上の上記二値化しきい値ＢＴＨ未満の画素値に対して上述した判別分析法を適用し、上記二値化しきい値ＢＴＨ未満の画素を濃い画素（画素値小）と薄い画素（画素値大）とに分離するしきい値を見つけ、これを汚れ判別しきい値ＤＴＨとする（ステップＳ２６）。次に、変数ＫＯＳＡに‘１’を代入する（ステップＳ２７）。二値画像生成部３１１５は、上記多値画像ＩＭＧを上記二値化しきい値ＢＴＨで二値化した二値画像ＩＭＢを生成する（ステップＳ２８）。そして、二値化部３１１は、このフローチャートの処理、すなわち図２のステップＳ２を終了する。
【００３０】
次に、ノイズ除去部３１２は、上記二値画像ＩＭＢに対してノイズ除去を行う（図２のステップＳ３）。ノイズ除去部３１２はまず、上記二値画像ＩＭＢに対して画像内に存在する全ての連結黒画素を検出する（図６のステップＳ３０）。連結黒画素を見つけるための処理は、例えば公知の技術であるラベリング処理によって実現できる。次に、検出した連結黒画素の内の１つを選択し、これを連結黒画素ＢＬＫとする（ステップＳ３１）。
【００３１】
次に、上記連結黒画素ＢＬＫの高さＨ及び幅Ｗと予め定められたしきい値ＳＩＺＥ＿Ｓとを比較する（ステップＳ３２）。しきい値ＳＩＺＥ＿Ｓは、連結黒画素ＢＬＫを微小ノイズと見なすかどうかをその連結黒画素ＢＬＫの幅Ｗ及び高さＨから判定するためのしきい値である。幅Ｗ及び高さＨが共にしきい値ＳＩＺＥ＿Ｓ以下であれば、連結黒画素除去部３１２２はその連結黒画素ＢＬＫを微小ノイズとして除去し（ステップＳ３６）、ステップＳ３０にて検出した連結黒画素を全て選択し終わったかどうか判定する（ステップＳ３７）。未選択の連結黒画素が存在すると判定された場合は、ステップＳ３１に戻り、未選択の連結黒画素を１つ選択したのち、ステップＳ３２以降を実行する。
【００３２】
ステップＳ３２で、連結黒画素ＢＬＫの幅Ｗ及び高さＨのいずれかがしきい値ＳＩＺＥ＿Ｓよりも大きければ、次に幅Ｗ及び高さＨと予め定められたしきい値ＳＩＺＥ＿Ｍとを比較し、さらに変数ＫＯＳＡの値が‘１’かどうか調べる（ステップＳ３３）。しきい値ＳＩＺＥ＿Ｍは、ある連結黒画素に対して汚れと見なすかどうかをその連結黒画素ＢＬＫの幅Ｗ及び高さＨから判断するためのしきい値である。
【００３３】
なお、上記しきい値ＳＩＺＥ＿Ｓはしきい値ＳＩＺＥ＿Ｍよりも小さい値を設定するものとする。連結黒画素ＢＬＫの幅Ｗ及び高さＨのいずれかがしきい値ＳＩＺＥ＿Ｍよりも大きいか、もしくは変数ＫＯＳＡの値が‘０’である場合は、ステップＳ３７に進み、ステップＳ３０にて検出した連結黒画素を全て選択し終わったかどうか判定する。一方、ステップＳ３３で連結黒画素ＢＬＫの幅Ｗ及び高さＨが共にしきい値ＳＩＺＥ＿Ｍ以下であり、かつ変数ＫＯＳＡの値が‘１’である場合、汚れ判別部３１２１はその連結黒画素ＢＬＫが汚れかどうかの判定を行う（ステップＳ３４）。
【００３４】
この場合、汚れ判別部３１２１は、図７に示されているように、変数ＢＫ＿ＣＮＴとＴＫ＿ＣＮＴにそれぞれ０を代入する（図７のステップＳ３４０）。変数ＢＫ＿ＣＮＴはその連結黒画素ＢＬＫを構成する黒画素の数を格納する変数である。また、変数ＴＫ＿ＣＮＴはその連結黒画素ＢＬＫを構成する黒画素のうち、多値画像ＩＭＧ上で汚れ判別しきい値ＤＴＨ未満の画素値を持つ画素の個数を格納する変数である。
【００３５】
次に、その連結黒画素ＢＬＫを構成する黒画素の１つを選択する（ステップＳ３４１）。次に、ステップＳ３４１で選択した黒画素に対応する多値画像ＩＭＧ上の画素の画素値ＢＫ＿Ｇを求める。すなわち、選択した黒画素に対して、二値化を行う前の多値の画素値を求める（ステップＳ３４２）。次に、上記画素値ＢＫ＿Ｇと上記汚れ判別しきい値ＤＴＨとを比較する（ステップＳ３４３）。ステップＳ３４３における比較の結果、ＢＫ＿Ｇ＜ＤＴＨが成り立つ場合は、変数ＴＫ＿ＣＮＴの値を１増加させる（ステップＳ３４４）。ステップＳ３４３における比較の結果、ＢＫ＿Ｇ＜ＤＴＨが成り立たない場合は、ステップＳ３４５に進む。次に、変数ＢＫ＿ＣＮＴの値を１増加させる（ステップＳ３４５）。
【００３６】
次に、ステップＳ３４１においてその連結黒画素ＢＬＫの構成黒画素が全て選択済みがどうか判定する（ステップＳ３４６）。ステップＳ３４６における判定の結果、未選択の黒画素があると判定された場合は、ステップＳ３４１に戻り、未選択の黒画素を１つ選択したのち、ステップＳ３４２以降を実行する。ステップＳ３４６における判定の結果、未選択の黒画素がないと判定された場合は、式（１）により汚れ評価値ＴＫ＿ＲＴＯの値を計算する（ステップＳ３４７）。
【００３７】
ＴＫ＿ＲＴＯ＝ＴＫ＿ＣＮＴ／ＢＫ＿ＣＮＴ（１）  次に、汚れ評価値ＴＫ＿ＲＴＯと予め設定された汚れ評価しきい値ＤＴＫ＿ＴＨとを比較し、ＴＫ＿ＲＴＯ＜ＤＴＫ＿ＴＨが成り立つかどうか判定する（ステップＳ３４８）。ステップＳ３４８で汚れ評価値ＴＫ＿ＲＴＯと予め設定された汚れ評価しきい値ＤＴＫ＿ＴＨとを比較した結果、ＴＫ＿ＲＴＯ＜ＤＴＫ＿ＴＨが成り立つ場合は、その連結黒画素ＢＬＫを‘汚れ’であると判定する（ステップＳ３４９）。ステップＳ３４８での評価の結果、ＴＫ＿ＲＴＯ＜ＤＴＫ＿ＴＨが成り立たない場合は、その連結黒画素ＢＬＫを‘文字ストローク’であると判定する（ステップＳ３４ａ）。そして、汚れ判別部３１２１はこのフローチャートの処理、すなわち図６中のステップＳ３４を終了する。
【００３８】
次に、ノイズ除去部３１２は、ステップＳ３４における汚れ判別部３１２１の判定結果が‘汚れ’であるかどうか調べる（図６のステップＳ３５）。ステップＳ３５において、汚れ判別部３１２１の判定結果が‘汚れ’であった場合は、連結黒画素除去部３１２２はその連結黒画素ＢＬＫを上記二値画像ＩＭＢ上から除去する（ステップＳ３６）。
【００３９】
次に、ステップＳ３７に進み、ステップＳ３１で上記二値画像ＩＭＢ上の連結黒画素を全て選択済みかどうか判定する。ステップＳ３５において、汚れ判別部３１２１の判定結果が‘汚れ’でなかった場合は、ステップＳ３７に進み、ステップＳ３１で上記二値画像ＩＭＢ上の連結黒画素を全て選択済みかどうか判定する。ステップＳ３７において、上記二値画像ＩＭＢ上の連結黒画素を全て選択済みであると判定された場合は、ノイズ除去部３１２はこのフローチャートの処理、すなわち図２のステップＳ３を終了する。未選択の連結黒画素が存在すると判定された場合は、ステップＳ３１に戻り、未選択の連結黒画素を１つ選択したのち、ステップＳ３２以降を実行する。
【００４０】
次に、特徴抽出部３２は、前処理部３１により生成されたその二値画像ＩＭＢから文字認識に必要な特徴を抽出する（図２のステップＳ４）。次に、文字認識部３３は、上記特徴抽出部３２により抽出された特徴と文字認識辞書部２２に記憶された文字特徴とを比較し、文字認識処理を行う（ステップＳ５）。そして、出力装置４は、文字認識部３３による文字認識結果を上記多値画像ＩＭＧの読取り結果として出力する（ステップＳ６）。なお、特徴抽出部３２及び文字認識部３３は公知の技術を適用して実現できる。
【００４１】
以上説明した文字読取り装置では、図２〜図７に示されている文字読取り方法が実現されている。すなわち、帳票に記載された手書き文字を読取る方法であり、帳票に対して画像読取りを行った多値画像上の文字についてその濃度の区分である濃度区分を判定し、多値画像内の読取り対象である文字とその文字以外の汚れとを判別するための汚れ判別しきい値を算出し、多値画像を二値化した二値画像上の連結黒画素が汚れか文字ストロークかを判別する文字読取り方法が実現されていることになる。そして、上記の汚れは、消しゴムで消した際に生じる消し残し等の汚れであり、多値画像の画素値に基づいて連結黒画素を汚れとして判別するのである。
【００４２】
以上のように、本実施の形態による文字読取り装置では、画像入力装置１から取り込まれ画像記憶部２１に記憶された多値画像を二値化した二値画像において、消しゴムで文字を消したときに生じる消し残し等の汚れが比較的大きな連結黒画素を形成している場合、汚れ判別部３１２１により、上記多値画像の画素値を基にその連結黒画素を汚れとして判別することができる。そして、そのような汚れを二値画像上から除去することにより、誤って汚れを文字の一部と見なして文字認識処理を行うことを避けることができる。したがって、消し残し等の汚れに頑健な高精度の文字読取りを実現できるのである。
【００４３】
【実施例】
次に、具体的な実施例を用いて本実施の形態の動作を詳細に説明する。ここでは、図８に示されているような、数字の「５」の読取りを行う場合について説明する。図８を参照すると、帳票等に記載されている読取り対象は、数字の「５」を構成する文字成分１００と文字成分１０１と、例えば消しゴムで一度記入した文字を消した際に残ってしまった汚れである汚れ成分１０２と同じく汚れ成分１０３から構成されている。図８に示す数字の「５」のイメージを画像入力装置１により取込み、多値画像ＩＭＧとして画像記憶部２１に格納する（図２のステップＳ１）。
【００４４】
次に、二値化部３１１はこの多値画像ＩＭＧを二値化した二値画像ＩＭＢを生成する処理を行う（ステップＳ２）。濃度ヒストグラム生成部３１１１は、上記多値画像ＩＭＧの濃度ヒストグラムを生成する（図３のステップＳ２０）。次に、二値化しきい値算出部３１１２は、上記濃度ヒストグラムを基に多値画像ＩＭＧを二値化するための二値化しきい値ＢＴＨを算出する（ステップＳ２１）。その結果、ＢＴＨ＝１２であったとする。
【００４５】
次に、文字濃度判定部３１１３は、多値画像ＩＭＧ上の文字の濃度区分を判定する（ステップＳ２２）。文字濃度判定部３１１３は、まず、多値画像ＩＭＧ上の全ての画素の画素値の分散Ｖｒを求める（図４のステップＳ２２０）。このとき、分散Ｖｒ＝２．４であったとする。次に、Ｖｒ＜ＢＲ＿ＴＨが成り立つかどうか調べる（ステップＳ２２１）。ＢＲ＿ＴＨは多値画像ＩＭＧが‘空白’かどうかを分散Ｖｒに基づいて判定するために予め設定されたしきい値であり、ここではＢＲ＿ＴＨ＝０．２に設定されているものする。
【００４６】
したがって、Ｖｒ＜ＢＲ＿ＴＨが成り立たないため、ステップＳ２２２に進む。次に、Ｖｒ＜ＫＯＳＡ＿ＴＨが成り立つかどうか判定する（ステップＳ２２２）。ＫＯＳＡ＿ＴＨは多値画像ＩＭＧ上の文字の濃度区分が‘濃い’か‘薄い’かを分散Ｖｒに基づいて判定する予め設定されたしきい値であり、ここではＫＯＳＡ＿ＴＨ＝１．０と設定されているものとする。したがって、Ｖｒ＜ＫＯＳＡ＿ＴＨが成り立たないため、多値画像ＩＭＧに写っている文字の濃度区分は‘濃い’であると判定する。
【００４７】
次に、二値化部３１１は、変数ＫＯＳＡを０で初期化する（図３のステップＳ２３）。次に、文字濃度判定部３１１３の判定した文字濃度区分が‘空白’かどうか判定する（ステップＳ２４）。ここでは、文字濃度区分は‘濃い’であるため、ステップＳ２５に進み、上記文字濃度区分が‘薄い’かどうか判定する。文字濃度区分は‘濃い’なので、汚れ判別しきい値算出部３１１４は、上記濃度ヒストグラムを基に、汚れ判別しきい値の算出を行う（ステップＳ２６）。
【００４８】
すなわち、ＢＴＨ＝１２であるため、図５に示した濃度ヒストグラムの画素値が０から１１までの部分に対して上述した判別分析法を適用し、汚れ判別しきい値ＤＴＨを求める。ここでは、ＤＴＨ＝１０が得られたとする。次に、二値化部３１１は、変数ＫＯＳＡに１を代入する（ステップＳ２７）。そして、二値画像生成部３１１５は、多値画像ＩＭＧを二値化しきい値ＢＴＨで二値化し、図９の二値画像ＩＭＢを生成する（ステップＳ２８）。もし、ステップＳ２４の文字濃度区分が‘空白’かどうかの判定で‘空白’であると判定された場合は、多値画像ＩＭＧの二値画像として、全ての画素が白画素の二値画像ＩＭＢを生成する。
【００４９】
次に、ノイズ除去部３１２は、上記二値画像ＩＭＢに対して連結黒画素を検出する（図６のステップＳ３０）。その結果、図９に示されている４つの連結黒画素１１０〜１１３が検出される。これら４つの連結黒画素の内、まず連結黒画素１１０を選択する（ステップＳ３１）。このとき、連結黒画素１１０の大きさは、幅Ｗ＝２０ピクセル、高さＨ＝３５ピクセルであったとする。
【００５０】
次に、この幅Ｗと高さＨが共に予め設定されたしきい値ＳＩＺＥ＿Ｓ以下であるかどうか判定する（ステップＳ３２）。ここでは、しきい値ＳＩＺＥ＿Ｓ＝５に設定されているものとする。この場合、幅Ｗと高さＨは共にＳＩＺＥ＿Ｓよりも大きいため、次に、幅Ｗ及び高さＨが予め設定されたしきい値ＳＩＺＥ＿Ｍ以下であり、かつ変数ＫＯＳＡ＝１であるかどうか判定する（ステップＳ３３）。ここでは、しきい値ＳＩＺＥ＿Ｍ＝１０に設定されているものとする。
【００５１】
この場合、幅Ｗ及び高さＨは共にしきい値ＳＩＺＥ＿Ｍよりも大きいため、ステップＳ３７に進み、連結黒画素が全て選択済みかどうか判定する。しかし、まだ連結黒画素１１１〜１１３が選択されていないので、ステップＳ３１に戻り、連結黒画素１１１を選択する。連結黒画素の大きさは、幅Ｗ＝１０、高さＨ＝４であったとする。すると、ステップＳ３２での大きさ判定では、幅Ｗ及び高さＨが共にしきい値ＳＩＺＥ＿Ｓ以下という条件を満たさないため、ステップＳ３３に進む。ステップＳ３３での大きさ判定では、幅Ｗと高さＨが共にＳＩＺＥ＿Ｍ以下という条件を満たすため、汚れ判別部３１２１は、連結黒画素１１１が汚れかどうかの判定を行う（ステップＳ３４）。
【００５２】
次に、汚れ判別部３１２１は、変数ＢＫ＿ＣＮＴと変数ＴＫ＿ＣＮＴを共に０で初期化する（図７のステップＳ３４０）。次に、連結黒画素１１１を構成する黒画素の内の１つを選択する（ステップＳ３４１）。次に、図１０に示されているように、選択した黒画素に対応する画素の画素値ＢＫ＿Ｇを、画像記憶部２１に記憶された多値画像ＩＭＧを参照することにより求める（ステップＳ３４２）。なお、図１０には、二値画像ＩＭＢ上の連結黒画像ＢＬＫと、多値画像ＩＭＧとが示されている。
【００５３】
この選択した黒画素に対応する画素の画素値ＢＫ＿Ｇを求める場合、図９に示されている連結黒画素１１１に対応する図８の文字成分１０１を参照する。ここでは、ＢＫ＿Ｇ＝４であったとする。次に、このＢＫ＿Ｇと汚れ判別しきい値算出部３１１４により算出された汚れ判別しきい値ＤＴＨとを比較し、ＢＫ＿Ｇ＜ＤＴＨが成り立つかどうか判定する（ステップＳ３４３）。汚れ判別しきい値ＤＴＨは上述した通りＤＴＨ＝１０が得られていると仮定しているので、ＢＫ＿Ｇ＜ＤＴＨが成り立つ。従って、変数ＴＫ＿ＣＮＴの値を１増加させる（ステップＳ３４４）。そして、変数ＢＫ＿ＣＮＴの値を１増加させる（ステップＳ３４５）。
【００５４】
次に、全ての黒画素を選択済みかどうか調べる（ステップＳ３４６）。ここでは、まだ未選択の黒画素があるとして、ステップＳ３４１に戻り、未選択の黒画素を１つ選択する。そして、この黒画素に対応する多値画像ＩＭＧ上の画素の画素値をＢＫ＿Ｇを求める（ステップＳ３４２）。ここでは、この画素値ＢＫ＿Ｇ＝１２であったとする。次に、画素値ＢＫ＿Ｇと汚れ判別しきい値ＤＴＨとを比較し、ＢＫ＿Ｇ＜ＤＴＨが成り立つかどうか判定する（ステップＳ３４３）。しかし、ＢＫ＿Ｇ＜ＤＴＨが成り立たないので、ステップＳ３４４をとばしてステップＳ３４５に進み変数ＢＫ＿ＣＮＴの値を１増加させる。
【００５５】
そして、ステップＳ３４６で、全ての黒画素を選択済みかどうか判定する。このようにして、ステップＳ３４１で連結黒画素１１１を構成する全ての黒画素を選択するまでステップＳ３４１からステップＳ３４６間での処理を繰り返す。全ての黒画素を選択し終わった時点で、ステップＳ３４７に進み、ＴＫ＿ＲＴＯの値を計算する。ここで、ＴＫ＿ＣＮＴ＝２０、ＢＫ＿ＣＮＴ＝２５であったとすると、ＴＫ＿ＲＴＯ＝０．８となる。次に、このＴＫ＿ＲＴＯと予め設定されたしきい値ＤＴＫ＿ＴＨとを比較する。ここでは、ＤＴＫ＿ＴＨ＝０．１に設定してあるものとする。すると、ステップＳ３４８でＴＫ＿ＲＴＯとＤＴＫ＿ＴＨとを比較した結果、ＴＫ＿ＲＴＯ＜ＤＴＫ＿ＴＨが成り立たないため、連結黒画素１１１を‘文字ストローク’であると判定する（ステップＳ３４ａ）。
【００５６】
そして、図６のステップＳ３５に進み、汚れ判別部３１２１の判別結果が‘汚れ’かどうか判定する。この場合、汚れ判別部３１２１は、連結黒画素１１１は‘文字ストローク’であると判定しているので、ステップＳ３７に進む。ステップＳ３７で連結黒画素を全て選択したかどうか判定する。この場合、連結黒画素１１２と連結黒画素１１３が未選択であるので、ステップＳ３１に戻り、連結黒画素１１２を選択する。
【００５７】
連結黒画素１１２の大きさは、幅Ｗ＝５，高さＨ＝８であったとする。すると、ステップＳ３２における判定では、幅Ｗ及び高さＨが共にＳＩＺＥ＿Ｓ以下という条件を満たさないため、ステップＳ３３に進む。ステップＳ３３における判定では、幅Ｗ及び高さＨが共にＳＩＺＥ＿Ｍ以下であり、かつ変数ＫＯＳＡ＝１を満たすので、汚れ判別部３１２１は、連結黒画素１１２が汚れかどうかの判定を行う（ステップＳ３４）。
【００５８】
次に、汚れ判別部３１２１は、上記連結黒画素１１１に対して行った場合と同様に、図７のステップＳ３４０からステップＳ３４６までの処理を連結黒画素１１２に対して行う。その結果、ＴＫ＿ＣＮＴ＝２、ＢＫ＿ＣＮＴ＝３２が得られたとすると、ＴＫ＿ＲＴＯ＝０．０６２５となる。次に、このＴＫ＿ＲＴＯと上記しきい値ＤＴＫ＿ＴＨとを比較する（ステップＳ３４８）。ここでは、ＤＴＫ＿ＴＨ＝０．１に設定してあるので、ステップＳ３４８でＴＫ＿ＲＴＯ＜ＤＴＫ＿ＴＨが成り立つため、連結黒画素１１２を‘汚れ’であると判定する（ステップＳ３４９）。そして、図６のステップＳ３５に進み、汚れ判別部３１２１の判別結果が‘汚れ’かどうか判定する。この場合、汚れ判別部３１２１は、連結黒画素１１２を‘汚れ’であると判定しているので、連結黒画素除去部３１２２は連結黒画素１１２を二値画像ＩＭＢ上から除去する（ステップＳ３６）。
【００５９】
次に、ステップＳ３７で連結黒画素を全て選択したかどうか判定する。連結黒画素が１１３が未選択であるので、ステップＳ３１に戻り、連結黒画素１１３を選択する。連結黒画素１１３の大きさは、幅Ｗ＝３、高さＨ＝４であるとする。すると、ステップＳ３２の判定で、幅Ｗと高さＨが共にＳＩＺＥ＿Ｓ以下であるので、連結黒画素除去部３１２２は連結黒画素１１３を二値画像ＩＭＢ上から除去する（ステップＳ３６）。次に、ステップＳ３７で、連結黒画素を全て選択済みかどうか判定する。このとき、二値画像ＩＭＢ上の連結黒画素１１０から１１３は全て選択済みであるので、ノイズ除去部３１２はその処理（図２のステップＳ３）を終了する。
【００６０】
次に、特徴抽出部３２は、前処理部３１から図１１に示すノイズ除去後の二値画像ＩＭＢを受け取り、文字認識部３３で文字認識処理を行う際に用いる特徴を抽出する（図２のステップＳ４）。
【００６１】
次に、文字認識部３３は、特徴抽出部３２にて抽出された特徴と文字認識辞書部２２に格納された文字特徴とを比較し、文字認識処理を行う（ステップＳ５）。そして、文字認識処理の結果得られた、多値画像ＩＭＧの属すべきカテゴリ名を、文字読取り結果として出力装置４に出力する。
【００６２】
なお、以上説明した実施の形態では、プログラム制御により動作するデータ処理装置３が、メモリに記憶されたプログラムを実行することによって、前処理部３１から文字認識部３３までの機能が実現されていた。これに対し、図１２に示すように、データ処理装置３が実行するプログラムを記録した記録媒体５を備え、この記録媒体５からプログラムをデータ処理装置３のメモリに読込ませ、データ処理装置３の動作を制御するようにしても良い。
【００６３】
つまり、上述した図２〜図４、図６及び図７の処理を実現するためのプログラムを記録した記録媒体を用意し、これを用いて図１２の各部を制御すれば、上述と同様の文字読取り動作を行うことができることは明白である。この記録媒体５には、半導体メモリ、磁気ディスク装置の他、種々の記録媒体を用いることができる。
【００６４】
また、同記録媒体に記録されているプログラムによってコンピュータを制御すれば、上述と同様に文字読取り動作を行うことができることは明白である。この記録媒体には、半導体メモリ、磁気ディスク装置の他、種々の記録媒体を用いることができる。
【００６５】
【発明の効果】
以上説明したように本発明は、二値画像上のある程度大きな連結黒画素に対して汚れか文字ストロークかを、二値化する前の多値画像上の濃度情報を参照することによって判別するようにしたので、文字ストロークを誤って除去することなく、汚れのみを除去することができ、消しゴムで一度記入した文字を消したときなどに生じる消し残し等の汚れに強い安定した文字読取り装置を実現できるという効果がある。
【図面の簡単な説明】
【図１】本発明による文字読取り装置の実施の形態の構成を示すブロック図である。
【図２】図１中の各部の動作を示すフローチャートである。
【図３】図１中の二値化部３１１の動作を示すフローチャートである。
【図４】図１中の文字濃度判定部３１１３の動作を示すフローチャートである。
【図５】図１中の濃度ヒストグラム生成部３１１１で生成される濃度ヒストグラムの例を示す図である。
【図６】図１中のノイズ除去部３１２の動作を示すフローチャートである。
【図７】図１中の汚れ判別部３１２１の動作を示すフローチャートである。
【図８】多値画像ＩＭＧの例を示す図である。
【図９】多値画像ＩＭＧを二値化した二値画像ＩＭＢの例を示す図である。
【図１０】二値画像ＩＭＢ上の連結黒画素ＢＬＫ上の画素から、その画素に対応する多値画像ＩＭＧ上の画素の画素値ＢＫ＿Ｇを参照する処理を示す図である。
【図１１】図１中のノイズ除去部３１２によるノイズ除去後の二値画像ＩＭＢの例を示す図である。
【図１２】本発明による文字読取り装置の他の実施の形態を示すブロック図である。
【符号の説明】
１  画像入力装置
２  記憶装置
２１  画像記憶部
２２  文字認識辞書部
３  データ処理装置
３１  前処理部
３１１  二値化部
３１１１  濃度ヒストグラム生成部
３１１２  二値化しきい値算出部
３１１３  文字濃度判定部
３１１４  汚れ判別しきい値算出部
３１１５  二値画像生成部
３１２  ノイズ除去部
３１２１  汚れ判別部
３１２２  連結黒画素除去部
３２  特徴抽出部
３３  文字認識部
４  出力装置
５  記録媒体
１００，１０１  文字成分
１０２，１０３  汚れ成分
１１０，１１１，１１２，１１３  連結黒画素
【図１】
0003721034.tif 000002
【図２】
0003721034.tif 000003
【図３】
0003721034.tif 000004
【図４】
0003721034.tif 000005
【図５】
0003721034.tif 000006
【図６】
0003721034.tif 000007
【図７】
0003721034.tif 000008
【図８】
0003721034.tif 000009
【図９】
0003721034.tif 000010
【図１０】
0003721034.tif 000011
【図１１】
0003721034.tif 000012
【図１２】
0003721034.tif 000013