JP3663659B2 - 画像処理方法および画像処理装置 - Google Patents

画像処理方法および画像処理装置 Download PDF

Info

Publication number
JP3663659B2
JP3663659B2 JP07669295A JP7669295A JP3663659B2 JP 3663659 B2 JP3663659 B2 JP 3663659B2 JP 07669295 A JP07669295 A JP 07669295A JP 7669295 A JP7669295 A JP 7669295A JP 3663659 B2 JP3663659 B2 JP 3663659B2
Authority
JP
Japan
Prior art keywords
processing
area
region
threshold value
character
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
JP07669295A
Other languages
English (en)
Other versions
JPH08272905A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP07669295A priority Critical patent/JP3663659B2/ja
Publication of JPH08272905A publication Critical patent/JPH08272905A/ja
Application granted granted Critical
Publication of JP3663659B2 publication Critical patent/JP3663659B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Character Discrimination (AREA)
  • Character Input (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、たとえば文字認識(OCR)処理における文字の切り出しおよび認識処理の前処理として、処理対象とする領域を抽出し、抽出した領域の言語の種類(たとえば、日本語あるいは英文のようなアルファニューメリック)を判定する画像処理方法および画像処理装置に関する。
【0002】
【従来の技術】
文字認識処理に先立って文字の切り出し処理を行う際、日本語あるいは中国語等文字のように外形が正方形に近い形の文字(以下では「日本語」と表記する)と、英文等のアルファニューメリックのように文字の外形が縦長の長方形となる文字(以下では「αN」と表記する)では、その文字の構成形態の違いにより、その形態に適した文字切り出しを行うのが一般的である。この方法は、日本語に対しては、日本語用の文字切り出し方法を用い、英文などに対しては、αN用の文字切り出し方法を用いて文字の切り出しを行うものである。また、切り出した後の文字認識処理においては、文字認識の精度を上げるため、処理対象とする領域に適した日本語用およびαN用の文字認識方法を用意し、文字認識を行う。このように、日本語の領域あるいはαNの領域に対応した切り出しおよび認識処理を行うためには、処理に先立って、ユーザが処理対象とする領域の言語の種類を判断して、処理領域ごとに日本語であるか、αNであるか等の指定を行う必要がある。
【0003】
これに対して、日本語、αNともに対応できる文字切り出し方法、文字認識方法を用いて、処理に先立つ領域の指定を必要としない文字切り出し、文字認識方法も存在する。
【0004】
【発明が解決しようとする課題】
ところで、前者の方法、つまり、処理に先立って、ユーザが処理対象とする領域が日本語であるかαNであるか等の指定を行い、領域に適した文字切り出し、あるいは文字認識を行う方法では、たとえば、日本語の場合、図22(a)に示した「日本語文字認識」という文書における「語」を例に取ると、この「語」は「言」の部分e1と「吾」の部分e2とに分離されるが、このように分離される可能性のある文字であっても、それを積極的に統合して、「語」という文字として処理を行うことができる。あるいは、英文の場合にあっても、図22(b)に示した「Japanese character recognition」の単語と単語の間の空間部分f1,f2を活用して、単語を中心とした切り出し処理が可能となる。これは、それぞれの領域に適応した処理が行われるから可能となるのであり、これにより、文字切り出し率、文字認識率ともに好結果を得ることができる。しかし、この方法は、処理領域の言語の種類、つまり、処理領域の言語が日本語かαNかの指定をユーザが行わなければならないという問題がある。
【0005】
一方、後者の方法、つまり、日本語、αNともに対応できる文字切り出し方法、文字認識方法を用いる場合には、領域の種類を指定しなければならないという手間は省けるが、前者の各領域に適した処理方法に比べると、前記したような分離される可能性のある文字を積極的に統合して1つの文字とする処理や単語を中心とした切り出しおよび認識処理が行えないため、文字切り出し率が落ちるとともに、認識率も低くなるという課題が生じる。
【0006】
そこで、本発明はこれらの課題を解決するもので、たとえば文字認識処理の前処理として、処理対象とする領域の抽出を行うとともに、抽出された領域における言語の種類を自動的に判断することにより、文字の切り出しおよび認識処理を高精度に行うことを可能とした画像処理方法および画像処理装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明の画像処理方法は、画像入力手段により入力された文書画像データから処理領域抽出工程により処理対象とする領域を抽出し、抽出された領域内における文書画像データから、その領域内の文字の大きさに対応したしきい値をしきい値算出工程により算出し、このしきい値を用いて領域判定工程により、前記処理領域抽出工程により抽出された領域の言語の種類を判定するために必要な直線密度を抽出し、この直線密度により当該領域の言語の種類の判断を行う。
【0008】
前記処理領域抽出工程は、処理対象とする文書画像データにおける段落を基準として処理領域の抽出を行なう。
【0009】
また、前記処理領域抽出工程は、文書画像データをラスタスキャン方式により処理ラインに従って走査することで、文書画像データにおける画素の白黒反転回数があらかじめ設定した値に達した範囲を基準として処理領域の抽出を行なうようにしてもよい。
【0010】
前記しきい値算出工程は、前記処理領域抽出工程により抽出された領域内に含まれる各文字の外接矩形を抽出し、各外接矩形の大きさの平均値をもとに、その領域内の文字の大きさに対応したしきい値の算出を行なう。
【0011】
また、前記しきい値算出工程は、文書画像データをラスタスキャン方式により処理ラインに従って走査することで、前記処理領域抽出工程により抽出された領域内に含まれる文字の大きさまたは文字の太さにほぼ相当する黒画素の連続したつながりの平均的な長さを求め、求めた平均的な長さをもとに、その領域内の文字の大きさに対応したしきい値の算出を行うようにしてもよい。
【0012】
前記領域判定工程は、前記処理領域抽出工程により抽出された領域内において、前記しきい値算出工程により算出したしきい値以上の長さを有する連続した黒画素の総数と連続した黒画素の総数との比である直線密度を求め、この直線密度の値を基にして、当該領域内の言語の種類の判断を行なう。
【0013】
前記領域判定工程は、前記処理領域抽出工程により抽出された領域ごとに、その領域の言語の種類の判定を行った後、領域の種類の判定を行なう基準となる複数の処理領域の判定結果を用いて、誤判定とみなされる領域の判定結果の修正を行なう。
【0014】
また、本発明の画像処理装置は、画像入力手段により入力された文書画像データから処理対象とする領域を抽出する処理領域抽出手段と、この処理領域抽出手段により抽出された領域内における文書画像データから、その領域内の文字の大きさに対応したしきい値を算出するしきい値算出手段と、このしきい値算出手段により算出されたしきい値を用いて、前記処理領域抽出手段により抽出された領域の言語の種類を判定するために必要な直線密度を抽出し、この直線密度により当該領域の言語の種類の判断を行う領域判定手段とを有している。
【0015】
前記処理領域抽出手段は、処理対象とする文書画像データにおける段落を基準として処理領域の抽出を行なう。
【0016】
また、前記処理領域抽出手段は、文書画像データをラスタスキャン方式により処理ラインに沿って走査し、文書画像データにおける画素の白黒反転回数があらかじめ設定した値に達した範囲を基準として処理領域の抽出を行なうようにしてもよい。
【0017】
前記しきい値算出手段は、前記処理領域抽出手段により抽出された領域内に含まれる各文字の外接矩形を抽出し、各外接矩形の大きさの平均値をもとに、その領域内の文字の大きさに対応したしきい値の算出を行なう。
【0018】
また、前記しきい値算出手段は、文書画像データをラスタスキャン方式により処理ラインに従って走査し、前記処理領域抽出手段により抽出された領域内に含まれる文字の大きさまたは文字の太さにほぼ相当する黒画素の連続したつながりの平均的な長さを求め、求めた平均的な長さをもとに、その領域内の文字の大きさに対応したしきい値の算出を行うようにしてもよい。
【0019】
前記領域判定手段は、前記処理領域抽出手段により抽出された領域内において、前記しきい値算出手段により算出したしきい値以上の長さを有する連続した黒画素の総数と連続した黒画素の総数との比である直線密度を求め、この直線密度の値を基にして、当該領域内の言語の種類の判断を行なう。
【0020】
前記領域判定手段は、前記処理領域抽出手段により抽出された領域ごとに、その領域の言語の種類の判定を行った後、領域の種類の判定を行なう基準となる複数の処理領域の判定結果を用いて、誤判定とみなされる領域の判定結果の修正を行なう。
【0021】
【作用】
本発明は、画像入力手段により入力された文書画像データから処理領域の抽出を行い、これにより抽出された領域内における文書画像データから、その領域内の文字の大きさに対応したしきい値を算出し、このしきい値を用いて、前記抽出された領域の言語の種類を判定するために必要なパラメータ(直線密度)を抽出して、この直線密度の値をもとに、当該領域の言語の種類の判断を行なう。
【0022】
このように、本発明では、処理領域を抽出し、抽出された処理領域単位でその領域が何の言語で書かれたものであるかの判定を行う。この判定を行う際には、当該領域内の画像データの直線成分を検出して、その検出結果を基に言語を判定する。すなわち、言語として、日本語とαNを考えた場合、日本語は画像データに直線成分が多く、αNは直線成分が殆どないことに着目して、直線密度を求めて、この直線密度によって、当該領域内の言語の種類の判定を行う。 これにより、入力された文書画像データから処理領域の抽出、抽出された領域の言語の種類の判定を自動的に行うことができ、この判定結果を文字の切り出しおよび文字認識処理に渡すことにより、的確な切り出しおよび認識処理が可能となる。
【0023】
【実施例】
以下、本発明の実施例を説明する。なお、この実施例では、特に示さない限り処理対象とする画像の解像度は300DPI(ドット/インチ)であって、処理対象画像としては文字とし、この文字は白色の背景(白色の原稿用紙)に黒で描かれているものとする。
【0024】
図1は、本実施例における画像処理装置の構成を説明した図である。画像処理装置10は、処理対象となる領域を抽出する処理領域抽出部11、領域判定をするための直線密度を抽出する際に必要となるしきい値を算出するしきい値算出部12、前記領域抽出部11により抽出された領域が日本語領域であるかαN領域であるかを判断する領域判定部13、さらに、これら各処理部を接続するためのバスよ14により構成される。なお、領域判定部13内には誤り訂正手段131が設けられているが、これについては後述する。
【0025】
また、画像処理装置10には、処理対象となる画像の入力を行うための画像入力装置15が接続される。この画像入力装置15は光学的な画像入力を行う場合は光学的画像入力装置(たとえばスキャナ)や通信による入力装置、あるいは画像デ−タを蓄える記憶装置などである。なお、図1において、画像入力装置15は画像処理装置10に対し外部接続されているが、画像処理装置10内部に含まれていてもよい。
【0026】
また、前記処理領域抽出部11、しきい値算出部12、領域判定部13などの各処理部は、ハードロジックにより構成されるものであっても、あるいはCPUを付加することによりソフト的な処理により実現されるものであってもよい。
【0027】
次に画像処理装置10全体の概略的な処理の流れについて説明する。図2は画像処理装置10の処理をソフト的な処理により実現した場合について示したものである。まず、処理対象となる画像データから領域の種類の判定単位となる処理領域の抽出を処理領域抽出部11より行う(ステップs11)。次に前記処理領域抽出部11で抽出した領域から領域判断のための直線密度を抽出するめに必要となるしきい値(抽出された領域内の文字の大きさに対応した値であり、これについては後に詳細に説明する)をしきい値算出部12により算出する(ステップs12)。そして、しきい値算出部11で算出したしきい値を用いて領域判断のための必要な直線密度(前記しきい値以上の長さを有する黒画素数をもとに求められた値であり、これについては後に詳細に説明する)の抽出を行い、この直線密度を用いて、処理対象となる領域が日本語であるかαNであるかを領域判定部13にて行う(ステップs13)。そして、画像データからすべての処理対象となる領域の抽出が終了し、その領域の判定が終了したか否かを判断し(ステップs14)、すべての領域の処理が終了していれば処理を終了する。
【0028】
図2はソフト的な処理をする際の全体の処理の流れを示したが、ハードロジックにて構成することにより、処理領域抽出部11、しきい値算出部12、領域判定部13はそれぞれ独立に並列処理を行うことが可能である。図3は並列処理を行った場合の処理の概要を示した図である。図3において、まず、第1の処理ステップS1において処理対象となる最初の領域A1が処理領域抽出部11により抽出される。領域A1の抽出が終わると第2の処理ステップS2に移り、次の処理領域A2の抽出とともに、処理領域A1から直線密度を抽出するために必要となるしきい値の算出がしきい値算出部12にて行われる。そして、領域A2の抽出、領域A1からのしきい値算出が終了すると、第3の処理ステップS3に移る。第3の処理ステップS3では、領域A3の抽出、領域A2のしきい値算出、領域A1の領域判定が行われる。このような処理が順次行われる。つまり、各処理が並列的に処理されることになり、全体的な処理時間の短縮を図ることができる。
【0029】
以上は本発明の全体的な処理の概略であるが、以下に、個々の処理について説明する。まず最初に処理領域抽出部11の処理内容について以下に説明する。
【0030】
処理領域抽出部11は、前記したように、処理対象となる領域を所定の単位で抽出するものである。ところで、言語の種類などは、段落を単位として変化することが多い。例えば図4に示すように、論文のフロントページでは、要約部分(図示、A1の領域)が日本語でかかれ、続いて英文の要約(図示、A2の領域)が、そして日本語の本文(図示、A3の領域)といった具合である。
【0031】
そこで、処理領域抽出部11では、領域抽出の第1の方法として、段落の抽出を行い、抽出した段落を1つの領域と考え、各段落を処理の単位とする。ここで、段落の抽出方法は、処理対処とする画像データを複数の単位ブロックに分割し、分割された複数の単位ブロック毎に縦、横方向の射影を求め、求めた射影の周期性を調べて文字のある領域を判別し、文字と判定されたブロックを統合することにより段落の抽出を行う方法(特開平3−44788)や、黒画素の輪郭を追って黒領域に接する矩形領域を抽出し、各矩形領域の大きさによって文字領域を分離し、分離した文字領域を近接する矩形を統合することにより段落の抽出を行う方法(特開平3−43879)等があり、このような方法を用いて抽出された段落をもとに領域の分離を行う。
【0032】
また、段落の始めは、一般的に改行されていることから、この改行を判断することにより段落の抽出を行うことも可能である。
【0033】
以上のように、段落を処理領域の1つの単位とすることにより、段落ごとの領域の判定が可能となる。
【0034】
また、領域抽出の第2の方法として、文字行を基準として領域の抽出を行う方法もある。文字行ごとに判断する方がより細かな領域の種類の判断が可能となる。すなわち、前記のように段落ごとに領域の種類の判断をすると、同じ段落中に、日本語とαNが混在する場合もあり、文字行を基準とすれば、このような場合にも対応が可能となる。そこで、以下では、行を処理単位とした処理領域抽出について説明する。
【0035】
行の抽出方法を、図5に示すような文章を例にとって説明する。図5に示す方法は、文章の行方向に射影101,102,103をとり、その射影結果の谷間p1,p2を検出することによって、行R1,R2,R3の抽出を行い、これら各文字行を処理領域とする。なお、行の抽出方法は上記方法に限るものではなく、ラベリング処理等により抽出された複数個の文字塊ブロック間の位置関係に着目して文字行の抽出を行う方法(特開平3−62284)や、画素の太線化処理および細線化処理を行うことにより文字を統合させ、行の抽出を行う方法(特開平3−43879)等を用いてもよい。このような行を単位とした処理領域抽出処理により、段落を単位とした方法に比べ、より細かな対応が可能となる。
【0036】
これまで述べた段落あるいは行を単位とした領域の抽出では、領域の抽出の際に、メモリのランダムアクセスを必要とするため、処理の高速化が困難となる。そこで、ラスタスキャンのみで、処理単位となる領域を抽出する方法について以下に説明する。
【0037】
後に説明する領域判定部13における領域判定(日本語であるかαNであるかの判定)は、有効な直線の総数と、黒ラン(黒い画素の連続した直線的なつながりをここでは黒ランという)の総数をもとに領域の種類の判定を行うものである(この領域判定部13の詳しい処理については後述する)。そこで、この処理領域抽出部11での処理は、領域判定部13による領域判定のために必要な情報が集まる程度の領域を処理単位として抽出する。なお、有効な情報量が得られるかは、黒ランの数により判断する。
【0038】
図6により、処理領域抽出部11による画像データからの処理領域抽出処理を説明する。まず、黒ランの数をカウントするカウンタをゼロにする初期化を行う(ステップs21)。なお、このカウンタは図示されていないが処理領域抽出部11内に設けられている。次に、処理対処となる走査ラインから黒ランの抽出を行い(ステップs22)、抽出が行われるごとにカウンタのインクリメントを行う(ステップs23)。そして、カウンタのカウント数があらかじめ定めた値T以上かどうかを判断して(ステップs24)、カウンタのカウント数が値T以上になると、カウント数が値T以上となった走査ラインまでの領域を処理領域とする(ステップs25)。なお、ステップs24の判断において、カウント数が値Tに達しない場合には、次の黒ランの抽出を行う。つまり、ステップs26(対象走査ラインの走査終了か否かの判断)からステップs22に処理が戻って、黒ラン数のカウントを行い、前記同様の処理を行う。そして、対象となる走査ラインの走査が終了した場合(ステップs26)には、文書画像全体の走査が終了したか否かを判断して(ステップs27)、全ライン終了していれば、処理は終了し、全ライン終了していなければステップs22に処理が戻る。なお、前記した値Tについては、後で説明する。
【0039】
以上の処理において、黒ランの抽出(ステップs22)からカウント数が或る値Tより大きいか否かの判断(ステップs24)までの具体的な処理例を図16を参照して説明する。なお、図16は本来、後で説明するしきい値算出部12において、文字の大きさを基準としたしきい値算出を説明するための図であり、図中に記載された「36」、「8」、「5」,「4」,「40」などという数値は黒ランの長さ(画素数)を示すもので、これらはしきい値算出において必要とするものであり、これらについては後に詳細に説明する。また、図16は、「日本」という文字の上端部からラスタスキャンした場合、第1,第2,第3の走査ラインL1,L2,L3の画像データを示すものである。図16において、第1の走査ラインL1には、B1,B2で示す2本の黒ランが存在するので、第1の走査ラインL1の走査終了時点では、カウンタの黒ランカウント数は「2」となる。同様に、第2の走査ラインL1には、B3,B4,B5の3本の黒ランが存在するので、第2の走査ラインL2の走査終了時点では、カウンタの黒ランカウント数は前記第1の走査ラインのカウント数「2」との合計の「5」となる。さらに、第3の走査ラインL3には、B6,B7,B8の3本の黒ランが存在するので、第3の走査ラインL3の走査終了時点では、カウンタの黒ランカウント数は前記第2の走査ラインまでのカウント数「5」との合計して「8」となる。
【0040】
仮に値Tの設定値が「4」であったとすると、第2の走査ラインの途中で、カウンタのカウント数が値Tに達するので、第1および第2の走査ラインを処理の単位である処理領域として決定し、次の処理領域の抽出を第3の走査ラインから始める。なお、ここでは、説明をわかりやすくするため値Tを「4」という数値に設定した例で説明したが、これは実用的な数値ではない。この値Tの実用的な数値に関しては、後で詳しく説明する。
【0041】
以上のようにして、領域の抽出が行われる。なお、以上の説明では、ラスタスキャンによる処理領域の抽出において、黒ランの数をもとに処理領域の抽出を行う例を説明したが、黒ラン数ではなく、白画素と黒画素の反転回数(以下、白黒反転回数という)をカウントしてもよい。例えば、図16の第1の走査ラインL1においては、g1,g2,g3,g4の部分で、白黒の反転があり、白黒反転回数は4となり、黒ランの数の2倍となる。よって、黒ランの数のかわりに、白黒反転回数をカウントした場合には、値Tを黒ランの数のときの2倍とすることで対応できる。なお、白黒反転は、図7に示すように、処理対象の走査ラインL内の注目画素G1とその1つ手前の画素G0のそれぞれのデータ(白を“0”、黒を“1”とする)を排他的論理和回路210に与えて、その出力から判断できる。つまり、排他的論理和回路210からの“1”出力をカウントすることにより白黒反転数をカウントできる。このようにすれば、処理の簡略化、回路規模の縮小も図れる。
【0042】
なお、後述する領域判定部13でも、黒ランのカウントを行うが、この領域抽出での処理により得られた結果を領域判定部13でそのまま用いてもよく、また、黒ランの数かわりに白黒反転回数をカウントし、その値の1/2を用いて黒ランの数としてもよい。
【0043】
次に処理領域の判断に用いられる前記した値Tについて説明する。図8に値T(黒ラン数)と領域判定部の判断結果の正解率の関係を示す。図8より、Tが2000を境に2000より小さくなると正解率が落ちていくのが分かる。これより、黒ランの数として2000程度の情報量が必要であることが分かる。また、Tの値が少ないほど、処理領域が小さくなることになり、図3のような並列処理を行う場合、各処理のステップ間隔が狭くなり結果として、全体の処理時間の短縮にもつながる。よって、Tの値は余り大きく取らないで、2000程度が好ましいといえる。なお、2000程度の黒ランの数は、300[DPI]入力、10ポイントの文字において、約20文字強程度の文字数となり、このことより、先の例で示した行単位での処理でも、情報量として十分であることが分かる。
【0044】
以上の処理により処理対象となる領域の抽出が行える。次に、抽出された領域が日本語であるかαNであるかの判定を、或るしきい値を用いて判定する。処理の順序としては、領域判定を行うためのしきい値算出が先であるが、ここでは、まず、処理対象となる領域が日本語であるかαNであるかを判断する領域判定部13の処理について説明する。
【0045】
まず、領域判定部13がどのような方法により領域の判定を行なうかについて、概念的な理解をするために図9を用いて、その判断方法について説明する。図9(a)は文字列「・・・日本語・・・」のうち、「日」の文字を拡大したもので、図9(b)は文字列「・・・ Japanese ・・・」のうち、「a」の文字を拡大したものである。一般的に用いられる文字の大きさは10ポイント程度であり、日本語文字の場合は約3mm角となる。よって、300[DPI]で画像の入力がされた場合、図9(a)で示す「日」の文字は、36画素×36画素程度の大きさとなる。同様に、同図(b)で示す「a」の文字は、20画素×20画素程度の大きさとなる。図9からわかるように日本語の場合、多くの文字(特に漢字)は、ほとんど直線により構成される。一方、αNの場合はほとんど曲線により構成される。よって、直線成分の存在の度合によって日本語領域かαN領域かの判定が可能である。
【0046】
例えば図9(a)の場合には、「日」という文字には、横方向にa1〜a3の3つの直線が、縦方向にb1およびb2の2つの直線が存在する。一方、同図(b)に示す「a」の文字には直線が存在しない。直線成分の存在の度合による領域の種類の判断において、単純に直線の本数のみでは、領域中に含まれる文字数によって変化するため適切な判断ができない。そこで、直線成分の存在する割合、すなわち、「直線密度」を計算するするこにより、直線密度が高い場合には日本語、低い場合にはαNと判断する。なお、直線密度をどのように定義するかが問題となる。
【0047】
ここで、直線密度を単位面積あたりの直線の本数とすると、文字が大きい場合には直線密度が小さくなり、文字が小さい場合には直線密度が大きくなる。すなわち、文字の大きさに直線密度が依存することになり好ましくない。そこで、文字の大きさに依存しないように、有効な直線の本数を黒ランの本数で除した値、すなわち、
直線密度=有効な直線の総数 / 黒ランの総数 ・・・ 〔1〕
とすることで、文字の大きさに依存しない値を得ることができる。ここでいう有効な直線とは、しきい値よりも大きな長さを有する直線成分のことをいう。
【0048】
例えば、図9(c)は、図9(a)に示す「日」の文字の大きさが縦横1/2の大きさ(18画素×18画素)である場合であり、このように文字の大きさが異なった場合の直線密度を求めてみる。図10(a)は図9(a)で示すサイズの「日」における第1〜第4の走査ライン部分を拡大して示すもので、図10(b)は図9(b)で示すサイズの「日」における第1〜第2の走査ライン部分を拡大して示すものである。ここでは、横方向の走査によって、有効な直線の総数および黒ランの総数を求めるものとし、また、図10(a)における有効な直線をX1に示す長さ以上とすると、第1の走査ラインL1において、画素c1〜c2の範囲の直線は、黒ランであり、かつ有効な直線となる。よって、この第1の走査ラインL1においては、有効な直線数が「1」、黒ラン数が「1」存在することになる。第2の走査ラインL2においても同様であり、有効な直線数が「1」、黒ラン数が「1」存在する。第3の走査ラインL3においては、画素c3〜c4および画素c5〜c6に示す直線は、ともにX1より短いことから有効な直線ではない。よって、第3の走査ラインL3においては、有効な直線数が「0」、黒ラン数が「2」存在する。また、第4の走査ラインL4においても同様である。
【0049】
よって、図10(a)における第1〜第4の走査ラインにおける有効な直線の総数は「2」であり、黒ランの総数は「6」となることから、直線密度は0.33(=2/6)となる。
【0050】
同様に図10(b)における有効な直線をX2とすると、第1の走査ラインL2において、画素c10〜c20の範囲の直線は、黒ランであり、かつ有効な直線となる。よって、この第1の走査ラインL1においては、有効な直線数が「1」、黒ラン数が「1」存在する。また、第2の走査ラインL2においては、画素c30とc40および画素c50とc60に示す直線は、ともにX2より短いことから有効な直線ではない。よって、第3の走査ラインL3においては、有効な直線数が「0」、黒ラン数が「2」存在する。このように、図10(b)においては、第1および第2の走査ラインL1,L2に存在する有効な直線の総数は「1」、黒ランの総数は「3」となり、直線密度は0.33(=1/3)となる。
【0051】
上記例では「日」の一部において直線密度の計算例を示したが、「日」という文字全体を走査した場合においても、図9(a)に示す「日」の有効な直線の総数と図9(c)に示す「日」の有効な直線の総数の比はぼぼ2:1となり、同様に、黒ランの総数の比もほぼ2:1となる。よって、直線密度を計算した場合、その値はほぼ等しく、上記計算式〔1〕により文字の大きさに依存しない直線密度を得ることができる。
【0052】
なお、図10を用いて説明した前記直線密度の計算方法においては、横方向の走査のみにより値を求めたが、縦横両方向の走査結果を用いて直線密度の算出をしてもよく、また、縦方向の走査結果を用いて直線密度の算出をしてもよい。
【0053】
ここで、有効な直線を求める際の基準となる長さ、すなわち、図10におけるX1やX2をどのように設定するかが問題となるが、これに関しては、しきい値算出部12の説明において詳しく説明する。
【0054】
図11は、前記処理領域抽出部11により抽出された処理領域に対する領域判定部13の処理を説明するフローチャートである。なお、この図11のフローチャートは前記処理領域抽出部11により抽出された或る1つの領域(たとえば、図4におけるA1の領域)における処理を示すものである。
【0055】
図11において、始めに、有効直線をカウントするカウンタ、黒ラン総数をカウントするカウンタの初期化を行う(ステップs31)。なお、これらのカウンタは図示されていないが領域判定部13内に設けられている。次に、走査対象となる走査ラインから黒ランの抽出を行い(ステップs32)、黒ランの抽出が行われると黒ラン総数カウンタをインクリメントする(ステップs33)。そして、抽出した黒ランの長さが、しきい値算出部12で算出したしきい値以上か否かを判断し(ステップs34)、しきい値算出部12で算出したしきい値以上の場合には、有効直線カウンタのインクリメントを行う(ステップs35)。次に、対象ラインの走査がすべて終了したか否かを判断して(ステップs36)、対象となる処理ラインの走査がすべて終わるまで、黒ランの抽出を繰り返し、対象となる処理ラインの走査が終了したならば、次の走査ラインの走査に移る。そして、処理対象となる領域の全ラインの走査が終了したか否かを判断して(ステップs37)、全ラインの走査が終了したら、式〔1〕に従い直線密度の算出を行う(ステップs38)。この式〔1〕により求められた直線密度があらかじめ設定された値α以上であるか否かを判断し(ステップs39)、直線密度がα以上の場合には、領域抽出部11で抽出された領域は、「日本語」であると判定し(ステップs40)、直線密度がα未満の時は、その領域は「αN」と判定する(ステップs41)。なお、前記した値αをどのような値にすればよいかについては、後ほど述べる。
【0056】
次にしきい値算出部12の処理内容について以下に説明する。
【0057】
しきい値算出部12は、領域抽出部11が抽出した領域から、有効な直線を決定するためのしきい値の算出を行う。まずは、しきい値を算出する方法の1つとして、外接矩形を求め、求めた外接矩形からしきい値を算出する方法について説明する。ここで外接矩形とは、文字に外接する矩形のことをいい、図12に示されるような矩形K1,K2,・・・である。なお、図において、外接矩形K1,K2,・・・は、文字に接触した状態で描かれていないが、これは、図面が繁雑とならないようにしたためである。
【0058】
文字の切り出し方法としては、例えば、図13に示すように文字行方向に対して、直交する方向に、黒画素の累積値である射影201,202,203・・・を求め、求めた射影の谷間p11,p12・・・を用いて、文字の存在する位置を確認するとともに、画素の連結状態から文字に外接する矩形の抽出を行う。なお、文字の切り出しは、上記に説明した射影を用いて求める方法に限らず、画素の境界を追跡し、追跡した境界から外接矩形を求める方法(特開3−37778)など、どのような方法を用いてもよい。このようにして外接矩形が求められると、しきい値は、図12のように求めた外接矩形K1,K2,・・・の横の長さd1,d2,・・・,dnの平均的な長さを求め、求めた平均的な長さに、ある係数β1を掛けることにより算出される。すなわち、しきい値は、
【0059】
【数1】
Figure 0003663659
【0060】
により算出される。ここで、β1の値は0.6〜1.0の範囲の値が適当であり、実験より、βを0.7とすることにより、直線密度を用いた領域判断において良い結果が得られることが確認された。
【0061】
なお、前記した例では、外接矩形の横の長さの平均値を用いてしきい値の算出を行っていたが、縦の長さの平均値を用いてしきい値の算出を行ってもよい。また、縦横両方の長さの平均を用いていもよい。ここで、横の長さの平均値、縦の長さの平均値、縦横の長さの平均値のいずれを用いてしきい値の算出を行うかは、領域判定部13の有効な直線の数および黒ランの数をカウントする際に走査する方向に合せるとよい。
【0062】
前記した方法によるしきい値算出部12の処理の流れを図14に示す。まず、処理対象となる領域から外接矩形の抽出を行い(ステップs41)、次に、抽出した外接矩形から前記〔2〕式を用いてしきい値の算出を行う(ステップs42)。このようにして、外接矩形を用いてしきい値の算出を行うことができる。
【0063】
前記外接矩形を用いてしきい値の算出を行う方法では、外接矩形を求める際に、画像データに対してランダムアクセスが必要となることから、処理速度にやや難点が残るとともに処理が複雑になる。そこで、以下では、ラスタスキャン、すなわち、処理ラインを走査することによって、しきい値算出部12によって、しきい値を算出する方法について説明する。
【0064】
ラスタスキャンにより処理ラインに従って走査することで、しきい値の算出処理を行う方法を図15および図16を用いて説明する。図15のフローチャートは、前記処理領域抽出部11により抽出された或る1つの領域における処理を示すものである。
【0065】
まず、文字の大きさγを初期化するとともに、文字の大きさγ以上の黒ランの個数をカウントするカウンタおよび、γ以上の黒ランの長さの累積値を記憶するためのアキュムレータの初期化を行う(ステップs51)。なお、これらカウンタおよびアキュームレータは図示されていないが、しきい値算出部12内に設けられている。
【0066】
前記文字の大きさγの初期値は処理ラインをスキャンするごとに更新される。その初期値は、解像度が300[DPI]の場合、8ポイント(3mm角弱の大きさ) の文字の約7割の大きさ程度にするのがよく、ここでは「24(画素)」とする。24画素としたのは、8ポイント以下の文字は通常あまり用いられることがないためである。この文字の大きさγは前記したように、処理ラインをスキャンするごとに更新される。つまり初期値としては8ポイントの大きさを基準としているが、処理領域中で実際に使われている文字の大きさは8ポイントとは限らない。そこで実際に使われている文字にあったしきい値の算出ができるように、走査ライン毎に文字の大きさγの値を更新しているのである。
【0067】
また、文字の大きさγ以上の黒ランの個数をカウントするカウンタ、γ以上の黒ランの長さの累積値を記憶するためのアキュムレータの初期値は、ゼロでもよいが、最初の走査ラインにおいては、多くの黒ランが得られない可能性があるため、処理ラインごとに文字の大きさγの変更を行うとすると、最初の数ラインにおいて文字の大きさγの変動が激しくなる。図16の例で言うと、第1の走査ラインL1において、文字の大きさγ以上の黒ランの個数は1個(図16において、B1で示す黒ラン)であり、わずかこの1つの情報により文字の大きさγの更新が行われるため、γの精度が悪くなる。そこで、文字の大きさγ以上の黒ランの個数をカウントするカウンタには適当な個数、例えば20程度の値を設定し、アキュムレータには、文字の大きさγの初期値と前記カウンタの値を掛けた値を設定しておくことにより上記問題を解決できる。なお、カウンタ、アキュムレータの初期値をゼロとし、そのかわり、あるライン数の走査が終了以降に、文字の大きさγの更新を行うようにしても、上記問題は解決できる。
【0068】
次に対象とする走査ラインにおいて黒ランの抽出を行う(ステップs52)。そして、抽出した黒ランの長さが、文字の大きさγより大きいか否かを判定し(ステップs53)、黒ランの長さが大きければ、カウンタをインクリメントするとともに、アキュムレータにその長さを加える(ステップs54)。次に、対象とする処理ラインの走査が終了したか否かを判断して(ステップs55)、対象となる処理ラインの走査が終了していなければ、ステップs52に処理が戻り、走査が終了していれば、文字の大きさγの更新を行う(ステップs56)。ここで更新後の文字の大きさγは、
新しい文字の大きさγ=β2×アキュムレータの数値/カウンタの値・・・・・・〔3〕
により求める。この〔3〕式において、β2は0.6〜1.0の範囲で設定するが、実験では0.85とすると、直線密度算出において適切であることが確認された。
【0069】
図16を例にして、文字の大きさγ、カウンタ、アキュムレータの変化の状態を説明する。文字の大きさγの初期値を「24」、文字の大きさγ以上の黒ラン数をカウントするカウンタの初期値を「20」、アキュムレータの初期値を「480(=20×24)」とし、また、β2の値を0.85とすると、第1の走査ラインL1の走査が終了した段階での文字の大きさγは、前記〔3〕式より、
γ=0.85×{(480+36)/(20+1)}≒21
となる。ここで、前記数値「36」は図16からもわかるように、文字の大きさγ(=24)よりも大きな黒ランの長さ、つまり、黒ランB1の画素数「36」であり、第1の走査ラインL1の走査終了時点で、この「36」がアキュームレータの値に加算される。また、この第1の走査ラインL1の走査終了時点では、文字の大きさγ(=24)よりも大きな黒ランの数は「1」であるので、この「1」がカウンタの値に加算されている。これにより計算されると、γ≒21となり、この値が新しい文字の大きさγとなる。
【0070】
また、第2の走査ラインL2の走査終了時点では、γ(=21)より大きな黒ランが存在しないので、γの値は更新されず、γ≒21のままである。そして、第3の走査ラインL3に処理が移って、この第3の走査ラインL3の走査終了時点では、
γ=0.85×{(516+40)/(21+1))}≒22
と更新される。ここで、前記数値「40」は図16からもわかるように、第3の走査ラインL3において、文字の大きさγ(=21)よりも大きな黒ランの長さ、つまり、黒ランB8の画素数「40」であり、第3の走査ラインL1の走査終了時点で、この「40」がアキュームレータの値(第2の走査ラインL2の走査終了時点におけるアキュームレータの数値「516」)に加算される。また、この第3の走査ラインL3の走査終了時点では、文字の大きさγ(=21)よりも大きな黒ランの数は「1」であるので、この「1」がカウンタの値に加算されている。これにより計算されると、γ≒22となり、この値が新しい文字の大きさとなる。
【0071】
なお、前記した例では、初期値「24」より、対象とする画像の横線の長さが長いにもかかわらず、更新後の文字の大きさγの値か小さくなっているが、十分な数のデータ量が集まることにより、更新後の文字の大きさは初期値「24」を越え、文字大きさに適した値に更新されていく。
【0072】
このようにして、全ラインについて処理を行い、全ラインの走査が終了したか否かを判断して(ステップs57)、全ラインの処理が終了すると、走査が終了した時点における文字の大きさγの値をしきい値とする(ステップs58)。
【0073】
以上説明した方法により、外接矩形を用いたしきい値の算出と同等の結果が得られるとともに、メモリアクセスがラスタスキャン的に行えるため、処理の高速化が図れる。
【0074】
なお、前記した例では、ラスタスキャンを横方向に行っているが、横方向に限られるわけではなく、メモリアクセスが容易に行われる方向であれば、縦横いすれの方向であってもよい。ここで、いずれの方向にラスタスキャンするかは、領域判定部の有効な直線、黒ランをカウントする際の走査する方向に合せるとよい。
【0075】
前記したように文字の大きさを基準としたラスタスキャンによるしきい値の算出では、文字が直線により構成され、その直線の長さにより文字の大きさが求められることを前提とした処理であるため、主として、対象文字が日本語の場合におけるしきい値設定方法であるといえる。しかし、対象文字がαNの場合には、もともと直線により文字が構成されていないため、この方法では、十分な情報を得ることができず、文字の大きさに適したしきい値の設定が困難となる。
【0076】
そこで、このような問題を解決すべく、文字の大きさを文字の太さをもとにして求め、求めた文字の太さから文字の大きさを推測し、しきい値の算出を行うようにする。以下に、図17を用いて処理の内容を説明する。図17のフローチャートは、前記処理領域抽出部11により抽出された或る1つの領域における処理を示すものである。
【0077】
図17において、始めに、文字の太さを求めるため、長さがある値以下の黒ランの個数をカウントするカウンタ、カウントの対象となった黒ランの長さの総和を求めるためのアキュムレータの初期化を行う(ステップs61)。なお、この場合は、初期値はゼロでよい。次に対象とする走査ラインにおいて黒ランの抽出を行う(ステップs62)。そして、抽出した黒ランの長さが、値F(この値Fについては後述する)以下で有るか否かを判断して(ステップs63)、値F以下であれば、カウンタをインクリメントするとともに、アキュムレータにその黒ランの長さ(画素数)を加える(ステップ64)。次に、対象とする処理ラインの走査が終了したかを判断し(ステップs65)、終了していなければ、ステップs62に処理が戻って、次の黒ランの抽出を行う。
【0078】
ここで、値Fをどのようにするか問題となるが、文字の大きさの約1/3〜1/4に相当する値とするとよい。よって、300[DPI]入力時、値Fは6〜10の範囲で設定するとよい。ここで、Fを固定値としたのは、一般に使われる文字の大きさは8〜14ポイントで、その範囲の文字の大きさならば、固定値でも文字の太さに十分対応できるからである。
【0079】
図18を例して、カウンタ、アキュムレータの変化のしかたを説明する。図18は、αNの文字例として「Japanese」という単語の中の「ap」の部分を上端部からラスタスキャンした場合、第1,第2,第3の走査ラインL1,L2,L3の画素データを示すものである。値Fをここでは「8」とすると、第1の走査ラインL1には「8」以下の黒ランが1つ存在し(B11で示す黒ラン)、その長さ(画素数)は同図からわかるように「4」である。よって、第1の走査ラインL1走査終了時のカウンタのカウント値は「1」、アキュムレータの値は「4」となる。同様に、第2の走査ラインL2の走査終了時のカウンタのカウント値は、B12,B13,B14,B15,B16で示す5個の黒ランのカウント数が前記カウント数「1」に加算されて「6(=1+5)」となり、また、アキュムレータの値は前記5個の黒ランの長さが前記「4」に加算されて「27(=4+4+6+5+3+5)」となる。さらに、第3の走査ラインの走査終了時のカウンタのカウント値は、B17,B18,B19,B20で示す4個の黒ランのカウント数が、前記カウント数「6」に加算されて「10(=6+4)」となり、また、アキュムレータの値は4個の黒ランの長さが前記「27」に加算されて「52(=27+5+7+7+6)」となる。
【0080】
そして、全ラインの走査が終了したか否かを判断して(ステップs66)、前ラインの走査が終了すると、走査が終了した時点におけるカウンタ、アキュムレータの値を用いて、文字の太さを基準にしたしきい値の算出を行う。この文字の太さを基準にしたしきい値の算出方法は、
しきい値=β3×アキュムレータの数値/カウンタの値 ・・・ 〔4〕
とする。ここで、β3は3.0〜4.0の範囲とする。なぜならば、値Fは文字の大きさの1/3〜1/4を基準に定められた値であり、この逆数を掛けることにより文字の大きさが推測できるからである。なお、β3の値は、実験より、直線密度の算出において好結果が得られるように、β3=3.4とするのが適当である。
【0081】
なお、上記例では、ラスタスキャンを横方向に行っているが、横方向に限られるわけではなく、メモリアクセスが容易に行われる方向であれば、縦横いすれの方向であってもかまわない。ここで、いずれの方向にラスタスキャンするかは、領域判定部の有効な直線、黒ランをカウントする際の走査する方向に合せるとよい。
【0082】
前記した方法により、メモリアクセスがラスタスキャン的に行えるため、処理の高速化が図れるとともに、主に直線で構成された文字に限らず、主に曲線で構成された文字に対しても、文字の大きさに適したしきい値を算出できる。
【0083】
以上のようにしてしきい値が求められる。このしきい値は領域抽出部11によって抽出された領域をもとに、領域判定部13によってその領域内に存在する有効な直線を検出するためのしきい値であり、領域判定部13では、このしきい値よりも大きな直線成分を求めて、その直線成分の数を基にして、前記したような方法によって、直線密度を求める。そして、その直線密度と或る値αとを比較して、直線密度が値α以上の時はその領域は日本語と判定し、値α未満のときはその領域はαNであると判定する。
【0084】
ここで値αについて説明する。図19は、複数のサンプルに対して、黒ランの数を基準とした処理領域抽出、文字の大きさを基準としたしきい値算出を行い、領域判定部13により、[1]式によって算出された直線密度と、各領域の種類(日本語またはαN)の度数分布を示すものであり、E10で示す領域が「日本語」と判定された度数分布、E20の領域が「αN」と判定された度数分布を示している。これより、領域の種類判断のためのα(直線密度)を適切な値に設定することにより、領域における言語の判定が可能であることが分かる。図19の場合は、領域における言語の種類の判定のためのαを0.01から0.001の範囲で設定するとよい。特にαを0.025とするのが最も適切であることがわかる。なお、この値は、特にしきい値算出部12において、どの方法を用いてしきい値を求めるかによりやや変動する。よって、αを設定するにあたっては、複数のサンプルを用意し、図19に示すような度数分布図を作成し、事前に適切な値を設定すれば、未知の文書画像にも適用できるようになる。
【0085】
このように、αをたとえば0.025と設定したとすると、領域判定部13で求められた直線密度が0.025以上のときはその領域は日本語の領域であると判定し、0.025未満の時は、その領域はαNの領域であるとの判定を行う。
【0086】
図20に、行を単位として処理領域を抽出した場合、あるいは、ラスタスキャンにより黒ランの数を基準に処理領域を抽出した場合の、各処理単位の領域判定部の判定結果の例を示す。
【0087】
図20において、E1,E2,・・・,E7は行あるいは黒ラン数を基準として抽出された領域を示している。図20からもわかるように、ほとんどの領域の判定結果が「日本語」であるのに、部分的に「αN」と誤って判定される場合がある(領域E6)。これは、特に、行を単位とした処理領域の抽出において、その行に含まれる文字数が少ない場合に起こりやすい。
【0088】
このような誤りに対応するために、領域判定部13に誤り訂正手段131を設けている。これにより、行を単位とした、あるいは、ラスタスキャンにより黒ランの数を基準に処理領域抽出した場合の図20で示すような誤りに対応できるようにする。
【0089】
前記誤り訂正手段131による誤り訂正処理の内容を図21に示す。図21において、まず、対象とする処理領域の種類(日本語かαN)の判定が終わった段階で、現在判定した領域の判定結果と、1つ前の領域の判定結果を比較する(ステップs71)。判定結果が異なる場合には、2つ前の領域の判定結果を参照し、現在の処理領域の判定結果と2つ前の領域の判定結果とを比較する(ステップs72)。両者が等しければ、1つ前の判定結果を現在の判定結果と同じにする(ステップS73)。
【0090】
以上の処理を図20を例にとって説明する。図20において、領域E7の領域判定結果は「日本語」であり、これが現在判定した領域の判定結果であるとする。この判定結果と、1つ前の領域E6の判定結果とを比較すると、領域E6の判定結果は「αN」となっている。このように、現在判定した領域E7の判定結果と、1つ前の領域E6の判定結果を比較して、判定結果が異なる場合には、2つ前の領域E5の判定結果を参照する。この場合、領域E5の判定結果は「日本語」であり、現在判定した領域E7と2つ前の領域E5の判定結果は同じものとなっている。したがって、このような場合には、1つ前の領域E6の判定結果「αN」は誤りとみなして、領域E6の判定結果は現在判定した領域E7の判定結果と同じ「日本語」であると判定し直す。このような処理を行うことにより、図20で説明したような誤りを訂正することができる。なお、誤り訂正の際に、判断結果の参照範囲を2つ前の領域よりさらに前の領域の判定結果を参照するようにすれば、より精度の高い誤り訂正を行うことも可能となる。
【0091】
以上説明したように、本発明の実施例によれば、文書の段落や行を基準として、あるいは黒ラン数、画素の白黒反転数などを基準として処理領域の抽出を行った後、抽出された領域内の文字列における直線成分を或るしきい値を基に検出して、直線成分の密度(直線密度)を計算して、計算された直線密度をあらかじめ設定した値と比較して、その比較結果からその領域が日本語であるかαNであるかを自動的に判定するようにしている。従って、このように判定された結果を、文字切り出し手段、さらには文字認識手段に与えることで、正確な切り出しおよび認識が可能となる。
【0092】
なお、以上説明した実施例では、入力解像度が300[DPI]であることを前提としていたが、図15における文字の大きさγの初期値、図11における文字の太さを算出する際の値Fは、入力解像度に比例して値を変化させることにより、入力解像度は300[DPI]に限られることなく、他の解像度に対しても対応が可能となる。
【0093】
【発明の効果】
以上説明したように、本発明の画像処理方法では、請求項1によれば、画像入力手段により入力された文書画像データから処理対象とする領域を抽出し、抽出された領域内における文書画像データから、その領域の言語の種類を判定をする際に必要な文字の大きさの指標となるしきい値を算出し、このしきい値を用いて前記抽出された領域の言語の種類を判定するために必要な直線密度を抽出し、当該領域の言語の種類の判断を行うようにしたので、処理領域を自動的に抽出することができるとともに、抽出された処理領域単位でその領域内が何の言語で書かれたものであるかの判定を行うことができ、この判定結果を文字の切り出しおよび文字認識処理に渡すことにより、言語の種類に対応した的確な切り出しおよび認識処理が可能となり、認識率の大幅な向上に寄与できる。
【0094】
また、請求項2によれば、処理領域抽出工程は、処理対象とする文書画像データにおける段落を基準として処理領域の抽出を行なうようにしている。これは、言語の種類は段落単位で変化している場合も多いということに鑑みてなされたもので、段落を処理領域として抽出することにより、段落単位で言語の種類の判定を行うことができ、また、段落単位の領域抽出は、従来の簡単な技術を用いて行うことが可能となる。
【0095】
また、請求項3によれば、処理領域抽出工程は、文書画像データにおける文字行を基準として処理領域の抽出を行なうようにしている。このように文字行を基準として処理領域の抽出を行うことにより、同一領域内に違った種類の言語が混在する確率を少なくすることができ、領域判定の正解率の向上が図れ、また、文字行を基準とした領域抽出は、従来の簡単な技術を用いて行うことが可能となる。
【0096】
また、請求項4によれば、処理領域抽出工程は、文書画像データをラスタスキャン方式により処理ラインに従った走査により、文書画像データにおける画素の白黒反転回数を検出し、画素の白黒反転数があらかじめ設定した値に達した範囲を基準として処理領域の抽出を行なうようにしたので、メモリをランダムにアクセスすることなく、処理ラインに従った走査にて処理領域の抽出処理が行え、処理の高速化が図れ、また、領域を決定する白黒反転数の設定値を的確に選ぶことにより、前記文字行を基準とした領域抽出同様、同一領域内に違った種類の言語が混在する確率を少なくすることができ、領域判定の正解率の向上を図ることができる。
【0097】
また、請求項5によれば、しきい値算出工程は、前記処理領域抽出工程により抽出された領域内に含まれる各文字の外接矩形を抽出し、各外接矩形の大きさの平均値を基準としてしきい値の算出を行なうようにしたので、従来の比較的簡単な技術を用いて簡単に文字の大きさに対応したしきい値の算出を行うことができる。
【0098】
また、請求項6によれば、しきい値算出工程は、文書画像データをラスタスキャン方式により処理ラインに従った走査により、前記処理領域抽出工程により抽出された領域内に含まれる文字の大きさにほぼ相当する黒画素の連続したつながりの平均的な長さを求め、求めた平均的な長さをもとにして、文字の大きさに対応したしきい値の算出を行なうようにしたので、メモリをランダムにアクセスすることなく、処理ラインに従った走査にて、しきい値算出処理が行え、処理の高速化が図れ、また、文字の大きさにほぼ相当する直線的な黒画素の連続したつながりの平均的な長さをもとに、文字の大きさに対応したしきい値を算出していることから、特に、直線の多い日本語文書におけるしきい値算出に有効なものとすることができる。
【0099】
また、請求項7によれば、しきい値算出工程は、文書画像データをラスタスキャン方式により処理ラインに従った走査により、前記処理領域抽出工程により抽出された領域内に含まれる文字の太さにほぼ相当する黒画素の連続したつながりの平均的な長さを求め、求めた平均的な長さをもとに、文字の大きさに対応したしきい値の算出を行なうようにしたので、メモリをランダムにアクセスすることなく、処理ラインに従った走査にて、しきい値算出処理が行え、処理の高速化が図れ、また、文字の太さにほぼ相当する黒画素の連続したつながりの平均的な長さをもとに、文字の大きさに対応したしきい値を算出していることから、特に、直線の少ないαNの文書におけるしきい値算出にも対応できる。つまり、一般的に、文字の大きさと太さは比例関係にあり、文字の太さから文字の大きさを判断することができると考えられ、直線的な画素の連続したつながりの少ないαNの文書に対しては、文字の太さを基に、しきい値を算出しようとするものであり、これによって、直線の少ないαNの文書におけるしきい値算出にも対応できる。
【0100】
また、請求項8によれば、領域判定工程は、前記処理領域抽出工程により抽出された領域内において、前記しきい値算出工程により算出したしきい値以上の連続した黒画素の総数と、連続した黒画素の総数との比をとることで、文字の大きさに依存しない直線密度を求め、この直線密度の値を基にして、当該領域内の言語の種類の判断を行なうようにしている。すなわち、領域判定を行う際には、当該領域内の画像データの直線成分を検出して、文字の大きさに依存しない直線密度を求め、この直線密度を基にその領域内の言語の種類を判定している。これは、言語として、日本語とαNを考えた場合、日本語は画像データに直線成分が多く、αNは直線成分が殆どないことに着目して、直線密度を求めて、この直線密度によって、当該領域内の言語の種類の判定を行うものであり、これにより、抽出された領域の言語の種類の判定を確実にしかも簡単に行うことがでる。
【0101】
また、請求項9によれば、領域判定工程は、前記処理領域抽出工程により抽出された領域ごとに、その領域の言語の種類の判定を行った後、領域の種類の判定を行なう基準となる複数の処理領域の判定結果を用いて、誤判定とみなされる領域の判定結果の修正を行なうようにしたので、たとえば、行単位で領域判定が行われたような場合、ある行の文字数がきわめて少ないためにその行が誤判定されたような場合にもその誤りを訂正することができる。
【0102】
また、本発明の画像処理装置は、請求項10によれば、画像入力手段により入力された文書画像データから処理対象とする領域を抽出する処理領域抽出手段と、この処理領域抽出手段により抽出された領域内における文書画像データから、その領域の言語の種類を判定をする際に必要な文字の大きさの指標となるしきい値を算出するしきい値算出手段と、このしきい値算出手段により算出されたしきい値を用いて、前記処理領域抽出手段により抽出された領域の言語の種類を判定するために必要な直線密度を抽出し、当該領域の言語の種類の判断を行う領域判定手段とを有したので、処理領域を自動的に抽出することができるとともに、抽出された処理領域単位でその領域内が何の言語で書かれたものであるかの判定を行うことができ、この判定結果を文字の切り出しおよび文字認識処理に渡すことにより、言語の種類に対応した的確な切り出しおよび認識処理が可能となり、認識率の大幅な向上に寄与できる。
【0103】
また、請求項11によれば、処理領域抽出手段は、処理対象とする文書画像データにおける段落を基準として処理領域の抽出を行なうようにしている。これは、言語の種類は段落単位で変化している場合も多いということに鑑みてなされたもので、段落を処理領域として抽出することにより、段落単位で言語の種類の判定を行うことができ、また、段落単位の領域抽出は、従来の簡単な技術を用いて行うことが可能となる。
【0104】
また、請求項12によれば、処理領域抽出手段は、文書画像データにおける文字行を基準として処理領域の抽出を行なうようにしている。このように文字行を基準として処理領域の抽出を行うことにより、同一領域内に違った種類の言語が混在する確率を少なくすることができ、領域判定の正解率の向上が図れ、また、文字行を基準とした領域抽出は、従来の簡単な技術を用いて行うことが可能となる。
【0105】
また、請求項13によれば、処理領域抽出手段は、文書画像データをラスタスキャン方式により処理ラインに従った走査により、文書画像データにおける画素の白黒反転回数を検出し、画素の白黒反転数があらかじめ設定した値に達した範囲を基準として処理領域の抽出を行なうようにしたので、メモリをランダムにアクセスすることなく、処理ラインに従った走査にて処理領域の抽出処理が行え、処理の高速化が図れ、また、領域を決定する白黒反転数の設定値を的確に選ぶことにより、前記文字行を基準とした領域抽出同様、同一領域内に違った種類の言語が混在する確率を少なくすることができ、領域判定の正解率の向上を図ることができる。
【0106】
また、請求項14によれば、しきい値算出手段は、前記処理領域抽出手段により抽出された領域内に含まれる各文字の外接矩形を抽出し、各外接矩形の大きさの平均値を基準としてしきい値の算出を行なうようにしたので、従来の比較的簡単な技術を用いて簡単に文字の大きさの指標となるしきい値の算出を行うことができる。
【0107】
また、請求項15によれば、しきい値算出手段は、文書画像データをラスタスキャン方式により処理ラインに従った走査により、前記処理領域抽出手段により抽出された領域内に含まれる文字の大きさにほぼ相当する黒画素の連続したつながりの平均的な長さを求め、求めた平均的な長さをもとに、文字の大きさに対応したしきい値の算出を行なうようにしたので、メモリをランダムにアクセスすることなく、処理ラインに従った走査にて、しきい値算出処理が行え、処理の高速化が図れ、また、文字の大きさにほぼ相当する直線的な黒画素の連続したつながりの平均的な長さをもとに、文字の大きさに対応したしきい値を算出していることから、特に、直線の多い日本語文書におけるしきい値算出に有効なものとすることができる。
【0108】
また、請求項16によれば、しきい値算出手段は、文書画像データをラスタスキャン方式により処理ラインに従った走査により、前記処理領域抽出手段により抽出された領域内に含まれる文字の太さにほぼ相当する黒画素の連続したつながりの平均的な長さを求め、求めた平均的な長さをもとに、文字の大きさに対応したしきい値の算出を行なうようにしたので、メモリをランダムにアクセスすることなく、処理ラインに従った走査にて、しきい値算出処理が行え、処理の高速化が図れ、また、文字の太さにほぼ相当する黒画素の連続したつながりの平均的な長さを基に文字の大きさに対応したしきい値を算出していることから、特に、直線の少ないαNの文書におけるしきい値算出にも対応できる。つまり、一般的に、文字の大きさと太さは比例関係にあり、文字の太さから文字の大きさを判断することができると考えられ、直線的な画素の連続したつながりの少ないαNの文書に対しては、文字の太さを基に、しきい値を算出しようとするものであり、これによって、直線の少ないαNの文書におけるしきい値算出にも対応できる。
【0109】
また、請求項17によれば、領域判定手段は、前記処理領域抽出手段により抽出された領域内において、前記しきい値算出手段により算出したしきい値以上の連続した黒画素の総数と、連続した黒画素の総数との比をとることで、文字の大きさに依存しない直線密度を求め、この直線密度の値を基にして、当該領域内の言語の種類の判断を行なうようにしている。すなわち、領域判定を行う際には、当該領域内の画像データの直線成分を検出して、文字の大きさに依存しない直線密度を求め、この直線密度を基にその領域内の言語の種類を判定している。これは、言語として、日本語とαNを考えた場合、日本語は画像データに直線成分が多く、αNは直線成分が殆どないことに着目して、直線密度を求めて、この直線密度によって、当該領域内の言語の種類の判定を行うものであり、これにより、抽出された領域の言語の種類の判定を確実にしかも簡単に行うことがでる。
【0110】
また、請求項18によれば、領域判定手段は、誤り訂正手段を設け、前記処理領域抽出手段により抽出された領域ごとに、その領域の言語の種類の判定を行った後、領域の種類の判定を行なう基準となる複数の処理領域の判定結果を用いて、誤判定とみなされる領域の判定結果の修正を行なうようにしたので、たとえば、行単位で領域判定が行われたような場合、ある行の文字数がきわめて少ないためにその行が誤判定されたような場合にもその誤りを訂正することができる。
【図面の簡単な説明】
【図1】本発明の実施例の構成をを説明するブロック図。
【図2】同実施例の全体的な処理をソフトウエア的に行う場合のフローチャート。
【図3】同実施例の全体的な処理をハードウエアにより行う場合の動作説明図。
【図4】処理領域を段落単位で抽出するための文書例を示す図。
【図5】処理領域を行単位で抽出する例を説明する図。
【図6】処理領域の抽出処理を説明するフローチャート。
【図7】画素の白黒反転数を基に処理領域の抽出を行う場合、白黒反転数の検出例を説明する図。
【図8】処理領域の判定に用いられる黒ランの数と領域判定の正解率の関係を説明する図。
【図9】領域判定を行うために日本語の文字とαNの文字との特質の違いを説明する図。
【図10】領域判定を行うための直線密度の算出を説明する図。
【図11】直線密度を基に領域判定処理を行うフローチャート。
【図12】しきい値算出のための外接矩形を説明する図。
【図13】外接矩形を求めるための文字の切り出し例を説明する図。
【図14】しきい値算出処理の概略的なフローチャート。
【図15】ラスタスキャンにより得られた文字の直線成分の長さを基にして、文字の大きさに対応したしきい値を決定する処理を説明するフローチャート。
【図16】文字の直線成分の長さを基にして、文字の大きさに対応したしきい値を算出する具体例を説明する図。
【図17】ラスタスキャンにより文字の太さを基にして、文字の大きさに対応したしきい値を決定する処理を説明するフローチャート。
【図18】文字の太さを基にして文字の大きさの指標となるしきい値を算出する具体例を説明する図。
【図19】領域判定を行う際の直線密度に対する領域の度数分布を示す図。
【図20】行単位あるいは黒ラン数により領域判定をした場合における判定結果例を示す図。
【図21】行単位あるいは黒ラン数により領域判定をした際の判定結果に誤りが有る場合の誤り訂正処理を説明する図。
【図22】従来技術における文字切り出しおよび文字認識処理の問題点を説明する図。
【符号の説明】
10・・・画像処理装置
11・・・処理領域抽出部
12・・・しきい値算出部
13・・・領域判定部
14・・・バス
15・・・画像入力装置
131・・・誤り判定手段

Claims (2)

  1. 画像入力手段により入力された文書画像データから処理領域抽出工程により処理対象とする領域を抽出し、抽出された領域内における文書画像データから、その領域内の文字の大きさに対応したしきい値をしきい値算出工程により算出し、このしきい値を用いて、領域判定工程により、前記処理領域抽出工程により抽出された領域内において、前記しきい値算出工程により算出したしきい値以上の長さを有する連続した黒画素の総数と連続した黒画素の総数との比である直線密度を求め、この直線密度の値を基にして、当該領域内の言語の種類の判定を行うことを特徴とする画像処理方法。
  2. 画像入力手段により入力された文書画像データから処理対象とする領域を抽出する処理領域抽出手段と、
    この処理領域抽出手段により抽出された領域内における文書画像データから、その領域内の文字の大きさに対応したしきい値を算出するしきい値算出手段と、 このしきい値算出手段により算出されたしきい値を用いて、前記処理領域抽出手段により抽出された領域内において、前記しきい値算出手段により算出したしきい値以上の長さを有する連続した黒画素の総数と連続した黒画素の総数との比である直線密度を求め、この直線密度の値を基にして、当該領域内の言語の種類の判定を行う領域判定手段と、
    を有することを特徴とする画像処理装置。
JP07669295A 1995-03-31 1995-03-31 画像処理方法および画像処理装置 Expired - Fee Related JP3663659B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07669295A JP3663659B2 (ja) 1995-03-31 1995-03-31 画像処理方法および画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07669295A JP3663659B2 (ja) 1995-03-31 1995-03-31 画像処理方法および画像処理装置

Publications (2)

Publication Number Publication Date
JPH08272905A JPH08272905A (ja) 1996-10-18
JP3663659B2 true JP3663659B2 (ja) 2005-06-22

Family

ID=13612536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07669295A Expired - Fee Related JP3663659B2 (ja) 1995-03-31 1995-03-31 画像処理方法および画像処理装置

Country Status (1)

Country Link
JP (1) JP3663659B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488826B (zh) * 2020-04-10 2023-10-17 腾讯科技(深圳)有限公司 一种文本识别方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
JPH08272905A (ja) 1996-10-18

Similar Documents

Publication Publication Date Title
JP3904840B2 (ja) 多値画像から罫線を抽出する罫線抽出装置
US5828771A (en) Method and article of manufacture for determining whether a scanned image is an original image or fax image
JP3308032B2 (ja) スキュー補正方法およびスキュー角検出方法およびスキュー補正装置およびスキュー角検出装置
JP3345350B2 (ja) 文書画像認識装置、その方法、及び記録媒体
JP4987960B2 (ja) レンダリングのためにトークンベースファイルへの文字列を含むディジタル画像の変換
US5465304A (en) Segmentation of text, picture and lines of a document image
US6674900B1 (en) Method for extracting titles from digital images
EP0854434B1 (en) Ruled line extracting apparatus for extracting ruled line from normal document image and method thereof
EP0543593A2 (en) Method for determining boundaries of words in text
JP3943638B2 (ja) Ocrを利用しない文書画像中のドロップワードの自動認識方法
JP4535584B2 (ja) ディジタル画像処理方法
JP4522468B2 (ja) 画像判別装置、画像検索装置、画像検索プログラムおよび記録媒体
JP2008198157A (ja) 表認識プログラム、表認識方法および表認識装置
EP0482187A1 (en) Row-by-row segmentation and thresholding for optical character recognition (system and method)
GB2366108A (en) Vectorization of raster images
JP3663659B2 (ja) 画像処理方法および画像処理装置
EP0767941B1 (en) Automatic determination of landscape scan in binary images
Boiangiu et al. Bitonal image creation for automatic content conversion
JP3551004B2 (ja) 罫線抽出方法および装置
JP3565310B2 (ja) 一般の文書画像から罫線を抽出する罫線抽出装置および方法
JP2821303B2 (ja) 掠れ文字結合方式
JP2755299B2 (ja) 画像処理方法
JP2007221838A (ja) 画像歪み補正装置、画像読取装置、画像形成装置及びプログラム
JP3210224B2 (ja) 文字認識装置
JP3277977B2 (ja) 文字認識方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050321

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080408

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090408

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090408

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100408

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110408

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110408

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees