(57)【要約】【課題】文字認識装置において、文書画像中の行を切り出す装置で処理される文書画像中にノイズが混入しているために行が過統合されていても、適切な基準で分割し、正しい行切り出し結果を得る。【解決手段】行切り出し装置は、文字認識装置のバスに接続された画像入力部１、第１の行切り出し部２、第２の行切り出し部３、行出力部４から構成されている。第１の行切り出し部２は、画素の黒連結外接矩形を用いる方法や、画像上の黒画素の水平及び垂直方向の射影を用いる方法で行切り出しを行い、第２の行切り出し部３へ出力する。第２の行切り出し部３は、切り出された行の中から基準となる行を抽出し、抽出された基準行を用いて、第１の方法で切り出された各行の推定行数を算出し、推定行数が２以上の行については、行の分割を行う。【選択図】　　　　図１
2004102796.tif 000002
【特許請求の範囲】
【請求項１】
文書画像中から行を切り出す第１の行切り出し部と、該第１の行切り出し部で切り出された行の中から基準行を抽出し、該基準行を用いて前記第１の行切り出し部で切り出された行を修正する第２の行切り出し部からなることを特徴とする行切り出し装置。
【請求項２】
請求項１記載の行切り出し装置において、
前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、行の分割を行うことを特徴とする行切り出し装置。
【請求項３】
請求項１記載の行切り出し装置において、
前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、行の幅が広い場合に前記推定行数に分割することを特徴とする行切り出し装置。
【請求項４】
請求項１記載の行切り出し装置において、
前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、該推定行数に前記各行を分割した場合に、行間に存在する画像の状況に応じて行の分割を判断し、該分割が適当と判断された場合に、前記推定行数に分割することを特徴とする行切り出し装置。
【請求項５】
請求項１記載の行切り出し装置において、
前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、前記推定行数に行を分割した場合に、行間にまたがる矩形の状況に応じて行の分割を判断し、該分割が適当と判断された場合に、前記推定行数に分割することを特徴とする行切り出し装置。
【請求項６】
請求項１記載の行切り出し装置において、
前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、前記推定行数に行を分割した場合に、行間にまたがる矩形数と行内の全矩形数との比が所定の値よりも小さい場合に、前記推定行数に分割することを特徴とする行切り出し装置。
【請求項７】
請求項１記載の行切り出し装置において、
前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、前記推定行数に行を分割した場合に、行間にまたがる矩形の面積と行内の全矩形の面積との比が所定の値よりも小さい場合に、前記推定行数に分割することを特徴とする行切り出し装置。
【請求項８】
請求項１乃至７いずれかに記載の行切り出し装置において、前記第２の行切り出し部が行を分割する場合には、前記基準行の高さから分割行の範囲を定めることを特徴とする行切り出し装置。
【請求項９】
請求項８記載の行切り出し装置において、
行内の各矩形を、該矩形を包含する分割行に割り当てることを特徴とする行切り出し装置。
【請求項１０】
請求項９記載の行切り出し装置において、
複数の分割行にまたがる矩形については、矩形の大きさが所定のサイズよりも小さい場合には無視し、それ以外の場合には各分割行に割り当てることを特徴とする行切り出し装置。
【請求項１１】
請求項９記載の行切り出し装置において、
複数の分割行にまたがる矩形については、矩形の位置が行頭に近い場合には該矩形を最初の分割行に割り当て、それ以外の場合は各分割行に包含されるように座標を修正して各分割行に割り当てることを特徴とする行切り出し装置。
【請求項１２】
請求項９記載の行切り出し装置において、
複数の分割行にまたがる矩形については、矩形が分割前の行範囲の淵に接する場合には無視し、それ以外の場合には各分割行に割り当てることを特徴とする行切り出し装置。
【請求項１３】
請求項９乃至１２いずれかに記載の行切り出し装置において、
前記第２の行切り出し部が行内の各矩形を各分割行に割り当てる際には、それぞれの矩形が各分割行の範囲に包含されるように座標を修正することを特徴とする行切り出し装置。
【請求項１４】
請求項１乃至１３いずれかに記載の行切り出し装置において実行される行切り出し方法。
【請求項１５】
請求項１４記載の行切り出し方法をコンピュータに実施させるためのプログラム。
【請求項１６】
請求項１５記載のプログラムを保存したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、行切り出し装置、行切り出し方法、該方法を実施するプログラム、及び該プログラムを記録した記録媒体に関し、さらに詳しくは、ＯＣＲ等の文字認識装置において文書画像中にノイズが混入していても、その影響を受けることがなく、正しい行切り出しを行うことができる行切り出し装置、行切り出し方法、該方法を実施するプログラム、及び該プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
文字認識装置においては、入力された文書画像に対し行切り出しを行い、切り出された行画像より１文字の画像を切り出して認識処理を行う。この行切り出し及び文字切り出しの方法は、次の２方法に大別される。
１つは、画素の黒連結外接矩形を用いる方法であり、他の１つは、文書画像上の水平及び垂直方向の投影を用いる方法である。
画素の黒連結外接矩形を用いる方法を採用した従来の行切り出し装置として、特許第２８９５１２２号に記載の行切り出し方法を実施した装置が知られている。この従来の行切り出し方法は、黒画素の連結成分を順次統合していくことで行データを生成する方法である。
【０００３】
【特許文献１】
特許第２８９５１２２号公報
【０００４】
【発明が解決しようとする課題】
前記従来技術のうち、画素の黒連結外接矩形を用いる方法は、黒画素の連結成分を順次統合していく手法であるので、射影を用いる方法等と比較すると、画像（原稿）の傾きに対して頑強、つまり文書画像の傾斜した行に対しても高精度な切り出しが可能であるという利点がある。
しかしながら、その一方で、ノイズの混入等により、本来複数の行であるものが、１つの行と判断されてしまう場合がある。
図１４は、従来の行切り出し装置による行切り出し結果を示す図、図１５は理想的な行切り出し結果を示す図である。
図１４に示す行切り出し結果では、ノイズの混入により行の過統合が生じており、３行目一番下の文字の「広」と「有」の間のノイズにより、この２つの矩形の間に重なりが生じ、その結果この２つの行が１行と判断されてしまっている。本発明は、文書画像中にノイズが混入しているために過統合された行を適切な基準で分割し、図１５に示すような正しい行切り出し結果を得ることを目的とする。
【０００５】
【課題を解決するための手段】
本発明は、前記事情に鑑みてなされたもので、請求項１の発明は、文書画像中から行を切り出す第１の行切り出し部と、該第１の行切り出し部で切り出された行の中から基準行を抽出し、該基準行を用いて前記第１の行切り出し部で切り出された行を修正する第２の行切り出し部からなる行切り出し装置であることを特徴とする。
請求項２の発明は、請求項１記載の行切り出し装置において、前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、行の分割を行うことを特徴とする。
請求項３の発明は、請求項１記載の行切り出し装置において、前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、行の幅が広い場合に前記推定行数に分割することを特徴とする。
請求項４の発明は、請求項１記載の行切り出し装置において、前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、該推定行数に前記各行を分割した場合に、行間に存在する画像の状況に応じて行の分割を判断し、該分割が適当と判断された場合に、前記推定行数に分割することを特徴とする。
【０００６】
請求項５の発明は、請求項１記載の行切り出し装置において、前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、前記推定行数に行を分割した場合に、行間にまたがる矩形の状況に応じて行の分割を判断し、該分割が適当と判断された場合に、前記推定行数に分割することを特徴とする。
請求項６の発明は、請求項１記載の行切り出し装置において、前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、前記推定行数に行を分割した場合に、行間にまたがる矩形数と行内の全矩形数との比が所定の値よりも小さい場合に、前記推定行数に分割することを特徴とする。
請求項７の発明は、請求項１記載の行切り出し装置において、前記第２の行切り出し部は、前記基準行の高さを用いて前記第１の行切り出し部で切り出された各行の推定行数を算出し、該推定行数が２以上の行については、前記推定行数に行を分割した場合に、行間にまたがる矩形の面積と行内の全矩形の面積との比が所定の値よりも小さい場合に、前記推定行数に分割することを特徴とする。
【０００７】
請求項８の発明は、請求項１乃至７記載の行切り出し装置において、前記第２の行切り出し部が行を分割する場合には、前記基準行の高さから分割行の範囲を定めることを特徴とする。
請求項９の発明は、請求項８記載の行切り出し装置において、行内の各矩形を、該矩形を包含する分割行に割り当てることを特徴とする。
請求項１０の発明は、請求項９記載の行切り出し装置において、複数の分割行にまたがる矩形については、矩形の大きさが所定のサイズよりも小さい場合には無視し、それ以外の場合には各分割行に割り当てることを特徴とする。
請求項１１の発明は、請求項９記載の行切り出し装置において、複数の分割行にまたがる矩形については、矩形の位置が行頭に近い場合には該矩形を最初の分割行に割り当て、それ以外の場合は各分割行に包含されるように座標を修正して各分割行に割り当てることを特徴とする。
請求項１２の発明は、請求項９記載の行切り出し装置において、複数の分割行にまたがる矩形については、矩形が分割前の行範囲の淵に接する場合には無視し、それ以外の場合には各分割行に割り当てることを特徴とする。
【０００８】
請求項１３の発明は、請求項９乃至１２記載の行切り出し装置において、前記第２の行切り出し部が行内の各矩形を各分割行に割り当てる際には、それぞれの矩形が各分割行の範囲に包含されるように座標を修正することを特徴とする。
請求項１４の発明は、請求項１乃至１３に記載の行切り出し装置において実行される行切り出し方法であることを特徴とする。
請求項１５の発明は、請求項１４記載の行切り出し方法をコンピュータに実施させるためのプログラムであることを特徴とする。
請求項１６の発明は、請求項１５記載のプログラムを保存したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態を図１〜図１３に示す実施例に基づいて説明する。（実施例１）
図１は、本発明の実施例１による行切り出し装置の概略を示すブロック図である。なお、図１では、文字認識装置のうちの行切り出し装置の部分のみに焦点を絞って記載している。
本発明の行切り出し装置は、図示しない文字認識装置のバスに接続された画像入力部１、第１の行切り出し部２、第２の行切り出し部３、行出力部４から構成されている。
【００１０】
画像入力部１においては、文字認識装置に与えられた画像を第１の行切り出し部２へ出力する。その際、画像と共に認識対象領域のデータを与えてもよい。また、認識対象領域が与えられた場合には、与えられた領域内のみを行切り出しの対象とすればよい。
第１の行切り出し部２は、前記したような従来例で提案されている方法で行を切り出す。すなわち、黒画素の連結成分を順次統合してゆく方法、射影を用いる方法等、様々な手法が提案されているが、ここでは前記した特許第２８９５１２２号に示されている行切り出し方法を用いて、行を切り出す例について説明する。
【００１１】
特許第２８９５１２２号に示す方法で行切り出しを行った場合、行矩形の座標と行内の矩形（黒画素連結成分の外接矩形）の座標が、第１の行切り出し部２から出力され、行矩形の座標と行内の矩形の座標が、第２の行切り出し部３に対して出力される。
第２の行切り出し部３においては、第１の行切り出し部２から送られてきた行矩形の座標を用いて、基準行を選択する。基準行の選択にあたっては、まず全ての行矩形からその最大幅と最大高さを求める。
図２は、全ての行矩形からその最大幅と最大高さを求める方法を説明するための図である。
第１の行切り出し部２に対し、図２に示すような認識対象領域が入力された場合、最大幅はＭａｘＷ、最大高さはＭａｘＨとして求められる。
【００１２】
次に、メンバシップ関数を用いて、各行の評価値を算出する。
図３は、基準行を抽出する際に用いるメンバシップ関数を説明するための図で、図３において、左側に示す図は行幅に対するメンバシップ関数、右側に示す図は行高さに対するメンバシップ関数を説明するための図である。
図４は、評価値の算出方法を説明するための図である。
図４では、行高さのメンバシップ関数から求まる評価値と、行幅のメンバシップ関数から求まる評価値の和を各行の評価値とし、評価値最大の行を基準行として選択する。
メンバシップ関数は、
・行幅が広いほど評価値が高い、
・行高さが低いほど評価値が高い、
ように設定されている。ただし、行高さについては、誤って線分のみの行やノイズのみの微小行を選択しないように、所定の閾値より小さい場合には評価値が０となるようにしている。また、メンバシップ関数の連続性を考慮して、最大行幅の半分の高さで評価値が最大としている。
【００１３】
次に、行数Ｎを推定する。行数を推定するに当たっては、行の高さのみではなく、行間スペースの幅を用いると、より高精度に行数を算出できる。ここでは、処理行と前後行間の余白幅で、狭い方を行間スペースの幅Ｓと推定する。行数Ｎは数式１で求める。（ただし、小数点以下は四捨五入で値を算出する。）
Ｎ＝（処理行の高さ）／（基準行の高さ＋Ｓ）……（数式１：行数の推定式）
【００１４】
図５は、第２の行切り出し部において実行される処理を示すフローチャートである。
第２の行切り出し部３において推定された行数Ｎが１以下の場合、分割処理を行わずに処理を終了し、次の処理に移る。
推定された行数Ｎが２以上の場合、各分割行の範囲に包含される矩形を各分割行に割り当てる。
【００１５】
図６は、行間にまたがる矩形が存在するような画像の例を示す図、図７は、図６に示す画像に第２の行切り出し部において処理を実行したときの結果の画像を示す図である。
本実施例では、図６の画像において、矩形Ａ〜Ｃは無視し、他の矩形を各分割行に割り当てる。
【００１６】
（実施例２）
図８は、実施例２の第２の行切り出し部において実行される処理を示すフローチャートである。
実施例２の行切り出し装置において、推定行数Ｎを算出する部分までは実施例１の行切り出し装置と同様であるので説明を省略する。
実施例２の行切り出し装置では、推定された行数Ｎが２以上の場合には分割処理の是非を判断する。ここで、基準行に対して、フォントサイズが大きいために、Ｎが２行以上になっている行を誤って分割することは避けたい。そこで、図９に示す２つのメンバシップ関数を導入する。
図９は、行分割の判定に用いるメンバシップ関数を説明するための図である。図９において、左側の図に示すメンバシップ関数は行幅によるものであり、処理対象の全行中の最大行幅ＭａｘＷを用いて、処理行の幅から評価値を算出する。タイトル等でフォントサイズが大きくなっている行では、行の幅が本文（基準行）よりも狭いケースが多いために導入されている。行の幅が広いほど、分割すると判断される可能性が高くなる。
【００１７】
図９において、右側の図に示すメンバシップ関数は、行間にまたがると推定される矩形の面積比を用いたものである。行内の全矩形の面積和を最大値として、Ｎ行に分割する場合に、行間をまたぐ矩形（図６の例では、Ａ，Ｂ，Ｃで示された矩形）の面積の和により評価値を算出する。行間をまたぐ矩形の面積の和は、本来分割するべきではない行（フォントが大きい行）では、比率が高くなるために導入している。最終的には両方のメンバシップ関数から求めた評価値の積が０．５より大きい場合に処理行を分割すると判断する。
分割すると判断されたならば、各分割行の範囲に包含される矩形を各分割行に割り当てる。本実施例では、図５の場合、矩形Ａ〜Ｃは無視し、他の矩形を各分割行に割り当てる。
【００１８】
（実施例３）
図１０は、実施例３の行切り出し装置の処理を示すフローチャートである。
実施例３の行切り出し装置において、行の分割を判断する部分までは実施例２の行切り出し装置と同様であるので、説明を省略する。
分割すると判断されたならば、各分割行の範囲に包含される矩形を各分割行に割り当てる。
図１１は、実施例３の行切り出し装置で図６の画像より行を切り出した結果を示す図である。
実施例３の行切り出し装置では、図６の画像の場合、矩形Ａ〜Ｃは複数の分割行にまたがるので、図１１に示すように、矩形Ａ１，Ａ２，Ｂ１，Ｂ２，Ｃ１，Ｃ２に分割してそれぞれの分割行に割り当てる。
【００１９】
（実施例４）
図１２は、実施例４の行切り出し装置で図６の画像より行を切り出した結果を示す図である。
実施例４の行切り出し装置において、行の分割を判断する部分までは実施例２の行切り出し装置と同様であるので、説明を省略する。
実施例４の処理を示すフローチャートは、図１０に示す実施例３のフローチャート同様であるが、分割すると判断されたならば、複数の分割行にまたがる矩形について、以下の条件を満たすものを削除する。
・行間スペースＳよりも高さが低い。（図６の画像における矩形Ｂ。ノイズを無視するための対策）
・矩形の左端と行の左端の距離が基準行高さよりも狭い。（図６の画像における矩形Ａ。行頭の大文字を分割しないための対策）
最後に、残った矩形について、分割行に割り当てる。実施例４では、図６の画像の場合、矩形Ａ〜Ｃは複数の分割行にまたがり、そのうち、矩形ＡとＢは先の条件で削除されるので、矩形Ｃのみを図１２に示すように、矩形Ｃ１，Ｃ２に分割してそれぞれの分割行に割り当てる。
【００２０】
（実施例５）
図１３は、実施例５の行切り出し装置で図６の画像より行を切り出した結果を示す図である。
実施例５の行切り出し装置において、行の分割を判断する部分までは実施例２の行切り出し装置と同様であるので、説明を省略する。
実施例５の処理を示すフローチャートは、図１０に示す実施例３のフローチャート同様であるが、分割すると判断されたならば、複数の分割行にまたがる矩形について、以下の条件を満たすものを削除する。
・行間スペースＳよりも高さが低い。（図６の画像における矩形Ｂ。）
最後に、残った矩形について、分割行に割り当てる。ただし、複数の分割行にまたがる矩形のうち、次の条件を満たすものは分割せずに、最初の分割行に割り当てる。
・矩形の左端と行の左端の距離が基準行高さよりも狭い。（図６の画像における矩形Ａ。）
図６の画像の場合、矩形Ａは上記条件を満たすので、矩形の座標はそのままで最初の分割行に割り当てる。矩形Ｂは既に削除されている。矩形Ｃは複数の分割行にまたがるので、矩形Ｃ１，Ｃ２に分割してそれぞれの分割行に割り当て、最終的に図１３に示す結果を得る。
【００２１】
【発明の効果】
文字認識装置等において、文書画像から行を切り出す際、文書画像中に汚れ等のノイズが混入しているため過統合された行を適切な基準で分割し、正しい行切り出し結果を得ることができる頑強な行切り出し装置、行切り出し方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施例１による行切り出し装置の概略を示すブロック図である。
【図２】全ての行矩形からその最大幅と最大高さを求める方法を説明するための図である。
【図３】基準行を抽出する際に用いるメンバシップ関数を説明するための図である。
【図４】評価値の算出方法を説明するための図である。
【図５】第２の行切り出し部において実行される処理を示すフローチャートである。
【図６】行間にまたがる矩形が存在するような画像の例を示す図である。
【図７】図６に示す画像に第２の行切り出し部において処理を実行したときの結果の画像を示す図である。
【図８】実施例２の第２の行切り出し部において実行される処理を示すフローチャートである。
【図９】実施例２の行切り出し装置において、行分割の判定に用いるメンバシップ関数を説明するための図である。
【図１０】実施例３の行切り出し装置の処理を示すフローチャートである。
【図１１】実施例３の行切り出し装置において、図６の画像より行を切り出した結果を示す図である。
【図１２】実施例４の行切り出し装置において、図６の画像より行を切り出した結果を示す図である。
【図１３】実施例５の行切り出し装置において、図６の画像より行を切り出した結果を示す図である。
【図１４】従来の行切り出し装置による行切り出し結果を示す図である。
【図１５】理想的な行切り出し結果を示す図である。
【符号の説明】
１…画像入力部、２…第１の行切り出し部、３…第２の行切り出し部、４…行出力部。
【図１】
2004102796.tif 000003
【図２】
2004102796.tif 000004
【図３】
2004102796.tif 000005
【図４】
2004102796.tif 000006
【図５】
2004102796.tif 000007
【図６】
2004102796.tif 000008
【図７】
2004102796.tif 000009
【図８】
2004102796.tif 000010
【図９】
2004102796.tif 000011
【図１０】
2004102796.tif 000012
【図１１】
2004102796.tif 000013
【図１２】
2004102796.tif 000014
【図１３】
2004102796.tif 000015
【図１４】
2004102796.tif 000016
【図１５】
2004102796.tif 000017