JP3100825B2 - 線認識方法 - Google Patents

線認識方法

Info

Publication number
JP3100825B2
JP3100825B2 JP06041077A JP4107794A JP3100825B2 JP 3100825 B2 JP3100825 B2 JP 3100825B2 JP 06041077 A JP06041077 A JP 06041077A JP 4107794 A JP4107794 A JP 4107794A JP 3100825 B2 JP3100825 B2 JP 3100825B2
Authority
JP
Japan
Prior art keywords
line
vertical
horizontal
elements
run
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP06041077A
Other languages
English (en)
Other versions
JPH07249100A (ja
Inventor
尚史 斎鹿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP06041077A priority Critical patent/JP3100825B2/ja
Publication of JPH07249100A publication Critical patent/JPH07249100A/ja
Application granted granted Critical
Publication of JP3100825B2 publication Critical patent/JP3100825B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は線認識方法に関する。
より詳しくは、文字と破線とを精度良く識別できる線認
識方法に関する。
【0002】
【従来の技術および発明が解決しようとする課題】帳票
を含めた一般文書には罫線(表を構成する場合も含む)
が含まれることが多い。このような場合、OCR(光学
的文字読み取り機)で処理を行うと、文字を構成する線
と、罫線を構成する破線や点線、鎖線(簡単のため、こ
の明細書の全体を通して単に「破線」という。)との間
の混同が起こりがちである。
【0003】これまで、破線抽出については、黒画素連
結矩形(黒画素の連なりを、それに外接する矩形として
抽出したもの)の幅、高さおよび隣接間距離が線種に固
有のヒストグラムを示すことを利用して、破線の構成要
素を文字の構成要素から識別する手法が知られている
(例えば、特開平4−291478)。また、破線が途切
れなく一本の線になる大きさまで画像を縮小して、破
線、実線をまとめて抽出する手法(例えば、特開平5−
12489)が提案されている。
【0004】このうち前者の手法では、(1)破線と、こ
れと同程度の大きさを持つ文字とを区別するのが難しい
という問題がある。
【0005】また、後者の手法でも、小さな文字が狭い
間隔で並ぶと縮小画像では実線になってしまい、やはり
上記(1)の問題は解決されていない。また、(2)原画像
から連結黒画素を取り出した後、縮小画像を作成して、
さらに縮小画像の内容を探査するため、画像メモリに対
するアクセスを頻繁に行わねばならない。このため、高
速な認識ができないという問題がある。(3)縮小画像で
は実線と破線との区別が失われるため、最終結果におい
て線種の区別が必要なアプリケーションには応用しにく
いという問題がある。
【0006】そこで、この発明の目的は、少数回の画像
メモリへのアクセスでもって、破線と文字とを精度良く
区別できる線認識方法を提供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の線認識方法は、入力された画像か
ら、縦横いずれか一方向に延びる画素のランを抽出する
工程と、上記一方向に延びる画素のランから縦横のうち
他方向に延びる画素のランを抽出する工程と、上記各ラ
ンが延びる方向と長さとに基づいて、上記抽出したラン
の集合からそれぞれ横破線、縦破線、横実線、縦実線を
構成する可能性を持つランを含む4種の部分集合を作成
する工程と、上記4種の部分集合のそれぞれで、互いに
連結しているランを統合して線素となし、上記4種の部
分集合にそれぞれ対応する4種の線素集合を作成すると
ともに、上記各線素に含まれるランの長さの和を算出す
る工程と、上記各線素に含まれるランの長さの和と、上
記各線素に対して外接する矩形の面積との比に基づい
て、上記4種の線素集合からそれぞれ横破線、縦破線、
横実線、縦実線を構成するのに不適格な線素を除去する
工程と、上記4種の線素集合のそれぞれで、残っている
線素が互いに近接しているか否かを判定して、上記各線
素を互いに近接している線素からなるグループに分類
し、上記各グループをそれぞれ1つの線として抽出する
工程を有することを特徴としている。
【0008】また、請求項2に記載の線認識方法は、入
力された画像から、縦横いずれか一方向に延びる画素の
ランを抽出する工程と、上記抽出したランのすべてを要
素に含む集合を、それぞれ横破線、縦破線を構成する可
能性を持つランを含む2種の部分集合として設定すると
ともに、上記各ランが延びる長さに基づいて、上記抽出
したランの集合からそれぞれ横実線、縦実線を構成する
可能性を持つランを含む2種の部分集合を作成する工程
と、上記4種の部分集合のそれぞれで、互いに連結して
いるランを統合して線素となし、上記4種の部分集合に
それぞれ対応する4種の線素集合を作成するとともに、
上記各線素に含まれるランの長さの和を算出する工程
と、上記各線素に含まれるランの長さの和と、上記各線
素に対して外接する矩形の面積との比に基づいて、上記
4種の線素集合からそれぞれ横破線、縦破線、横実線、
縦実線を構成するのに不適格な線素を除去する工程と、
上記4種の線素集合のそれぞれで、残っている線素が互
いに近接しているか否かを判定して、上記各線素を互い
に近接している線素からなるグループに分類し、上記各
グループをそれぞれ1つの線として抽出する工程を有す
ることを特徴としている。
【0009】また、請求項3に記載の線認識方法は、請
求項1または2に記載の線認識方法において、上記横破
線、縦破線に対応する線素集合から得られた上記各グル
ープのうち、グループに属する線素の数が一定数未満の
ものを無視することを特徴としている。
【0010】また、請求項4に記載の線認識方法は、請
求項1乃至3のいずれか一つに記載の線認識方法におい
て、上記抽出した線を構成する各線素について、上記線
素に含まれるランの長さの和と、上記線素の長さとの比
に基づいて線素の太さを求め、この線素の太さに基づい
て上記線の太さを算出することを特徴としている。
【0011】
【作用】請求項1の線認識方法では、4種の線素集合か
らそれぞれ横破線、縦破線、横実線、縦実線を構成する
のに不適格な線素を除去している。このとき、不適格な
線素を、上記各線素に含まれるランの長さの和、すなわ
ち各線素に含まれる画素の数と、上記各線素に対して外
接する矩形の面積との比に基づいて除去しているので、
破線を構成する線素と、文字とが、たとえ大きさが似て
いても、精度良く区別される。したがって、破線と文字
とが精度良く区別される。
【0012】しかも、入力された画像、すなわち画像メ
モリに対するアクセスは、最初に縦横いずれか一方向の
画素ランを取り出す処理だけであるから、高速な処理が
可能となる。
【0013】また、横破線、縦破線、横実線、縦実線を
構成する可能性を持つランを含む4種の部分集合を作成
した後、上記4種の部分集合にそれぞれ対応する4種の
線素集合を作成し、各線素集合のそれぞれで線を抽出し
ているので、従来と異なり、破線と実線との区別がなさ
れた状態で最終結果が得られる。
【0014】また、ランの部分集合の定め方にも依存す
るが、線素集合から除かれる上記不適格な線素は、一般
に文字を構成する要素であるから、文字認識を行う場合
の入力情報とすることができる。
【0015】また、上記4種の線素集合のそれぞれで、
各線素を互いに近接している線素からなるグループに分
類し、上記各グループをそれぞれ1つの線として抽出す
る工程では、残っている線素が互いに近接しているか否
かを判定している。この線素が互いに近接しているとい
う条件は局所的な性質であるから、この工程は破線全体
の傾きから殆ど影響を受けない。したがって、傾きを持
った破線についても精度良く抽出が行われる。
【0016】なお、線素集合のそれぞれで、各線素を互
いに近接している線素からなるグループに分類し、上記
各グループをそれぞれ1つの線として抽出するので、互
いに近接している線素を取り出す順序は、最終結果に全
く影響を与えない。したがって、各線素集合内で、線素
を座標その他の情報によって予めソーティング(順序付
け)しておくというような必要はない。したがって、簡
単に線抽出が行われる。
【0017】請求項2に記載の線認識方法は、請求項1
の線認識方法と同様に作用して、同様の効果を奏する。
しかも、この請求項2の線認識方法では、入力された画
像から、縦横いずれか一方向に延びる画素のランを抽出
した後、上記抽出したランのすべてを要素に含む集合
を、それぞれ横破線、縦破線を構成する可能性を持つラ
ンを含む2種の部分集合として設定するとともに、上記
各ランが延びる長さに基づいて、上記抽出したランの集
合からそれぞれ横実線、縦実線を構成する可能性を持つ
ランを含む2種の部分集合を作成している。すなわち、
縦横のうち上記一方向のランだけでもって、上記4種の
部分集合を作成している。したがって、縦横の残りの方
向のランを生成する必要がなく、両方向のランを生成す
る場合に比して、処理が簡素化される。
【0018】請求項3に記載の線認識方法では、横破
線、縦破線に対応する線素集合から得られた上記各グル
ープのうち、グループに属する線素の数が一定数未満の
ものを無視するので、つぶれた文字やノイズなどが破線
として抽出されることが無くなる。つまり、横破線、縦
破線に対応する線素集合に、特定の文字が偶発的な理由
で残っていたとしても、その特定の文字の近くにある他
の文字は一般にその線素集合に残らないので、上記特定
の文字のグループに分類される線素の数は極めて少なく
なる。したがって、グループに属する線素の数が一定数
未満のものを無視することによって、つぶれた文字やノ
イズなどが破線として抽出されることが無くなる。
【0019】請求項4に記載の線認識方法では、抽出し
た線を構成する各線素について、上記線素に含まれるラ
ンの長さの和と、上記線素の長さとの比に基づいて線素
の太さを求め、この線素の太さに基づいて上記線の太さ
を算出する。したがって、線の種類と併せて、線の太さ
表す情報も出力される。
【0020】
【実施例】以下、この発明の線認識方法を実施例により
詳細に説明する。
【0021】図1はこの発明を実施するのに用いる線認
識装置のブロック構成を示している。スキャナ00は、
入力紙面をスキャンして、画像を画像メモリ01に格納
する。横方向ラン抽出部02は、画像メモリ01を走査
して横方向に延びる黒画素のラン(1画素分の太さを持
つ)を抽出し、抽出した横方向のランを表すラン情報
(始点、終点の座標など)を横方向ランメモリ03に格
納する。縦方向ラン抽出部04は、横方向ランメモリ0
3の内容から縦方向のランを生成して、生成した縦方向
のランを表すラン情報を縦方向ランメモリ05に格納す
る。
【0022】ラン長測定部06は、横方向ランメモリ0
3、縦方向ランメモリ05の内容を参照して各ランの長
さを測定し、その長さに応じて、横方向ランメモリ03
と縦方向ランメモリ05の内容を、横破線ランメモリ0
7、横実線ランメモリ08、縦破線ランメモリ09、縦
実線ランメモリ10に部分的にコピーする。つまり、横
方向、縦方向のラン(ラン情報)から、ランの長さに基
づいて、それぞれ横破線、縦破線、横実線、縦実線に含
まれる可能性を持つランを取り出して、上記4つの線種
に対応するランの部分集合を作成する。
【0023】ラン統合部11は横破線ランメモリ07の
内容を参照して、連結しているランを統合して線素を作
成するとともに、線素に含まれる黒画素数を算出する。
そして、各線素を表す線素情報(線素に対して外接する
矩形の座標と、線素に含まれる黒画素数)を横破線線素
メモリ12に格納する。同様に、ラン統合部11は、横
実線ランメモリ08、縦破線ランメモリ09、縦実線ラ
ンメモリ10の内容からそれぞれ横実線線素メモリ1
3、縦破線線素メモリ14、縦実線線素メモリ15の内
容を作る。各線素メモリ12,…,14に格納された線
素(線素情報)は、それぞれ横破線、横実線、縦破線、
縦実線に対応する線素集合を構成する。
【0024】異常線素条件テーブル17は、横破線、横
実線、縦破線、縦実線の各線種に含まれる可能性が低い
と考えられる線素を表す条件を保持している。線素検証
部16は、横破線に含まれる可能性が低いと考えられる
線素を表す条件を異常線素条件テーブル17から取り出
し、その条件に該当するものを横破線線素メモリ12の
内容から除去する。同様に、線素検証部16は、横実
線、縦破線、縦実線の各線種に含まれる可能性が低いと
考えられる線素を表す条件を異常線素条件テーブル17
からそれぞれ取り出し、取り出した条件に該当するもの
を線素メモリ13,…,15の内容からそれぞれ除去す
る。
【0025】近接条件テーブル19は、各線素集合につ
いて、線素が互いに近接していることを表す条件を保持
している。線素近接関係判定部18は、線素が互いに近
接していることを表す条件を近接条件テーブル19から
取り出し、各線素集合について、その条件に応じて線素
を統合して線を抽出する。そして、抽出した線の番号を
各線素メモリ12,…,15の内容に付加する。ただ
し、線を構成しない場合は、そのことが識別できる値を
入れる。
【0026】線幅判定部20は、各線素メモリ12,
…,15の内容を参照して各線の線幅を算出し、算出し
た線幅をそれぞれ横破線線幅メモリ21、横実線線幅メ
モリ22、縦破線線幅メモリ23、縦実線線幅メモリ2
4に書き込む。出力制御部25は、各線素メモリ12,
…,15の内容と各線幅メモリ21,…,24の内容と
を参照して、所定の線幅を持つ破線や実線をディスプレ
イ26に出力する。横破線線素メモリ12、縦破線線素
メモリ14に格納された線素情報に基づく線はそれぞれ
横破線、縦破線として出力される一方、横実線線素メモ
リ13、縦実線線素メモリ15に格納された線素情報に
基づく線はそれぞれ横実線、縦実線として出力される。
ユーザは、ディスプレイ26に出力された結果をキーボ
ード27、マウス28を用いて適宜修正することができ
る。プリンタ29は、ディスプレイ26に表示された結
果を印刷することができる。
【0027】この線認識装置は全体として図2の動作フ
ローに従って、ステップS0〜S6の処理を行う。な
お、以下の説明で、「一定値」とあるのは、該当する処理
において特定の値であることを意味し、各処理を通じて
共通の値が設定されていることを意味するものではな
い。
【0028】(ステップS0)まず、スキャナ00が、
入力紙面をスキャンして、画像を画像メモリ01に格納
する。例えば、縦実線の画像は、図3(a)に示すよう
に、全体として縦に延び、画素単位で細かな凹凸を示す
画像として格納される。
【0029】(ステップS1)次に、横方向ラン抽出部
02が、画像メモリ01を走査して横方向のランを抽出
し、抽出した横方向のランを表すラン情報(始点、終点
の座標など)を横方向ランメモリ03に格納する。
【0030】例えば図3(a)に示した画像から横方向の
ランを抽出した場合、同図(e)に示すようなものが得ら
れる。
【0031】横方向のランをラン情報として表現する形
式は、横方向の始点、終点座標、縦方向の座標(ランは
1画素の太さを持つので縦方向の始点座標=縦方向の終
点座標)が復元可能であれば何でもよい。
【0032】(ステップS2)次に、縦方向ラン抽出部
04が、横方向ランメモリ03の内容、つまり上記で
得られた横方向のランを表すラン情報から縦方向のラン
を生成して、生成した縦方向のランを表すラン情報を縦
方向ランメモリ05に格納する。横方向のランを表すラ
ン情報は、画像を再構成するのに必要な情報をすべて含
むので、これに基づいて縦方向のランを生成することが
できる。
【0033】例えば図3(e)に示した横方向のラン(ラ
ン情報)から、縦方向のランを抽出した場合、同図(b)
に示すようなものが得られる。
【0034】縦方向のランを表現する形式は、縦方向の
始点、終点座標、横方向の座標(ランは1ラインからな
るので横方向の始点座標=横方向の終点座標)が復元可
能であれば何でもよい。
【0035】なお、後述の通り、このステップ2が省略
可能な場合がある。
【0036】(ステップS3)次に、ラン長測定部06
は、横方向ランメモリ03、縦方向ランメモリ05の内
容を参照して各ランの長さを測定する。その長さに応じ
て、横破線ランメモリ07、横実線ランメモリ08、縦
破線ランメモリ09、縦実線ランメモリ10に、横方向
ランメモリ03と縦方向ランメモリ05の内容を部分的
にコピーする。つまり、ステップS1,S2で抽出また
は生成した横方向,縦方向のランの集合から、各ランの
長さに基づいて、それぞれ横破線、縦破線、横実線、縦
実線に含まれる可能性を持つランを取り出して、上記4
つの線種に対応するランの部分集合を作成する。作成さ
れる部分集合は、次の4種類である。
【0037】「部分集合の種類」 HD0:横破線に含まれる可能性を持つラン VD0:縦破線に含まれる可能性を持つラン HS0:横実線に含まれる可能性を持つラン VS0:縦実線に含まれる可能性を持つラン これらの部分集合の間には互いに重複があっても良い。
また、各ランをどの部分集合に入れるかを定める基準
も、次に示すように複数考えられる。その基準の例を三
通り挙げる。
【0038】「基準1」 HD0:ステップS1で得られたすべての横ラン VD0:HD0と同じ HS0:一定値以下の長さを持つ縦ラン VS0:一定値以下の長さを持つ横ラン 「基準2」 HD0:ステップS1で得られたすべての横ラン VD0:HD0と同じ HS0:一定値以上の長さを持つ横ラン VS0:一定値以上の長さを持つ縦ラン 「基準3」 HD0:ステップS1で得られたすべての横ラン VD0:HD0と同じ HS0:一定値以上の長さを持つ横ラン VS0:一定値以下(HS0とは別のしきい値)の長さを持
つ横ラン 例えば、図3(e)に示した横ランの集合から、上記基準
1または3を用いて部分集合VS0を作成した場合、同
図(f)に示すようなものが得られる。この場合、部分集
合VS0は一定値以下の長さを持つ横ランからなり、最
下部にあった長い横ランは縦実線に含まれる可能性が無
いとして除外されている。また、これとは別に、図3
(b)に示した縦ランの集合から、上記基準2を用いて部
分集合VS0を作成した場合、同図(c)に示すようなもの
が得られる。この場合、部分集合VS0は一定値以上の
長さを持つ縦ランからなり、両側にあった短い縦ランは
縦実線に含まれる可能性が無いとして除外されている。
いずれの基準を採用しても、後のステップの処理を円滑
に行うことができる。
【0039】なお、上記基準3を使用した場合は、縦ラ
ンを使用しないため、先に述べたようにステップS2を
省略することができ、線認識処理を簡素化することがで
きる。いずれにしても、画像メモリ01そのものへのア
クセスは、ステップS1の横方向のランの抽出以外には
必要がない。
【0040】(ステップS4)次に、ラン統合部11
が、上記ステップS3で得られた部分集合HD0、V
0、HS0、VS0のそれぞれについて、各部分集合内
で互いに連結するランを統合して線素を作成する。線素
を線素情報として表現するには、その外接矩形、つまり
線素に含まれるランを全て含む最小の矩形の座標を用い
る。
【0041】例えば、部分集合VS0が図3(f)に示した
ものである場合、その外接矩形は同図(g)に示すような
ものである。また、部分集合VS0が図3(c)に示したも
のである場合、その外接矩形は同図(d)に示すようなも
のである。先に述べたように、いずれの場合も円滑に処
理を行うことができる。
【0042】ここで、上記各部分集合HD0、VS0、H
0、VS0に含まれるランからできた線素の集合をそれ
ぞれ線素集合HD1、VD1、HS1、VS1とする。な
お、上記基準1,2,3の例では、いずれもHD0とV
0との内容が同じであるため、HD1とVD1との内容
もこの時点では同じである。
【0043】また、線素作成と同時に、ラン統合部11
は、各線素毎に、線素に含まれるランの長さの和を算出
する。これは、線素に含まれる黒画素の数を算出するこ
とに相当する。
【0044】ラン統合部11は、上記線素集合HD1
構成する各線素を表す線素情報(線素に対する外接矩形
の座標と、各線素に含まれる黒画素数)を、横破線線素
メモリ12に格納する。同様に、上記線素集合VD1
HS1、VS1を構成する各線素を表す線素情報を、それ
ぞれ横実線線素メモリ13、縦破線線素メモリ14、縦
実線線素メモリ15に格納する。
【0045】(ステップS5)次に、線素検証部16
が、横破線に含まれる可能性が低いと考えられる条件を
異常線素条件テーブル17から取り出し、その条件に該
当する線素情報を横破線線素メモリ12の内容から除去
する。同様に、線素検証部16は、横実線、縦破線、縦
実線の各線種に含まれる可能性が低いと考えられる条件
を異常線素条件テーブル17からそれぞれ取り出し、取
り出した条件に該当する線素情報を各線素メモリ13,
…,15の内容から除去する。つまり、線素集合H
1、VD1、HS1、VS1から、それぞれ横破線、縦破
線、横実線、縦実線を構成する可能性が低いと考えられ
る不適格な線素を取り除く。
【0046】ここで、線素集合から不適格な線素を取り
除く手法は、図3から直感的に理解することができる。
同図(a)は文字「9」、同図(b)は破線の線素を表してい
る(図は、説明の便宜上、ランではなく、画素を単位と
して表している。)。この例では、両者の外接矩形(図
示せず)の面積rがいずれも8×16=128であり同
じであるが、黒画素の数pが44と101であり大きく
異なる。この例から、外接矩形の面積pと黒画素数rと
の比p/rに基づいて、破線と文字とを区別できること
が分かる。このようにして、線素集合から不適格な線素
を取り除くことができる。
【0047】詳しくは、線素検証部16は、上記線素集
合HD1、VD1、HS1、VS1から、それぞれ次の条件
に該当する線素を取り除く。
【0048】「取り除かれる線素の条件」 HD1から取り除かれる線素: (線素に含まれる黒画素数/線素の外接矩形の面積)が
一定値以下のもの線素の縦方向の長さが一定値以上の
もの 線素の横方向の長さが一定値以上のもの VD1から取り除かれる線素: (線素に含まれる黒画素数/線素の外接矩形の面積)が
一定値以下のもの線素の縦方向の長さが一定値以上の
もの 線素の横方向の長さが一定値以上のもの HS1から取り除かれる線素: (線素に含まれる黒画素数/線素の横方向の長さ)が一
定値以上のもの 線素の縦方向の長さが一定値以上のもの 線素の横方向の長さが一定値以下のもの VS1から取り除かれる線素: (線素に含まれる黒画素数/線素の縦方向の長さ)が一
定値以上のもの 線素の縦方向の長さが一定値以下のもの 線素の横方向の長さが一定値以上のもの このうち、HD1、VD1についての一つ目の条件によ
って、それぞれ破線をなす線素と同じ大きさを持つよう
な文字を除去することができる。また、この条件中の
一定値を適切に定めることによって、同一の線素が破線
と実線との両方に属する可能性を皆無にできる。
【0049】さらに、HD1とVD1とのいずれかに属す
る線素であってこのステップS5で破線である可能性が
低いと判定されるものは、そのまま文字の構成要素の候
補と考えることができる(ただし、部分集合HD0、V
0の定め方に依存する。)。すなわち、ステップS3
の基準1〜3のいずれを用いた場合も、HD1とVD1
のいずれかに属する線素であってこのステップS5で除
去されるものは、画像中の連結黒画素外接矩形で、かつ
破線である可能性が低いものであるから、文字を構成す
る要素であるとみなすことができる。したがって、文字
認識を行う場合には、その入力情報とすることができ
る。
【0050】(ステップS6)次に、線素近接関係判定
部18が、各線素メモリ12,…,15について、線素
が互いに近接していることを定義する条件を近接条件テ
ーブル19から取り出し、その条件に応じて線素を統合
して、同一の線を構成すると考えられるグループに分け
る。これにより、各線素集合HD1、VD1、HS1、V
1からそれぞれ横破線、縦破線、横実線、縦実線を抽
出する。
【0051】ここで、上記2つの線素が「互いに近接」
しているという関係は、色々な定義が可能であり、ま
た、各線素集合毎に異なっていても差し支えない。例え
ば、次のような定義を採用することができる。
【0052】「互いに近接」の定義 HD1に含まれる線素の近接: 2つの線素の外接矩形の間の横方向のスペースは、予
め定められたしきい値t0より小さい。 2つの長方形は縦方向に重なる。
【0053】HS1に含まれる線素の近接:基本的にHD
1についての定義,と同じで、上記中のしきい値
0の値が異なる。
【0054】VD1に含まれる線素の近接: 2つの線素の外接矩形の間の縦方向のスペースは、予
め定められたしきい値t1より小さい。 2つの長方形は横方向に重なる。
【0055】VS1に含まれる線素の近接:基本的にVD
1についての定義,と同じで、上記中のしきい値
1の値が異なる。
【0056】図5は線素集合HD1に含まれる線素が互
いに近接しているかどうかの判定例を示している。な
お、図の下部に、しきい値t0として長さαを示してい
る。上記HD1についての近接の定義によれば、同図(a)
に示す線素ei,ejは、線素間の横方向のスペースがα
未満で、かつ縦方向に重なりがあるから、互いに近接し
ていると判定される。同図(b)に示す線素ei,ejは、
線素間の横方向のスペースがα未満であるが、縦方向に
重なりがないため、互いに近接しているとは判定されな
い。同図(c)に示す線素ei,ejは、縦方向に重なりが
あるが、線素間の横方向のスペースがαを超えるため、
互いに近接しているとは判定されない。
【0057】具体的には、線素集合HD1、VD1、HS
1、VS1のそれぞれについて、集合に含まれている線素
をグループに分ける手順は、次の(i)〜(iii)の通
りである。
【0058】(i)まず、線素集合に含まれている各線
素と1対1対応する要素(ラベル)からなるラベル配列
をつくり、各要素の値(ラベル値)を総て異なった値に
初期化する。
【0059】(ii)次に、図7のフローに示すように、
その線素集合に含まれる任意の2つの線素ei,ej(た
だし、i,jは個々の線素を指定するための整数)を取
り出し(S61)、その線素集合について上記「互いに
近接」の定義を参照して、eiとejが互いに近接してい
るかどうかを判定する(S62)。eiとejが互いに近
接していれば、その2つの線素ei,ejに対応するラベ
ル値を同一にする。同時に、それまで、線素ei,ejの
いずれかとラベル値が等しい状態にあった線素について
も、そのラベル値をei,ejの新しいラベル値と同一に
する(S63)。eiとejが互いに近接していなけれ
ば、直接S64に進む。S64では、全てのi,jの組
み合わせを処理したかどうかをチェックする。組み合わ
せが残っていれば、S61に戻って処理を繰り返す。
【0060】(iii)線素ei,ejの全ての組み合わせ
について上記(ii)の処理を行った時点で、ラベル値が
等しい状態にある線素を同一のグループに属するものと
する(S65)。
【0061】上記(i)〜(iii)の処理が終わった時
点で、同一のグループに属する線素(ラベル値が等しい
状態にある線素)は一つの線を構成するものと考えら
れ、別のグループに属するものは別の線を構成するもの
と考えられる。このようにして、各線素集合に含まれる
線素をグループに分けて線を抽出する。線素集合H
1、VD1、HS1、VS1から抽出された線は、それぞ
れ横破線、縦破線、横実線、縦実線を構成する。
【0062】線素近接関係判定部18は、同一グループ
に属する線素によって構成される線の番号を各線素メモ
リ12,…,15の内容に付加する。ただし、線に対応
しない場合は、そのことが識別できる値を入れるものと
する。
【0063】なお、このステップS6では、破線のみな
らず、実線についても、それが複数の線素からなってい
ることを前提にして処理を行うので、原画像で実線が途
切れていたとしても、それをつなぎあわせることができ
る。
【0064】ここで、破線を構成するグループについて
は、一定数以上の線素を含むかどうかを検査して、そう
でないものは処理対象から除外する。これは、線素集合
HD1、VD1に、つぶれた文字やノイズなどが除去され
ず残っていたときの対策である。つまり、つぶれた文字
等が偶発的な理由で除去されず、線素集合HD1、VD1
に残っていた場合、その文字の近くにある文字は一般に
その線素集合に残らない。この結果、残っている線素を
グループに分けるとき、その文字と同じグループに属す
る線素の数は極めて少なくなる。したがって、グループ
内の線素の数が一定数未満のものを無視することによっ
て、つぶれた文字等が破線として抽出されるのを防ぐこ
とができる。
【0065】線素集合HD1とVD1とのいずれかに属す
る線素であって、このステップS6で破線である可能性
が低いと判定されたものは、そのまま文字認識の入力情
報として使用することができる(ただし、部分集合HD
0、VD0の定め方に依存する。)。これは、前ステップ
S5と同様である。
【0066】また、このステップS6では、ラベリング
を用いて、線素が同一の線に属するか否かを判定するの
で、線素を取り出す順序は、最終結果に全く影響を与え
ない。したがって、各線素集合内で、線素を座標その他
の情報によって予めソーティング(順序付け)しておく
というような必要はなく、簡単に線を抽出することがで
きる。
【0067】また、2つの線素が互いに近接していると
いう条件は局所的な性質であるから、上記(i)〜(ii
i)の処理は破線全体の傾きから殆ど影響を受けない。
したがって、傾きを持った破線についても精度良く抽出
を行うことができる。
【0068】例えば、図6は、傾いた横破線を抽出する
場合を示している。同図(a)は、線素集合HD1に含まれ
る線素e0,…,e8の配置をそれぞれ外接矩形で表し
ている。また、線素間の横方向のスペースのしきい値α
を併せて示している。
【0069】(i′)まず、表1の上段に示すように、
各線素ei(i=0,…,8)に対応するラベルの初期
値をiとする。なお、図6(a)の各外接矩形内には、理
解を助けるため、このラベルの初期値を書き込んでい
る。
【0070】(ii′)次に、2つの線素(ei,ej)を
取り出す順序を指定する。この例では、最初にi=0に
設定した状態で、jを1,2,…,8と変化させて(e
0,ej)の組み合わせを一度ずつ取り出し、2つの線素
e0とejが互いに近接しているかどうかを判定する。
「互いに近接」していると判定した場合、ejのラベル
値をe0のラベル値に一致させる。この場合、図6(a)に
示すように、e0とe7とが互いに近接しているから、表
1の2段目に示すように、e7のラベル値をe0のラベル
値(=0)に一致させる。次に、i=1に設定した状態
で、jを2,3,…,8と変化させて(e1,ej)を一
度ずつ取り出し、2つの線素e1とejが互いに近接して
いるかどうかを判定する。この場合、図6(a)に示すよ
うに、e1とe6とが「互いに近接」しているから、表1
の3段目に示すように、e6のラベル値をe1のラベル値
(=1)に一致させる。このように、iを0,…,(線
素数−1)と変化させ、それぞれのiについてjをi,
i+1,…,(線素数−1)まで変化させて、全ての
(ei,ej)の組み合わせについて一度づつ判定を行
う。表1は、この順序で(ei,ej)を一度ずつ取り出
した場合の、各線素のラベル値の変化を示している。
【0071】(iii′)そして、線素ei,ejの全ての
組み合わせについて上記(ii′)の処理を行った時点
で、ラベル値が等しい状態にある線素を同一のグループ
に属するものとする。表1の最下段に示すように、線素
e0,…,e8のラベル値は最終的に0と1との2通り
に分かれる。図6(b)の各外接矩形内には、このラベル
の最終値を書き込んでいる。この図から分かるように、
線素集合HD1の線素e0,…,e8が、最終的に、異な
る破線を構成する2つのグループに分れたわけである。
このように、傾きを持った破線についても精度良く抽出
を行うことができる。
【表1】 (ステップS7)次に、線幅判定部20は、各線素メモ
リ12,…,15の内容を参照して、ステップS6で抽
出された線を構成する各線素について、その太さ(線
幅)を算出する。すなわち、線素集合HD1、HS1に含
まれる線素については、 (線素に含まれる黒画素数)/(線素の横方向の長さ) を線幅とする一方、線素集合VD1、VS1に含まれる線
素については、 (線素に含まれる黒画素数)/(線素の縦方向の長さ) を線幅とする。
【0072】続いて、この線素の太さから、線の太さを
算出する。線の太さを定義する方法はいくつか考えられ
る。例えば、線を構成する線素の太さを単純平均する方
法、線素の長さで重みをつけた加重平均をとる方法など
である。
【0073】線幅判定部20は、横破線、横実線、縦破
線、縦実線について算出した線幅をそれぞれ横破線線幅
メモリ21、横実線線幅メモリ22、縦破線線幅メモリ
23、縦実線線幅メモリ24に書き込む。
【0074】なお、線の太さを出力する方法としては、
そのまま太さの数値として出力する方法、一定以上の太
さのものを太線として実線や破線とは別の線種として出
力する方法などが可能である。
【0075】(ステップS8)出力制御部25は、各線
素メモリ12,…,15の内容と各線幅メモリ21,
…,24の内容とを参照して、所定の線幅を持つ破線や
実線をディスプレイ26に出力する。横破線線素メモリ
12、縦破線線素メモリ14、横実線線素メモリ13、
縦実線線素メモリ15に格納された線素情報に基づく線
は、それぞれ横破線、縦破線、横実線、縦実線として出
力される。当然ながら、入力画像の傾きに応じて、これ
らの線が傾きを持って出力される場合もある。
【0076】ユーザは、ディスプレイ26に出力された
結果をキーボード27、マウス28を用いて適宜修正す
ることができ、また、プリンタ29を用いて、ディスプ
レイ26に表示された結果を印刷することができる。
【0077】なお、この実施例では、ステップS1で横
方向のランを抽出した後、ステップS2で縦方向のラン
を生成しているが、これに限られるものではない。ステ
ップ1とステップ2とを逆にして、まず縦方向のランを
抽出し、続いて横方向のランを生成するようにしても良
い。例えば図3(a)に示した画像から縦方向のランを抽
出した場合、同図(e)に示すようなものが得られ、この
縦方向のラン(正確にはラン情報)から横方向のランを
抽出した場合、同図(b)に示すようなものが得られる。
つまり、いずれの方向のランを先に抽出したとしても、
同じ結果が得られるのである。
【0078】また、このようにステップS1で先に縦方
向のランを抽出した場合、ステップS3でラン集合から
横破線、縦破線、横実線、縦実線を構成する可能性を持
つランを含む4つの部分集合を作成するとき、横ランを
使用しない基準を採用することもできる。例えば、 「基準3′」 HD0:ステップS1で得られたすべての縦ラン VD0:HD0と同じ HS0:一定値以下の長さを持つ縦ラン VS0:一定値以上(HS0とは別のしきい値)の長さを持
つ縦ラン このようにした場合、ステップS2に相当する横方向の
ラン抽出を省略して、処理を簡素化することができる。
【0079】
【発明の効果】以上より明らかなように、請求項1の線
認識方法は、4種の線素集合からそれぞれ横破線、縦破
線、横実線、縦実線を構成するのに不適格な線素を除去
する工程で、不適格な線素を、上記各線素に含まれるラ
ンの長さの和、すなわち各線素に含まれる画素の数と、
上記各線素に対して外接する矩形の面積との比に基づい
て除去しているので、破線と文字とを精度良く区別する
ことができる。
【0080】しかも、入力された画像、すなわち画像メ
モリに対するアクセスは、最初に縦横いずれか一方向の
画素ランを取り出す処理だけであるから、高速に線認識
を行うことができる。
【0081】また、横破線、縦破線、横実線、縦実線を
構成する可能性を持つランを含む4種の部分集合を作成
した後、上記4種の部分集合にそれぞれ対応する4種の
線素集合を作成し、各線素集合のそれぞれで線を抽出し
ているので、従来と異なり、破線と実線との区別をつけ
た状態で最終結果を得ることができる。
【0082】また、ランの部分集合の定め方にも依存す
るが、線素集合から除かれる上記不適格な線素は、一般
に文字を構成する要素であるから、文字認識を行う場合
の入力情報とすることができる。
【0083】また、上記4種の線素集合のそれぞれで、
各線素を互いに近接している線素からなるグループに分
類し、上記各グループをそれぞれ1つの線として抽出す
る工程では、残っている線素が互いに近接しているか否
かを判定している。この線素が互いに近接しているとい
う条件は局所的な性質であるから、この工程は破線全体
の傾きから殆ど影響を受けない。したがって、傾きを持
った破線についても精度良く抽出を行うことができる。
【0084】また、線素集合のそれぞれで、各線素を互
いに近接している線素からなるグループに分類し、上記
各グループをそれぞれ1つの線として抽出するので、互
いに近接している線素を取り出す順序は、最終結果に全
く影響を与えない。したがって、各線素集合内で、線素
を座標その他の情報によって予めソーティング(順序付
け)しておくというような必要はなく、簡単に線抽出を
行うことができる。
【0085】請求項2に記載の線認識方法は、請求項1
の線認識方法と同様に作用して、同様の効果を奏する。
しかも、この請求項2の線認識方法では、入力された画
像から、縦横いずれか一方向に延びる画素のランを抽出
した後、上記抽出したランのすべてを要素に含む集合
を、それぞれ横破線、縦破線を構成する可能性を持つラ
ンを含む2種の部分集合として設定するとともに、上記
各ランが延びる長さに基づいて、上記抽出したランの集
合からそれぞれ横実線、縦実線を構成する可能性を持つ
ランを含む2種の部分集合を作成している。すなわち、
縦横のうち上記一方向のランだけでもって、上記4種の
部分集合を作成している。したがって、縦横の残りの方
向のランを生成する必要がなく、両方向のランを生成す
る場合に比して、処理を簡素化できる。
【0086】請求項3に記載の線認識方法では、横破
線、縦破線に対応する線素集合から得られた上記各グル
ープのうち、グループに属する線素の数が一定数未満の
ものを無視するので、つぶれた文字やノイズなどが破線
として抽出されるのを防止することができる。
【0087】請求項4に記載の線認識方法は、抽出した
線を構成する各線素について、上記線素に含まれるラン
の長さの和と、上記線素の長さとの比に基づいて線素の
太さを求め、この線素の太さに基づいて上記線の太さを
算出するので、線の種類と併せて、線の太さを表す情報
も出力することができる。
【図面の簡単な説明】
【図1】 この発明の線認識方法を実施するための線認
識装置のブロック構成を示す図である。
【図2】 上記線認識装置の動作フローを示す図であ
る。
【図3】 原画像から生成した横方向、縦方向のラン
と、線素の外接矩形を図である。
【図4】 文字と破線を構成する線素との識別方法を直
感的に説明する図である。
【図5】 2つの線素が互いに近接するかどうかの基準
を説明する図である。
【図6】 線素集合から傾きを持った2つの破線を抽出
する手順を説明する図である。
【図7】 線素集合から線を抽出する処理フローを示す
図である。
【符号の説明】
00 スキャナ 01 画像メ
モリ 02 横方向ラン抽出部 03 横方向
ランメモリ 04 縦方向ラン抽出部 05 縦方向
ランメモリ 06 ラン長測定部 07 横破線
ランメモリ 08 横実線ランメモリ 09 縦破線
ランメモリ 10 縦実線ランメモリ 11 ラン統
合部 12 横破線線素メモリ 13 横実線
線素メモリ 14 縦破線線素メモリ 15 縦実線
線素メモリ 16 線素検証部 17 異常線
素条件テーブル 18 線素近接関係判定部 19 近接条
件テーブル 20 線幅判定部 21 横破線
線幅メモリ 22 横実線線幅メモリ 23 縦破線
線幅メモリ 24 縦実線線幅メモリ 25 出力制
御部 26 ディスプレイ 27 キーボ
ード 28 マウス 29 プリン

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力された画像から、縦横いずれか一方
    向に延びる画素のランを抽出する工程と、 上記一方向に延びる画素のランから縦横のうち他方向に
    延びる画素のランを抽出する工程と、 上記各ランが延びる方向と長さとに基づいて、上記抽出
    したランの集合からそれぞれ横破線、縦破線、横実線、
    縦実線を構成する可能性を持つランを含む4種の部分集
    合を作成する工程と、 上記4種の部分集合のそれぞれで、互いに連結している
    ランを統合して線素となし、上記4種の部分集合にそれ
    ぞれ対応する4種の線素集合を作成するとともに、上記
    各線素に含まれるランの長さの和を算出する工程と、 上記各線素に含まれるランの長さの和と、上記各線素に
    対して外接する矩形の面積との比に基づいて、上記4種
    の線素集合からそれぞれ横破線、縦破線、横実線、縦実
    線を構成するのに不適格な線素を除去する工程と、 上記4種の線素集合のそれぞれで、残っている線素が互
    いに近接しているか否かを判定して、上記各線素を互い
    に近接している線素からなるグループに分類し、上記各
    グループをそれぞれ1つの線として抽出する工程を有す
    ることを特徴とする線認識方法。
  2. 【請求項2】 入力された画像から、縦横いずれか一方
    向に延びる画素のランを抽出する工程と、 上記抽出したランのすべてを要素に含む集合を、それぞ
    れ横破線、縦破線を構成する可能性を持つランを含む2
    種の部分集合として設定するとともに、上記各ランが延
    びる長さに基づいて、上記抽出したランの集合からそれ
    ぞれ横実線、縦実線を構成する可能性を持つランを含む
    2種の部分集合を作成する工程と、 上記4種の部分集合のそれぞれで、互いに連結している
    ランを統合して線素となし、上記4種の部分集合にそれ
    ぞれ対応する4種の線素集合を作成するとともに、上記
    各線素に含まれるランの長さの和を算出する工程と、 上記各線素に含まれるランの長さの和と、上記各線素に
    対して外接する矩形の面積との比に基づいて、上記4種
    の線素集合からそれぞれ横破線、縦破線、横実線、縦実
    線を構成するのに不適格な線素を除去する工程と、 上記4種の線素集合のそれぞれで、残っている線素が互
    いに近接しているか否かを判定して、上記各線素を互い
    に近接している線素からなるグループに分類し、上記各
    グループをそれぞれ1つの線として抽出する工程を有す
    ることを特徴とする線認識方法。
  3. 【請求項3】 請求項1または2に記載の線認識方法に
    おいて、 上記横破線、縦破線に対応する線素集合から得られた上
    記各グループのうち、グループに属する線素の数が一定
    数未満のものを無視することを特徴とする線認識方法。
  4. 【請求項4】 請求項1乃至3のいずれか一つに記載の
    線認識方法において、 上記抽出した線を構成する各線素について、上記線素に
    含まれるランの長さの和と、上記線素の長さとの比に基
    づいて線素の太さを求め、この線素の太さに基づいて上
    記線の太さを算出することを特徴とする線認識方法。
  5. 【請求項5】 入力された画像から、破線のドットの候
    補となる黒画素の小領域を黒画素の連結領域として取り
    出す工程と、 破線のドットとして適確な小領域をサイズおよび含まれ
    る黒画素の占める面積とその外接矩形の面積比によって
    選び出す工程と、 各小領域を所定方向に近接しているという関係に基づい
    てラベリングする工程と、 ラベリングの結果同一のラベルがついた小領域からなる
    グループのうち、一定数以上の小領域を含むグループを
    破線として認識する工程を有することを特徴とする線認
    識方法。
JP06041077A 1994-03-11 1994-03-11 線認識方法 Expired - Fee Related JP3100825B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06041077A JP3100825B2 (ja) 1994-03-11 1994-03-11 線認識方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06041077A JP3100825B2 (ja) 1994-03-11 1994-03-11 線認識方法

Publications (2)

Publication Number Publication Date
JPH07249100A JPH07249100A (ja) 1995-09-26
JP3100825B2 true JP3100825B2 (ja) 2000-10-23

Family

ID=12598407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06041077A Expired - Fee Related JP3100825B2 (ja) 1994-03-11 1994-03-11 線認識方法

Country Status (1)

Country Link
JP (1) JP3100825B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100480024B1 (ko) * 1997-12-31 2005-08-01 엘지전자 주식회사 획의두께정보를이용한모음인식방법

Also Published As

Publication number Publication date
JPH07249100A (ja) 1995-09-26

Similar Documents

Publication Publication Date Title
US6741745B2 (en) Method and apparatus for formatting OCR text
JP5379085B2 (ja) スキャンされた文書画像内の前景画素群の連結グループをマーキング種類に基づき分類する方法及びシステム
JP3308032B2 (ja) スキュー補正方法およびスキュー角検出方法およびスキュー補正装置およびスキュー角検出装置
KR100325384B1 (ko) 문자열추출장치및패턴추출장치
JP3278471B2 (ja) 領域分割方法
JP2001283152A (ja) 帳票類判別装置、帳票類判別方法、およびこれらの方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH0713995A (ja) 自動テキスト特徴決定装置
US8571264B2 (en) Method of using structural models for optical recognition
JP2001109844A (ja) 文字列抽出方法、手書き文字列抽出方法、文字列抽出装置、および画像処理装置
JPH11345339A (ja) 画像セグメンテ―ション方法及び装置及びシステム及びコンピュ―タ可読メモリ
US20020051574A1 (en) Character recognition method, program and recording medium
CN109685061A (zh) 适用于结构化的数学公式的识别方法
JP2002015280A (ja) 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体
JP3100825B2 (ja) 線認識方法
JP3476595B2 (ja) 画像領域分割方法、および画像2値化方法
JP2022090469A (ja) 書式定義装置、書式定義方法、及びプログラム
JP3171626B2 (ja) 文字認識の処理領域・処理条件指定方法
JP4842872B2 (ja) 帳票処理装置
JPH0830725A (ja) 画像処理装置及び方法
US11710331B2 (en) Systems and methods for separating ligature characters in digitized document images
JP3406942B2 (ja) 画像処理装置及び方法
JPS6227887A (ja) 文字種分離方式
JP2576080B2 (ja) 文字切出し方法
JP2993533B2 (ja) 情報処理装置及び文字認識装置
JP2001143076A (ja) 画像処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070818

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080818

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080818

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090818

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees