JPH06150060A - 画像傾き検出方法及び表処理方法 - Google Patents
画像傾き検出方法及び表処理方法Info
- Publication number
- JPH06150060A JPH06150060A JP4302207A JP30220792A JPH06150060A JP H06150060 A JPH06150060 A JP H06150060A JP 4302207 A JP4302207 A JP 4302207A JP 30220792 A JP30220792 A JP 30220792A JP H06150060 A JPH06150060 A JP H06150060A
- Authority
- JP
- Japan
- Prior art keywords
- ruled line
- inclination
- image
- black
- rectangle
- 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.)
- Pending
Links
Landscapes
- Character Input (AREA)
Abstract
(57)【要約】
【目的】 表処理へ適用するのに最適な、画像の傾きを
検出する方法と、入力画像が傾いていても表中の文字を
正しく認識できる表処理方法を提供する。 【構成】 一定以上の長さの黒ランを統合した矩形を、
さらに統合して罫線矩形を抽出し、その4隅の画素の白
黒を調べて傾きの有無と方向を判定する。横罫線矩形3
02の場合、例えば、luとrdが白でldとruが黒
であれば”右上がり”と、luとrdが黒でldとru
が白ならば”右下がり”と、lu,ld,ru,rdの
4画素全部が黒なら”傾き無し”とそれぞれ判定し、い
ずれでもないときは”判定不能”とする。傾き角度はhe
ightとwidthから求めるが、罫線の太さの影響を減らす
ため、罫線矩形内部の黒画素数をwidthで除した値をhei
ghtから差し引く。そして、入力画像の傾きを補正した
画像について罫線矩形を抽出して表の枠を認識し、枠内
の文字画像の切り出し、認識を行なう。
検出する方法と、入力画像が傾いていても表中の文字を
正しく認識できる表処理方法を提供する。 【構成】 一定以上の長さの黒ランを統合した矩形を、
さらに統合して罫線矩形を抽出し、その4隅の画素の白
黒を調べて傾きの有無と方向を判定する。横罫線矩形3
02の場合、例えば、luとrdが白でldとruが黒
であれば”右上がり”と、luとrdが黒でldとru
が白ならば”右下がり”と、lu,ld,ru,rdの
4画素全部が黒なら”傾き無し”とそれぞれ判定し、い
ずれでもないときは”判定不能”とする。傾き角度はhe
ightとwidthから求めるが、罫線の太さの影響を減らす
ため、罫線矩形内部の黒画素数をwidthで除した値をhei
ghtから差し引く。そして、入力画像の傾きを補正した
画像について罫線矩形を抽出して表の枠を認識し、枠内
の文字画像の切り出し、認識を行なう。
Description
【0001】
【産業上の利用分野】本発明は、表領域を含む文書や帳
票の画像の傾きの検出方法と、表領域の文字を認識する
表処理方法に関する。
票の画像の傾きの検出方法と、表領域の文字を認識する
表処理方法に関する。
【0002】
【従来の技術】文字認識装置において文書や帳票の画像
を処理する場合、画像を文字領域、写真お図形等のイメ
ージ領域、表領域等に分割し、それぞれの領域に対して
別の処理を行なうことが多い。この中で、表領域に関し
ては、罫線の座標から表中の枠を認識し、枠内画像より
の文字画像を切り出し認識する方法が知られている。
を処理する場合、画像を文字領域、写真お図形等のイメ
ージ領域、表領域等に分割し、それぞれの領域に対して
別の処理を行なうことが多い。この中で、表領域に関し
ては、罫線の座標から表中の枠を認識し、枠内画像より
の文字画像を切り出し認識する方法が知られている。
【0003】かかる表処理に関し、表の両脇に縦罫線が
存在しない場合、あるいは表の上下に横罫線が存在しな
い場合に、その罫線を仮想的に生成する方法も知られて
いる(特開平2−264386号)。
存在しない場合、あるいは表の上下に横罫線が存在しな
い場合に、その罫線を仮想的に生成する方法も知られて
いる(特開平2−264386号)。
【0004】
【発明が解決しようとする課題】しかし、従来の表処理
方法は、特開平2−264386号の方法も含め、入力
された画像の傾きが大きい場合に、表中の文字画像の切
り出し、認識を正確に行なうことができないという問題
があった。
方法は、特開平2−264386号の方法も含め、入力
された画像の傾きが大きい場合に、表中の文字画像の切
り出し、認識を正確に行なうことができないという問題
があった。
【0005】よって、本発明の一つの目的は、表領域を
含む文書等の画像の傾きを検出する方法、特に表処理に
適用するのに好適な画像の傾き検出方法を提供すること
にある。本発明のもう一つの目的は、表領域を含む文書
等の画像が傾いて入力された場合にも、表中の文字を正
確に認識できる表処理方法を提供することにある。
含む文書等の画像の傾きを検出する方法、特に表処理に
適用するのに好適な画像の傾き検出方法を提供すること
にある。本発明のもう一つの目的は、表領域を含む文書
等の画像が傾いて入力された場合にも、表中の文字を正
確に認識できる表処理方法を提供することにある。
【0006】
【課題を解決するための手段】請求項1の発明は、2値
画像上の一定値以上の長さの黒ランを抽出するステップ
1と、ステップ1で抽出された黒ランで主走査方向及び
副走査方向にそれぞれ別に定められた距離内にある黒ラ
ンを包含する矩形に抽出するステップ2と、ステップ2
で抽出された矩形で主走査方向及び副走査方向にそれぞ
れ別に定められた距離内にある矩形を包含する罫線矩形
を抽出するステップ3と、ステップ3で抽出された罫線
矩形の4隅の画素の白黒を調べることにより2値画像の
傾きの有無及び向きを判定するステップ4を有すること
を特徴とするものである。
画像上の一定値以上の長さの黒ランを抽出するステップ
1と、ステップ1で抽出された黒ランで主走査方向及び
副走査方向にそれぞれ別に定められた距離内にある黒ラ
ンを包含する矩形に抽出するステップ2と、ステップ2
で抽出された矩形で主走査方向及び副走査方向にそれぞ
れ別に定められた距離内にある矩形を包含する罫線矩形
を抽出するステップ3と、ステップ3で抽出された罫線
矩形の4隅の画素の白黒を調べることにより2値画像の
傾きの有無及び向きを判定するステップ4を有すること
を特徴とするものである。
【0007】請求項2の発明は、請求項1の発明による
画像傾き検出方法のステップ4において、ステップ3に
より抽出された罫線矩形について1個ずつ順に傾きの有
無及び向きの判定を行ない、ある一つの罫線矩形につい
て傾きがあると判定した場合に、その段階で判定処理を
終了することを特徴とするものである。
画像傾き検出方法のステップ4において、ステップ3に
より抽出された罫線矩形について1個ずつ順に傾きの有
無及び向きの判定を行ない、ある一つの罫線矩形につい
て傾きがあると判定した場合に、その段階で判定処理を
終了することを特徴とするものである。
【0008】請求項3の発明は、請求項2の発明による
画像傾き検出方法のステップ4において、ステップ3に
より抽出された罫線矩形中に傾きが有ると判定された罫
線矩形が1個も無い場合には、傾きが無いと判定された
罫線矩形の個数が罫線矩形の総数に対し所定の割合以上
であるときに、傾き無しと最終的に判定することを特徴
とするものである。
画像傾き検出方法のステップ4において、ステップ3に
より抽出された罫線矩形中に傾きが有ると判定された罫
線矩形が1個も無い場合には、傾きが無いと判定された
罫線矩形の個数が罫線矩形の総数に対し所定の割合以上
であるときに、傾き無しと最終的に判定することを特徴
とするものである。
【0009】請求項4の発明は、請求項1,2または3
の発明による画像傾き検出方法において、ステップ4に
より画像の傾きがあると判定された罫線矩形の内部の黒
画素数を該罫線矩形の長手方向のサイズによって除算し
た値を、該罫線矩形の短手方向のサイズから減算し、該
減算後のサイズと該罫線矩形の長手方向のサイズとから
画像の傾き角度を求めるステップ5を有することを特徴
とするものである。
の発明による画像傾き検出方法において、ステップ4に
より画像の傾きがあると判定された罫線矩形の内部の黒
画素数を該罫線矩形の長手方向のサイズによって除算し
た値を、該罫線矩形の短手方向のサイズから減算し、該
減算後のサイズと該罫線矩形の長手方向のサイズとから
画像の傾き角度を求めるステップ5を有することを特徴
とするものである。
【0010】請求項5の発明は、請求項4の発明の画像
傾き検出方法によって、入力された原稿の2値画像の傾
きの角度及び向きを検出し、しかる後に該2値画像の傾
きの補正を行ない、該補正後の2値画像に対して請求項
1の発明の画像傾き検出方法におけるステップ1乃至ス
テップ3の処理を再度実行することより罫線矩形を抽出
し、該罫線矩形の座標より表の枠を認識し、認識した枠
内の文字画像を該補正後の2値画像より切り出して認識
することを特徴とするものである。
傾き検出方法によって、入力された原稿の2値画像の傾
きの角度及び向きを検出し、しかる後に該2値画像の傾
きの補正を行ない、該補正後の2値画像に対して請求項
1の発明の画像傾き検出方法におけるステップ1乃至ス
テップ3の処理を再度実行することより罫線矩形を抽出
し、該罫線矩形の座標より表の枠を認識し、認識した枠
内の文字画像を該補正後の2値画像より切り出して認識
することを特徴とするものである。
【0011】
【作用】請求項1の発明によれば、表を構成する罫線を
基準にして画像の傾きを的確に検出することができ。。
しかも、傾き検出のための処理ステップの大半は、表処
理のために必要となる処理ステップと同様なものである
うえに、画像の傾きの有無及び向きの判定アルゴリズム
も罫線矩形の4隅の画素の白黒に着目した極めて単純な
ものであるため、本発明による画像傾き検出方法は表処
理へ応用するのに最適である。
基準にして画像の傾きを的確に検出することができ。。
しかも、傾き検出のための処理ステップの大半は、表処
理のために必要となる処理ステップと同様なものである
うえに、画像の傾きの有無及び向きの判定アルゴリズム
も罫線矩形の4隅の画素の白黒に着目した極めて単純な
ものであるため、本発明による画像傾き検出方法は表処
理へ応用するのに最適である。
【0012】請求項2の発明によれば、傾きの有る罫線
矩形と最初に遭遇した段階で傾きの有無及び向きの判定
が終了するため、全ての罫線矩形について判定を行なう
方法に比べて効率的な傾き検出が可能である。
矩形と最初に遭遇した段階で傾きの有無及び向きの判定
が終了するため、全ての罫線矩形について判定を行なう
方法に比べて効率的な傾き検出が可能である。
【0013】請求項3の発明によれば、個々の罫線矩形
からは傾きが無いと判断しかねるような画像の場合に判
定間違いが起こり難くなる。
からは傾きが無いと判断しかねるような画像の場合に判
定間違いが起こり難くなる。
【0014】請求項4の発明によれば、罫線の太さの影
響を補正し、傾き角度の検出精度を上げることができ
る。
響を補正し、傾き角度の検出精度を上げることができ
る。
【0015】請求項5の発明によれば、表画像が傾いて
入力された場合でも、その傾きを補正して表中の文字画
像を正確に切り出すことができるため、表中の文字の認
識精度を上げることができる。
入力された場合でも、その傾きを補正して表中の文字画
像を正確に切り出すことができるため、表中の文字の認
識精度を上げることができる。
【0016】
【実施例】図1は、本発明の実施例1及び実施例2に係
る表処理システムのブロック図である。以下、表処理に
ついて説明する。図2に表処理の概略フローを示す。
る表処理システムのブロック図である。以下、表処理に
ついて説明する。図2に表処理の概略フローを示す。
【0017】ステップ1:スキャナ等の2値画像入力部
101によって、文書や帳票等の原稿を読み取り、原稿
の2値イメージデータを2値イメージ102に格納す
る。
101によって、文書や帳票等の原稿を読み取り、原稿
の2値イメージデータを2値イメージ102に格納す
る。
【0018】ステップ2:黒欄抽出部103によって、
2値イメージデータをスキャンし、一定値以上の長さを
持つ黒ランを抽出し、そのデータ(始点、終点の座標
等)を黒ランメモリ104に格納する。
2値イメージデータをスキャンし、一定値以上の長さを
持つ黒ランを抽出し、そのデータ(始点、終点の座標
等)を黒ランメモリ104に格納する。
【0019】ステップ3:矩形統合部105により、ス
テップ2で抽出された黒ランに対して、主走査方向及び
副走査方向にそれぞれ別に定められた距離の範囲内にあ
る黒ランを、それらを全て包含する矩形に統合し、その
矩形のデータ(頂点座標等)を矩形メモリ106に格納
する。
テップ2で抽出された黒ランに対して、主走査方向及び
副走査方向にそれぞれ別に定められた距離の範囲内にあ
る黒ランを、それらを全て包含する矩形に統合し、その
矩形のデータ(頂点座標等)を矩形メモリ106に格納
する。
【0020】ステップ4:罫線矩形抽出部107におい
て、ステップ3で抽出された矩形について、主走査方向
及び副走査方向にそれぞれ別に定めた距離の範囲内にあ
る矩形を包含する矩形を罫線の矩形として抽出し、その
データ(対角頂点の座標等)を罫線矩形メモリ108に
格納する。
て、ステップ3で抽出された矩形について、主走査方向
及び副走査方向にそれぞれ別に定めた距離の範囲内にあ
る矩形を包含する矩形を罫線の矩形として抽出し、その
データ(対角頂点の座標等)を罫線矩形メモリ108に
格納する。
【0021】図3はステップ2からステップ4の説明図
である。図3において、130(太い黒線)はステップ
2で抽出された主走査方向の黒ランを示す。132(破
線く矩形)は、ステップ3によって黒ラン130を統合
した矩形である。133(実線の矩形)はもステップ4
によって矩形132を統合した罫線(ここでは横罫線)
の矩形である。
である。図3において、130(太い黒線)はステップ
2で抽出された主走査方向の黒ランを示す。132(破
線く矩形)は、ステップ3によって黒ラン130を統合
した矩形である。133(実線の矩形)はもステップ4
によって矩形132を統合した罫線(ここでは横罫線)
の矩形である。
【0022】ステップ5:傾き検出109において、罫
線矩形メモリ108のデータを参照し、本発明の方法に
よって原稿画像の傾き(スキュー)を検出する。この処
理の内容については、後に実施例毎に詳述する。110
は傾き検出処理で利用される黒画素メモリである。
線矩形メモリ108のデータを参照し、本発明の方法に
よって原稿画像の傾き(スキュー)を検出する。この処
理の内容については、後に実施例毎に詳述する。110
は傾き検出処理で利用される黒画素メモリである。
【0023】ステップ6:画像傾き補正部11におい
て、2値イメージメモリ102内の2値イメージを、ス
テップ5で検出された傾き角度だけ逆向きに回転するこ
とによって、傾きを補正した2値イメージを作り補正2
値イメージメモリ112に格納する。
て、2値イメージメモリ102内の2値イメージを、ス
テップ5で検出された傾き角度だけ逆向きに回転するこ
とによって、傾きを補正した2値イメージを作り補正2
値イメージメモリ112に格納する。
【0024】ステップ7:黒ラン抽出部103によって
補正2値イメージに対してステップ2と同じ長い黒ラン
の抽出を行ない、そのデータを黒ランメモリ104に格
納する。ステップ2で抽出された黒ランのデータは廃棄
される。抽出された黒ランに対して矩形統合部105に
よりステップ3と同じ矩形統合を行ない、矩形のデータ
を矩形メモリ106に格納する。ステップ3で抽出され
た矩形のデータは廃棄される。さらに、罫線矩形抽出部
107でステップ4と同じ矩形統合を行なって罫線矩形
を抽出し、そのデータを罫線矩形メモリ108に格納す
る。ステップ4の罫線矩形データは廃棄される。
補正2値イメージに対してステップ2と同じ長い黒ラン
の抽出を行ない、そのデータを黒ランメモリ104に格
納する。ステップ2で抽出された黒ランのデータは廃棄
される。抽出された黒ランに対して矩形統合部105に
よりステップ3と同じ矩形統合を行ない、矩形のデータ
を矩形メモリ106に格納する。ステップ3で抽出され
た矩形のデータは廃棄される。さらに、罫線矩形抽出部
107でステップ4と同じ矩形統合を行なって罫線矩形
を抽出し、そのデータを罫線矩形メモリ108に格納す
る。ステップ4の罫線矩形データは廃棄される。
【0025】ステップ8:枠認識部113において、罫
線矩形データを基に表の枠(縦横の罫線で囲まれた矩形
領域)を認識し、各枠の座標(対角頂点座標)を枠座標
メモリ114に格納する。なお、この枠の認識に先だっ
て、特開平2−264386号公報に述べられているよ
うな方法によって、表の両脇または上下の罫線の欠落を
調べ、欠落している場合にそれを仮想的に補う処理を行
なうと好ましい。
線矩形データを基に表の枠(縦横の罫線で囲まれた矩形
領域)を認識し、各枠の座標(対角頂点座標)を枠座標
メモリ114に格納する。なお、この枠の認識に先だっ
て、特開平2−264386号公報に述べられているよ
うな方法によって、表の両脇または上下の罫線の欠落を
調べ、欠落している場合にそれを仮想的に補う処理を行
なうと好ましい。
【0026】ステップ9:枠内文字抽出部115におい
て、枠座標メモリ114内の各枠の座標を基に、補正2
値イメージメモリ112内の補正2値イメージから各枠
内の文字の画像を切り出し、切り出した文字画像を文字
画像メモリ116に格納する。
て、枠座標メモリ114内の各枠の座標を基に、補正2
値イメージメモリ112内の補正2値イメージから各枠
内の文字の画像を切り出し、切り出した文字画像を文字
画像メモリ116に格納する。
【0027】ステップ10:文字認識部117におい
て、文字画像メモリ116より文字画像を1文字ずつ読
み込み、その特徴量の抽出、辞書との比較等によって文
字を認識し、認識結果として文字コードを出力する。以
下、傾き検出部109による傾き検出処理(ステップ
6)について各実施例毎に説明する。
て、文字画像メモリ116より文字画像を1文字ずつ読
み込み、その特徴量の抽出、辞書との比較等によって文
字を認識し、認識結果として文字コードを出力する。以
下、傾き検出部109による傾き検出処理(ステップ
6)について各実施例毎に説明する。
【0028】次に、傾き検出処理(ステップ5)につい
て、実施例別に説明する。
て、実施例別に説明する。
【0029】実施例1における傾き検出処理の説明 図4は傾き検出処理のフローチャートである。なお、本
実施例においては、横方向(主走査方向)の罫線矩形だ
けを対象として処理を実行する。
実施例においては、横方向(主走査方向)の罫線矩形だ
けを対象として処理を実行する。
【0030】まず、罫線矩形を一つ選び(ステップ20
0)、その傾きを判定する(ステップ202)。この判
定の方法については後述する。
0)、その傾きを判定する(ステップ202)。この判
定の方法については後述する。
【0031】傾きの判定結果が”右上がり”または”右
下がり”であるか否かを調べ(ステップ203)、その
いずれかであれば、傾きの角度を計算し(ステップ20
4、計算方法は後述する)、傾きの角度(向きを含む)
を出力し、傾き検出処理を終了する。すなわち、”右上
がり”または”右下がり”の罫線矩形が一つ見つかる
と、その罫線矩形から角度を計算して処理を終わる。
下がり”であるか否かを調べ(ステップ203)、その
いずれかであれば、傾きの角度を計算し(ステップ20
4、計算方法は後述する)、傾きの角度(向きを含む)
を出力し、傾き検出処理を終了する。すなわち、”右上
がり”または”右下がり”の罫線矩形が一つ見つかる
と、その罫線矩形から角度を計算して処理を終わる。
【0032】ステップ202の傾き判定結果が”右上が
り”でも”右下がり”でもない場合(”傾きなし”また
は”判定不能”の場合)、そのような判定結果となった
罫線矩形の個数をカウントするためのカウンタnをイン
クリメントしステップ200からの処理を繰り返す。
り”でも”右下がり”でもない場合(”傾きなし”また
は”判定不能”の場合)、そのような判定結果となった
罫線矩形の個数をカウントするためのカウンタnをイン
クリメントしステップ200からの処理を繰り返す。
【0033】抽出された罫線矩形の最後のものまで調
べ、傾き判定結果が”右上がり”または”右下がり”の
罫線矩形が一つも見つからなかった場合には、ステップ
201よりステップ207に処理が進み、カウンタnの
値が罫線矩形の総数に対して例えば60パーセントを越
えているかチェックする。そして、その割合が60パー
セント以上であるときは”傾きなし”を出力し(ステッ
プ208)、割合が60パーセント未満のときは”判定
不能”を出力する(ステップ209)。なお、”傾きな
し”の場合、図2のステップ6では2値イメージメモリ
102内の2値イメージデータをそのまま補正2値イメ
ージメモリ112へ転送する。また、”判定不能”の場
合には、例えばエラー警報を出して処理を中断し、オペ
レータの介入を待つ。
べ、傾き判定結果が”右上がり”または”右下がり”の
罫線矩形が一つも見つからなかった場合には、ステップ
201よりステップ207に処理が進み、カウンタnの
値が罫線矩形の総数に対して例えば60パーセントを越
えているかチェックする。そして、その割合が60パー
セント以上であるときは”傾きなし”を出力し(ステッ
プ208)、割合が60パーセント未満のときは”判定
不能”を出力する(ステップ209)。なお、”傾きな
し”の場合、図2のステップ6では2値イメージメモリ
102内の2値イメージデータをそのまま補正2値イメ
ージメモリ112へ転送する。また、”判定不能”の場
合には、例えばエラー警報を出して処理を中断し、オペ
レータの介入を待つ。
【0034】次に、ステップ202における傾き判定の
方法について説明する。図5は傾き判定の説明のための
図であり、一つの右上がりの横罫線301の矩形302
のイメージを示している。なお、罫線矩形の(矩形内部
の)左上隅、左下隅、右上隅、右下隅の各画素をlu,
ld,ru,rdとする。
方法について説明する。図5は傾き判定の説明のための
図であり、一つの右上がりの横罫線301の矩形302
のイメージを示している。なお、罫線矩形の(矩形内部
の)左上隅、左下隅、右上隅、右下隅の各画素をlu,
ld,ru,rdとする。
【0035】第1の傾き判定方法においては、次の条件
a,b,cについて順に調べる。 条件a:ld及びruが黒で、かつlu及びrdが白で
ある。この条件が成立したときは”右上がり”と判定す
る。 条件b:lu及びrdが黒で、かつld及びruが白で
ある。この条件が成立したときは”右下がり”と判定す
る。 条件c:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
a,b,cについて順に調べる。 条件a:ld及びruが黒で、かつlu及びrdが白で
ある。この条件が成立したときは”右上がり”と判定す
る。 条件b:lu及びrdが黒で、かつld及びruが白で
ある。この条件が成立したときは”右下がり”と判定す
る。 条件c:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
【0036】第2の傾き判定方法においては、次の条件
d,e,fについて順に調べる。 条件d:ldまたはruが白である。この条件が成立し
たときは”右下がり”と判定する。 条件e:luまたはrdが白である。この条件が成立し
たときは”右上がり”と判定する。 条件f:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
d,e,fについて順に調べる。 条件d:ldまたはruが白である。この条件が成立し
たときは”右下がり”と判定する。 条件e:luまたはrdが白である。この条件が成立し
たときは”右上がり”と判定する。 条件f:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
【0037】次に、ステップ204の傾き角度の算出方
法を説明する。最も単純には、右上がりまたは右下がり
の傾きがあると判定された罫線矩形の横幅(主走査方向
の大きさ)widthと高さheight(図5参照)
から、tanθ=height/widthとして傾き
角度θを求めることができる。しかし、罫線の太さの影
響を減らすため、本実施例においては次のような方法に
よって傾き(スキュー)角度θを算出する。図6はその
説明図である。
法を説明する。最も単純には、右上がりまたは右下がり
の傾きがあると判定された罫線矩形の横幅(主走査方向
の大きさ)widthと高さheight(図5参照)
から、tanθ=height/widthとして傾き
角度θを求めることができる。しかし、罫線の太さの影
響を減らすため、本実施例においては次のような方法に
よって傾き(スキュー)角度θを算出する。図6はその
説明図である。
【0038】まず、右上がりまたは左上がりの傾きがあ
ると判定された罫線矩形について、その内部の黒画素数
pixelを求めて黒画素数メモリ110に格納する。
黒画素数は、罫線矩形内のイメージをスキャンして黒画
素をカウントする方法によっても、罫線矩形に包含され
た黒ランのデータより計算してもよい。
ると判定された罫線矩形について、その内部の黒画素数
pixelを求めて黒画素数メモリ110に格納する。
黒画素数は、罫線矩形内のイメージをスキャンして黒画
素をカウントする方法によっても、罫線矩形に包含され
た黒ランのデータより計算してもよい。
【0039】次に、thickness=pixel/
width を計算する。これは罫線の太さによるheightの増
加分に対応するので、その分を補正した高さ tilt=height−thickness を計算する。そして、 tanθ=tilt/width から傾き角度θを求める。
width を計算する。これは罫線の太さによるheightの増
加分に対応するので、その分を補正した高さ tilt=height−thickness を計算する。そして、 tanθ=tilt/width から傾き角度θを求める。
【0040】実施例2における傾き検出処理の説明 本実施例における傾き検出処理フローは前記実施例1と
同様であるが、傾き検出に縦方向(副走査方向)の罫線
の矩形を用いるため、その方向の違いによって傾き判定
処理(ステップ202)の判定条件と傾き角度の算出処
理(ステップ204)が前記実施例1の場合と相違す
る。以下、この相違点についてのみ説明する。なお、罫
線矩形の(矩形内部の)左上隅、左下隅、右上隅、右下
隅の各画素をlu,ld,ru,rdとする(図5参
照)。
同様であるが、傾き検出に縦方向(副走査方向)の罫線
の矩形を用いるため、その方向の違いによって傾き判定
処理(ステップ202)の判定条件と傾き角度の算出処
理(ステップ204)が前記実施例1の場合と相違す
る。以下、この相違点についてのみ説明する。なお、罫
線矩形の(矩形内部の)左上隅、左下隅、右上隅、右下
隅の各画素をlu,ld,ru,rdとする(図5参
照)。
【0041】傾き判定処理は二つの方法がある。まず、
第1の傾き判定方法においては、次の条件g,h,iに
ついて順に調べる。 条件g:ld及びruが黒で、かつlu及びrdが白で
ある。この条件が成立したときは”右下がり”と判定す
る。 条件h:lu及びrdが黒で、かつld及びruが白で
ある。この条件が成立したときは”右上がり”と判定す
る。 条件i:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
第1の傾き判定方法においては、次の条件g,h,iに
ついて順に調べる。 条件g:ld及びruが黒で、かつlu及びrdが白で
ある。この条件が成立したときは”右下がり”と判定す
る。 条件h:lu及びrdが黒で、かつld及びruが白で
ある。この条件が成立したときは”右上がり”と判定す
る。 条件i:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
【0042】第2の傾き判定方法においては、次の条件
j,k,lについて順に調べる。 条件j:ldまたはruが白である。この条件が成立し
たときは”右上がり”と判定する。 条件k:luまたはrdが白である。この条件が成立し
たときは”右下がり”と判定する。 条件l:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
j,k,lについて順に調べる。 条件j:ldまたはruが白である。この条件が成立し
たときは”右上がり”と判定する。 条件k:luまたはrdが白である。この条件が成立し
たときは”右下がり”と判定する。 条件l:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
【0043】傾き角度算出処理(ステップ204)にお
ける傾き角度の算出のため計算式は同じである。ただ
し、縦方向の罫線を用いているため、前記実施例1のw
idthを罫線矩形の縦方向の大きさに、またheih
tを横方向の大きさに、それぞれ置き換える。
ける傾き角度の算出のため計算式は同じである。ただ
し、縦方向の罫線を用いているため、前記実施例1のw
idthを罫線矩形の縦方向の大きさに、またheih
tを横方向の大きさに、それぞれ置き換える。
【0044】
【発明の効果】以上説明した如く、本発明によれば以下
の効果を得られる。
の効果を得られる。
【0045】(1)請求項1の発明によれば、表を構成
する罫線を基準にして画像の傾きを的確に検出すること
ができ。。しかも、傾き検出のための処理ステップの大
半は、表処理のために必要となる処理ステップと同様な
ものであるうえに、画像の傾きの有無及び向きの判定ア
ルゴリズムも罫線矩形の4隅の画素の白黒に着目した極
めて単純なものであるため、本発明による画像傾き検出
方法は表処理へ応用するのに最適である。
する罫線を基準にして画像の傾きを的確に検出すること
ができ。。しかも、傾き検出のための処理ステップの大
半は、表処理のために必要となる処理ステップと同様な
ものであるうえに、画像の傾きの有無及び向きの判定ア
ルゴリズムも罫線矩形の4隅の画素の白黒に着目した極
めて単純なものであるため、本発明による画像傾き検出
方法は表処理へ応用するのに最適である。
【0046】(2)請求項2の発明によれば、傾きの有
る罫線矩形と最初に遭遇した段階で傾きの有無及び向き
の判定が終了するため、全ての罫線矩形について判定を
行なう方法に比べて効率的な傾き検出が可能である。
る罫線矩形と最初に遭遇した段階で傾きの有無及び向き
の判定が終了するため、全ての罫線矩形について判定を
行なう方法に比べて効率的な傾き検出が可能である。
【0047】(3)請求項3の発明によれば、個々の罫
線矩形からは傾きが無いと判断しかねるような画像の場
合に判定間違いが起こり難くなる。
線矩形からは傾きが無いと判断しかねるような画像の場
合に判定間違いが起こり難くなる。
【0048】(4)請求項4の発明によれば、罫線の太
さの影響を補正し、傾き角度の検出精度を上げることが
できる。
さの影響を補正し、傾き角度の検出精度を上げることが
できる。
【0049】(5)請求項5の発明によれば、表画像が
傾いて入力された場合でも、その傾きを補正して表中の
文字画像を正確に切り出すことができるため、表中の文
字の認識精度を上げることができる。
傾いて入力された場合でも、その傾きを補正して表中の
文字画像を正確に切り出すことができるため、表中の文
字の認識精度を上げることができる。
【図1】本発明に係る表処理システムの一例を示すブロ
ック図である。
ック図である。
【図2】表処理の概略フローチャートである。
【図3】罫線矩形抽出の説明図である。
【図4】傾き判定処理のフローチャートである。
【図5】傾き判定の説明図である。
【図6】傾き角度算出の説明図である。
101 2値画像入力部 102 2値イメージメモリ 103 黒ラン抽出部 104 黒ランメモリ 105 矩形統合部 106 矩形メモリ 107 罫線矩形抽出部 108 罫線矩形メモリ 109 傾き検出部 110 黒画素数メモリ 111 画像傾き補正部 112 補正2値イメージメモリ 113 枠認識部 114 枠座標メモリ 115 枠内文字抽出部 116 文字画像メモリ 117 文字認識部 130 黒ラン 132 黒ランの統合矩形 133 罫線矩形
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年5月26日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 画像傾き検出方法及び表処理方法
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、表領域を含む文書や帳
票の画像の傾きの検出方法と、表領域の文字を認識する
表処理方法に関する。
票の画像の傾きの検出方法と、表領域の文字を認識する
表処理方法に関する。
【0002】
【従来の技術】文字認識装置において文書や帳票の画像
を処理する場合、画像を文字領域、写真や図形等のイメ
ージ領域、表領域等に分割し、それぞれの領域に対して
別の処理を行なうことが多い。この中で、表領域に関し
ては、罫線の座標から表中の枠を認識し、枠内画像より
文字画像を切り出し認識する方法が知られている。
を処理する場合、画像を文字領域、写真や図形等のイメ
ージ領域、表領域等に分割し、それぞれの領域に対して
別の処理を行なうことが多い。この中で、表領域に関し
ては、罫線の座標から表中の枠を認識し、枠内画像より
文字画像を切り出し認識する方法が知られている。
【0003】かかる表処理に関し、表の両脇に縦罫線が
存在しない場合、あるいは表の上下に横罫線が存在しな
い場合に、その罫線を仮想的に生成する方法も知られて
いる(特開平2−264386号)。
存在しない場合、あるいは表の上下に横罫線が存在しな
い場合に、その罫線を仮想的に生成する方法も知られて
いる(特開平2−264386号)。
【0004】
【発明が解決しようとする課題】しかし、従来の表処理
方法は、特開平2−264386号の方法も含め、入力
された画像の傾きが大きい場合に、表中の文字画像の切
り出し、認識を正確に行なうことができないという問題
があった。
方法は、特開平2−264386号の方法も含め、入力
された画像の傾きが大きい場合に、表中の文字画像の切
り出し、認識を正確に行なうことができないという問題
があった。
【0005】よって、本発明の一つの目的は、表領域を
含む文書等の画像の傾きを検出する方法、特に表処理に
適用するのに好適な画像の傾き検出方法を提供すること
にある。本発明のもう一つの目的は、表領域を含む文書
等の画像が傾いて入力された場合にも、表中の文字を正
確に認識できる表処理方法を提供することにある。
含む文書等の画像の傾きを検出する方法、特に表処理に
適用するのに好適な画像の傾き検出方法を提供すること
にある。本発明のもう一つの目的は、表領域を含む文書
等の画像が傾いて入力された場合にも、表中の文字を正
確に認識できる表処理方法を提供することにある。
【0006】
【課題を解決するための手段】請求項1の発明は、2値
画像上の一定値以上の長さの黒ランを抽出するステップ
1と、ステップ1で抽出された黒ランで主走査方向及び
副走査方向にそれぞれ別に定められた距離内にある黒ラ
ンを包含する矩形を抽出するステップ2と、ステップ2
で抽出された矩形で主走査方向及び副走査方向にそれぞ
れ別に定められた距離内にある矩形を包含する罫線矩形
を抽出するステップ3と、ステップ3で抽出された罫線
矩形の4隅の画素の白黒を調べることにより2値画像の
傾きの有無及び向きを判定するステップ4を有すること
を特徴とするものである。
画像上の一定値以上の長さの黒ランを抽出するステップ
1と、ステップ1で抽出された黒ランで主走査方向及び
副走査方向にそれぞれ別に定められた距離内にある黒ラ
ンを包含する矩形を抽出するステップ2と、ステップ2
で抽出された矩形で主走査方向及び副走査方向にそれぞ
れ別に定められた距離内にある矩形を包含する罫線矩形
を抽出するステップ3と、ステップ3で抽出された罫線
矩形の4隅の画素の白黒を調べることにより2値画像の
傾きの有無及び向きを判定するステップ4を有すること
を特徴とするものである。
【0007】請求項2の発明は、請求項1の発明による
画像傾き検出方法のステップ4において、ステップ3に
より抽出された罫線矩形について1個ずつ順に傾きの有
無及び向きの判定を行ない、ある一つの罫線矩形につい
て傾きがあると判定した場合に、その段階で判定処理を
終了することを特徴とするものである。
画像傾き検出方法のステップ4において、ステップ3に
より抽出された罫線矩形について1個ずつ順に傾きの有
無及び向きの判定を行ない、ある一つの罫線矩形につい
て傾きがあると判定した場合に、その段階で判定処理を
終了することを特徴とするものである。
【0008】請求項3の発明は、請求項2の発明による
画像傾き検出方法のステップ4において、ステップ3に
より抽出された罫線矩形中に傾きが有ると判定された罫
線矩形が1個も無い場合には、傾きが無いと判定された
罫線矩形の個数が罫線矩形の総数に対し所定の割合以上
であるときに、傾き無しと最終的に判定することを特徴
とするものである。
画像傾き検出方法のステップ4において、ステップ3に
より抽出された罫線矩形中に傾きが有ると判定された罫
線矩形が1個も無い場合には、傾きが無いと判定された
罫線矩形の個数が罫線矩形の総数に対し所定の割合以上
であるときに、傾き無しと最終的に判定することを特徴
とするものである。
【0009】請求項4の発明は、請求項1,2または3
の発明による画像傾き検出方法において、ステップ4に
より画像の傾きがあると判定された罫線矩形の内部の黒
画素数を該罫線矩形の長手方向のサイズによって除算し
た値を、該罫線矩形の短手方向のサイズから減算し、該
減算後のサイズと該罫線矩形の長手方向のサイズとから
画像の傾き角度を求めるステップ5を有することを特徴
とするものである。
の発明による画像傾き検出方法において、ステップ4に
より画像の傾きがあると判定された罫線矩形の内部の黒
画素数を該罫線矩形の長手方向のサイズによって除算し
た値を、該罫線矩形の短手方向のサイズから減算し、該
減算後のサイズと該罫線矩形の長手方向のサイズとから
画像の傾き角度を求めるステップ5を有することを特徴
とするものである。
【0010】請求項5の発明は、請求項4の発明の画像
傾き検出方法によって、入力された原稿の2値画像の傾
きの角度及び向きを検出し、しかる後に該2値画像の傾
きの補正を行ない、該補正後の2値画像に対して請求項
1の発明の画像傾き検出方法におけるステップ1乃至ス
テップ3の処理を再度実行することより罫線矩形を抽出
し、該罫線矩形の座標より表の枠を認識し、認識した枠
内の文字画像を該補正後の2値画像より切り出して認識
することを特徴とするものである。
傾き検出方法によって、入力された原稿の2値画像の傾
きの角度及び向きを検出し、しかる後に該2値画像の傾
きの補正を行ない、該補正後の2値画像に対して請求項
1の発明の画像傾き検出方法におけるステップ1乃至ス
テップ3の処理を再度実行することより罫線矩形を抽出
し、該罫線矩形の座標より表の枠を認識し、認識した枠
内の文字画像を該補正後の2値画像より切り出して認識
することを特徴とするものである。
【0011】
【作用】請求項1の発明によれば、表を構成する罫線を
基準にして画像の傾きを的確に検出することができる。
しかも、傾き検出のための処理ステップの大半は、表処
理のために必要となる処理ステップと同様なものである
うえに、画像の傾きの有無及び向きの判定アルゴリズム
も罫線矩形の4隅の画素の白黒に着目した極めて単純な
ものであるため、本発明による画像傾き検出方法は表処
理へ応用するのに最適である。
基準にして画像の傾きを的確に検出することができる。
しかも、傾き検出のための処理ステップの大半は、表処
理のために必要となる処理ステップと同様なものである
うえに、画像の傾きの有無及び向きの判定アルゴリズム
も罫線矩形の4隅の画素の白黒に着目した極めて単純な
ものであるため、本発明による画像傾き検出方法は表処
理へ応用するのに最適である。
【0012】請求項2の発明によれば、傾きの有る罫線
矩形と最初に遭遇した段階で傾きの有無及び向きの判定
が終了するため、全ての罫線矩形について判定を行なう
方法に比べて効率的な傾き検出が可能である。
矩形と最初に遭遇した段階で傾きの有無及び向きの判定
が終了するため、全ての罫線矩形について判定を行なう
方法に比べて効率的な傾き検出が可能である。
【0013】請求項3の発明によれば、個々の罫線矩形
からは傾きが無いと判断しかねるような画像の場合に判
定間違いが起こり難くなる。
からは傾きが無いと判断しかねるような画像の場合に判
定間違いが起こり難くなる。
【0014】請求項4の発明によれば、罫線の太さの影
響を補正し、傾き角度の検出精度を上げることができ
る。
響を補正し、傾き角度の検出精度を上げることができ
る。
【0015】請求項5の発明によれば、表画像が傾いて
入力された場合でも、その傾きを補正して表中の文字画
像を正確に切り出すことができるため、表中の文字の認
識精度を上げることができる。
入力された場合でも、その傾きを補正して表中の文字画
像を正確に切り出すことができるため、表中の文字の認
識精度を上げることができる。
【0016】
【実施例】図1は、本発明の実施例1及び実施例2に係
る表処理システムのブロック図である。以下、表処理に
ついて説明する。図2に表処理の概略フローを示す。
る表処理システムのブロック図である。以下、表処理に
ついて説明する。図2に表処理の概略フローを示す。
【0017】ステップ1:スキャナ等の2値画像入力部
101によって、文書や帳票等の原稿を読み取り、原稿
の2値イメージデータを2値イメージメモリ102に格
納する。
101によって、文書や帳票等の原稿を読み取り、原稿
の2値イメージデータを2値イメージメモリ102に格
納する。
【0018】ステップ2:黒ラン抽出部103によっ
て、2値イメージデータをスキャンし、一定値以上の長
さを持つ黒ランを抽出し、そのデータ(始点、終点の座
標等)を黒ランメモリ104に格納する。
て、2値イメージデータをスキャンし、一定値以上の長
さを持つ黒ランを抽出し、そのデータ(始点、終点の座
標等)を黒ランメモリ104に格納する。
【0019】ステップ3:矩形統合部105により、ス
テップ2で抽出された黒ランに対して、主走査方向及び
副走査方向にそれぞれ別に定められた距離の範囲内にあ
る黒ランを、それらを全て包含する矩形に統合し、その
矩形のデータ(頂点座標等)を矩形メモリ106に格納
する。
テップ2で抽出された黒ランに対して、主走査方向及び
副走査方向にそれぞれ別に定められた距離の範囲内にあ
る黒ランを、それらを全て包含する矩形に統合し、その
矩形のデータ(頂点座標等)を矩形メモリ106に格納
する。
【0020】ステップ4:罫線矩形抽出部107におい
て、ステップ3で抽出された矩形について、主走査方向
及び副走査方向にそれぞれ別に定めた距離の範囲内にあ
る矩形を包含する矩形を罫線の矩形として抽出し、その
データ(対角頂点の座標等)を罫線矩形メモリ108に
格納する。
て、ステップ3で抽出された矩形について、主走査方向
及び副走査方向にそれぞれ別に定めた距離の範囲内にあ
る矩形を包含する矩形を罫線の矩形として抽出し、その
データ(対角頂点の座標等)を罫線矩形メモリ108に
格納する。
【0021】図3はステップ2からステップ4の説明図
である。図3において、130(太い黒線)はステップ
2で抽出された主走査方向の黒ランを示す。132(破
線の矩形)は、ステップ3によって黒ラン130を統合
した矩形である。133(実線の矩形)はもステップ4
によって矩形132を統合した罫線(ここでは横罫線)
の矩形である。
である。図3において、130(太い黒線)はステップ
2で抽出された主走査方向の黒ランを示す。132(破
線の矩形)は、ステップ3によって黒ラン130を統合
した矩形である。133(実線の矩形)はもステップ4
によって矩形132を統合した罫線(ここでは横罫線)
の矩形である。
【0022】ステップ5:傾き検出109において、罫
線矩形メモリ108のデータを参照し、本発明の方法に
よって原稿画像の傾き(スキュー)を検出する。この処
理の内容については、後に実施例毎に詳述する。110
は傾き検出処理で利用される黒画素数メモリである。
線矩形メモリ108のデータを参照し、本発明の方法に
よって原稿画像の傾き(スキュー)を検出する。この処
理の内容については、後に実施例毎に詳述する。110
は傾き検出処理で利用される黒画素数メモリである。
【0023】ステップ6:画像傾き補正部111におい
て、2値イメージメモリ102内の2値イメージを、ス
テップ5で検出された傾き角度だけ逆向きに回転するこ
とによって、傾きを補正した2値イメージを作り補正2
値イメージメモリ112に格納する。
て、2値イメージメモリ102内の2値イメージを、ス
テップ5で検出された傾き角度だけ逆向きに回転するこ
とによって、傾きを補正した2値イメージを作り補正2
値イメージメモリ112に格納する。
【0024】ステップ7:黒ラン抽出部103によって
補正2値イメージに対してステップ2と同じ長い黒ラン
の抽出を行ない、そのデータを黒ランメモリ104に格
納する。ステップ2で抽出された黒ランのデータは廃棄
される。抽出された黒ランに対して矩形統合部105に
よりステップ3と同じ矩形統合を行ない、矩形のデータ
を矩形メモリ106に格納する。ステップ3で抽出され
た矩形のデータは廃棄される。さらに、罫線矩形抽出部
107でステップ4と同じ矩形統合を行なって罫線矩形
を抽出し、そのデータを罫線矩形メモリ108に格納す
る。ステップ4の罫線矩形データは廃棄される。
補正2値イメージに対してステップ2と同じ長い黒ラン
の抽出を行ない、そのデータを黒ランメモリ104に格
納する。ステップ2で抽出された黒ランのデータは廃棄
される。抽出された黒ランに対して矩形統合部105に
よりステップ3と同じ矩形統合を行ない、矩形のデータ
を矩形メモリ106に格納する。ステップ3で抽出され
た矩形のデータは廃棄される。さらに、罫線矩形抽出部
107でステップ4と同じ矩形統合を行なって罫線矩形
を抽出し、そのデータを罫線矩形メモリ108に格納す
る。ステップ4の罫線矩形データは廃棄される。
【0025】ステップ8:枠認識部113において、罫
線矩形データを基に表の枠(縦横の罫線で囲まれた矩形
領域)を認識し、各枠の座標(対角頂点座標)を枠座標
メモリ114に格納する。なお、この枠の認識に先だっ
て、特開平2−264386号公報に述べられているよ
うな方法によって、表の両脇または上下の罫線の欠落を
調べ、欠落している場合にそれを仮想的に補う処理を行
なうと好ましい。
線矩形データを基に表の枠(縦横の罫線で囲まれた矩形
領域)を認識し、各枠の座標(対角頂点座標)を枠座標
メモリ114に格納する。なお、この枠の認識に先だっ
て、特開平2−264386号公報に述べられているよ
うな方法によって、表の両脇または上下の罫線の欠落を
調べ、欠落している場合にそれを仮想的に補う処理を行
なうと好ましい。
【0026】ステップ9:枠内文字抽出部115におい
て、枠座標メモリ114内の各枠の座標を基に、補正2
値イメージメモリ112内の補正2値イメージから各枠
内の文字の画像を切り出し、切り出した文字画像を文字
画像メモリ116に格納する。
て、枠座標メモリ114内の各枠の座標を基に、補正2
値イメージメモリ112内の補正2値イメージから各枠
内の文字の画像を切り出し、切り出した文字画像を文字
画像メモリ116に格納する。
【0027】ステップ10:文字認識部117におい
て、文字画像メモリ116より文字画像を1文字ずつ読
み込み、その特徴量の抽出、辞書との比較等によって文
字を認識し、認識結果として文字コードを出力する。
て、文字画像メモリ116より文字画像を1文字ずつ読
み込み、その特徴量の抽出、辞書との比較等によって文
字を認識し、認識結果として文字コードを出力する。
【0028】次に、傾き検出処理(ステップ5)につい
て、実施例別に説明する。
て、実施例別に説明する。
【0029】〈実施例1における傾き検出処理の説明〉
図4は傾き検出処理のフローチャートである。なお、本
実施例においては、横方向(主走査方向)の罫線矩形だ
けを対象として処理を実行する。
図4は傾き検出処理のフローチャートである。なお、本
実施例においては、横方向(主走査方向)の罫線矩形だ
けを対象として処理を実行する。
【0030】まず、罫線矩形を一つ選び(ステップ20
0)、その傾きを判定する(ステップ202)。この判
定の方法については後述する。
0)、その傾きを判定する(ステップ202)。この判
定の方法については後述する。
【0031】傾きの判定結果が”右上がり”または”右
下がり”であるか否かを調べ(ステップ203)、その
いずれかであれば、傾きの角度を計算し(ステップ20
4、計算方法は後述する)、傾きの角度(向きを含む)
を出力し、傾き検出処理を終了する。すなわち、”右上
がり”または”右下がり”の罫線矩形が一つ見つかる
と、その罫線矩形から角度を計算して処理を終わる。
下がり”であるか否かを調べ(ステップ203)、その
いずれかであれば、傾きの角度を計算し(ステップ20
4、計算方法は後述する)、傾きの角度(向きを含む)
を出力し、傾き検出処理を終了する。すなわち、”右上
がり”または”右下がり”の罫線矩形が一つ見つかる
と、その罫線矩形から角度を計算して処理を終わる。
【0032】ステップ202の傾き判定結果が”右上が
り”でも”右下がり”でもない場合(”傾きなし”また
は”判定不能”の場合)、”傾きなし”ならば、そのよ
うな判定結果となった罫線矩形の個数をカウントするた
めのカウンタnをインクリメントし(”判定不能”なら
ば何もしない)、ステップ200からの処理を繰り返
す。
り”でも”右下がり”でもない場合(”傾きなし”また
は”判定不能”の場合)、”傾きなし”ならば、そのよ
うな判定結果となった罫線矩形の個数をカウントするた
めのカウンタnをインクリメントし(”判定不能”なら
ば何もしない)、ステップ200からの処理を繰り返
す。
【0033】抽出された罫線矩形の最後のものまで調
べ、傾き判定結果が”右上がり”または”右下がり”の
罫線矩形が一つも見つからなかった場合には、ステップ
201よりステップ207に処理が進み、カウンタnの
値が罫線矩形の総数に対して例えば60パーセントを越
えているかチェックする。そして、その割合が60パー
セント以上であるときは”傾きなし”を出力し(ステッ
プ208)、割合が60パーセント未満のときは”判定
不能”を出力する(ステップ209)。なお、”傾きな
し”の場合、図2のステップ6では2値イメージメモリ
102内の2値イメージデータをそのまま補正2値イメ
ージメモリ112へ転送する。また、”判定不能”の場
合には、例えばエラー警報を出して処理を中断し、オペ
レータの介入を待つ。
べ、傾き判定結果が”右上がり”または”右下がり”の
罫線矩形が一つも見つからなかった場合には、ステップ
201よりステップ207に処理が進み、カウンタnの
値が罫線矩形の総数に対して例えば60パーセントを越
えているかチェックする。そして、その割合が60パー
セント以上であるときは”傾きなし”を出力し(ステッ
プ208)、割合が60パーセント未満のときは”判定
不能”を出力する(ステップ209)。なお、”傾きな
し”の場合、図2のステップ6では2値イメージメモリ
102内の2値イメージデータをそのまま補正2値イメ
ージメモリ112へ転送する。また、”判定不能”の場
合には、例えばエラー警報を出して処理を中断し、オペ
レータの介入を待つ。
【0034】次に、ステップ202における傾き判定の
方法について説明する。図5は傾き判定の説明のための
図であり、一つの右上がりの横罫線301の矩形302
のイメージを示している。なお、罫線矩形の(矩形内部
の)左上隅、左下隅、右上隅、右下隅の各画素をlu,
ld,ru,rdとする。
方法について説明する。図5は傾き判定の説明のための
図であり、一つの右上がりの横罫線301の矩形302
のイメージを示している。なお、罫線矩形の(矩形内部
の)左上隅、左下隅、右上隅、右下隅の各画素をlu,
ld,ru,rdとする。
【0035】第1の傾き判定方法においては、次の条件
a,b,cについて順に調べる。 条件a:ld及びruが黒で、かつlu及びrdが白で
ある。この条件が成立したときは”右上がり”と判定す
る。 条件b:lu及びrdが黒で、かつld及びruが白で
ある。この条件が成立したときは”右下がり”と判定す
る。 条件c:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
a,b,cについて順に調べる。 条件a:ld及びruが黒で、かつlu及びrdが白で
ある。この条件が成立したときは”右上がり”と判定す
る。 条件b:lu及びrdが黒で、かつld及びruが白で
ある。この条件が成立したときは”右下がり”と判定す
る。 条件c:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
【0036】第2の傾き判定方法においては、次の条件
d,e,fについて順に調べる。 条件d:ldまたはruが白である。この条件が成立し
たときは”右下がり”と判定する。 条件e:luまたはrdが白である。この条件が成立し
たときは”右上がり”と判定する。 条件f:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
d,e,fについて順に調べる。 条件d:ldまたはruが白である。この条件が成立し
たときは”右下がり”と判定する。 条件e:luまたはrdが白である。この条件が成立し
たときは”右上がり”と判定する。 条件f:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
【0037】次に、ステップ204の傾き角度の算出方
法を説明する。最も単純には、右上がりまたは右下がり
の傾きがあると判定された罫線矩形の横幅(主走査方向
の大きさ)widthと高さheight(図5参照)
から、tanθ=height/widthとして傾き
角度θを求めることができる。しかし、罫線の太さの影
響を減らすため、本実施例においては次のような方法に
よって傾き(スキュー)角度θを算出する。図6はその
説明図である。
法を説明する。最も単純には、右上がりまたは右下がり
の傾きがあると判定された罫線矩形の横幅(主走査方向
の大きさ)widthと高さheight(図5参照)
から、tanθ=height/widthとして傾き
角度θを求めることができる。しかし、罫線の太さの影
響を減らすため、本実施例においては次のような方法に
よって傾き(スキュー)角度θを算出する。図6はその
説明図である。
【0038】まず、右上がりまたは右下がりの傾きがあ
ると判定された罫線矩形について、その内部の黒画素数
pixelを求めて黒画素数メモリ110に格納する。
黒画素数は、罫線矩形内のイメージをスキャンして黒画
素をカウントする方法によっても、罫線矩形に包含され
た黒ランのデータより計算してもよい。
ると判定された罫線矩形について、その内部の黒画素数
pixelを求めて黒画素数メモリ110に格納する。
黒画素数は、罫線矩形内のイメージをスキャンして黒画
素をカウントする方法によっても、罫線矩形に包含され
た黒ランのデータより計算してもよい。
【0039】次に、thickness=pixel/
width を計算する。これは罫線の太さによるheightの増
加分に対応するので、その分を補正した高さ tilt=height−thickness を計算する。そして、 tanθ=tilt/width から傾き角度θを求める。
width を計算する。これは罫線の太さによるheightの増
加分に対応するので、その分を補正した高さ tilt=height−thickness を計算する。そして、 tanθ=tilt/width から傾き角度θを求める。
【0040】〈実施例2における傾き検出処理の説明〉
本実施例における傾き検出処理フローは前記実施例1と
同様であるが、傾き検出に縦方向(副走査方向)の罫線
の矩形を用いるため、その方向の違いによって傾き判定
処理(ステップ202)の判定条件と傾き角度の算出処
理(ステップ204)が前記実施例1の場合と相違す
る。以下、この相違点についてのみ説明する。なお、罫
線矩形の(矩形内部の)左上隅、左下隅、右上隅、右下
隅の各画素をlu,ld,ru,rdとする(図5参
照)。
本実施例における傾き検出処理フローは前記実施例1と
同様であるが、傾き検出に縦方向(副走査方向)の罫線
の矩形を用いるため、その方向の違いによって傾き判定
処理(ステップ202)の判定条件と傾き角度の算出処
理(ステップ204)が前記実施例1の場合と相違す
る。以下、この相違点についてのみ説明する。なお、罫
線矩形の(矩形内部の)左上隅、左下隅、右上隅、右下
隅の各画素をlu,ld,ru,rdとする(図5参
照)。
【0041】傾き判定処理は二つの方法がある。まず、
第1の傾き判定方法においては、次の条件g,h,iに
ついて順に調べる。 条件g:ld及びruが黒で、かつlu及びrdが白で
ある。この条件が成立したときは”右下がり”と判定す
る。 条件h:lu及びrdが黒で、かつld及びruが白で
ある。この条件が成立したときは”右上がり”と判定す
る。 条件i:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
第1の傾き判定方法においては、次の条件g,h,iに
ついて順に調べる。 条件g:ld及びruが黒で、かつlu及びrdが白で
ある。この条件が成立したときは”右下がり”と判定す
る。 条件h:lu及びrdが黒で、かつld及びruが白で
ある。この条件が成立したときは”右上がり”と判定す
る。 条件i:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
【0042】第2の傾き判定方法においては、次の条件
j,k,lについて順に調べる。 条件j:ldまたはruが白である。この条件が成立し
たときは”右上がり”と判定する。 条件k:luまたはrdが白である。この条件が成立し
たときは”右下がり”と判定する。 条件l:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
j,k,lについて順に調べる。 条件j:ldまたはruが白である。この条件が成立し
たときは”右上がり”と判定する。 条件k:luまたはrdが白である。この条件が成立し
たときは”右下がり”と判定する。 条件l:lu,ld,ru,rdの全部が黒である。こ
の条件が成立したときは”傾きなし”と判定する。 以上のいずれの条件も成立しないときは”判定不能”と
する。
【0043】傾き角度算出処理(ステップ204)にお
ける傾き角度の算出のため計算式は同じである。ただ
し、縦方向の罫線を用いているため、前記実施例1のw
idthを罫線矩形の縦方向の大きさに、またheih
tを横方向の大きさに、それぞれ置き換える。
ける傾き角度の算出のため計算式は同じである。ただ
し、縦方向の罫線を用いているため、前記実施例1のw
idthを罫線矩形の縦方向の大きさに、またheih
tを横方向の大きさに、それぞれ置き換える。
【0044】
【発明の効果】以上説明した如く、本発明によれば以下
の効果を得られる。
の効果を得られる。
【0045】(1)請求項1の発明によれば、表を構成
する罫線を基準にして画像の傾きを的確に検出すること
ができる。しかも、傾き検出のための処理ステップの大
半は、表処理のために必要となる処理ステップと同様な
ものであるうえに、画像の傾きの有無及び向きの判定ア
ルゴリズムも罫線矩形の4隅の画素の白黒に着目した極
めて単純なものであるため、本発明による画像傾き検出
方法は表処理へ応用するのに最適である。
する罫線を基準にして画像の傾きを的確に検出すること
ができる。しかも、傾き検出のための処理ステップの大
半は、表処理のために必要となる処理ステップと同様な
ものであるうえに、画像の傾きの有無及び向きの判定ア
ルゴリズムも罫線矩形の4隅の画素の白黒に着目した極
めて単純なものであるため、本発明による画像傾き検出
方法は表処理へ応用するのに最適である。
【0046】(2)請求項2の発明によれば、傾きの有
る罫線矩形と最初に遭遇した段階で傾きの有無及び向き
の判定が終了するため、全ての罫線矩形について判定を
行なう方法に比べて効率的な傾き検出が可能である。
る罫線矩形と最初に遭遇した段階で傾きの有無及び向き
の判定が終了するため、全ての罫線矩形について判定を
行なう方法に比べて効率的な傾き検出が可能である。
【0047】(3)請求項3の発明によれば、個々の罫
線矩形からは傾きが無いと判断しかねるような画像の場
合に判定間違いが起こり難くなる。
線矩形からは傾きが無いと判断しかねるような画像の場
合に判定間違いが起こり難くなる。
【0048】(4)請求項4の発明によれば、罫線の太
さの影響を補正し、傾き角度の検出精度を上げることが
できる。
さの影響を補正し、傾き角度の検出精度を上げることが
できる。
【0049】(5)請求項5の発明によれば、表画像が
傾いて入力された場合でも、その傾きを補正して表中の
文字画像を正確に切り出すことができるため、表中の文
字の認識精度を上げることができる。
傾いて入力された場合でも、その傾きを補正して表中の
文字画像を正確に切り出すことができるため、表中の文
字の認識精度を上げることができる。
【図面の簡単な説明】
【図1】本発明に係る表処理システムの一例を示すブロ
ック図である。
ック図である。
【図2】表処理の概略フローチャートである。
【図3】罫線矩形抽出の説明図である。
【図4】傾き判定処理のフローチャートである。
【図5】傾き判定の説明図である。
【図6】傾き角度算出の説明図である。
【符号の説明】 101 2値画像入力部 102 2値イメージメモリ 103 黒ラン抽出部 104 黒ランメモリ 105 矩形統合部 106 矩形メモリ 107 罫線矩形抽出部 108 罫線矩形メモリ 109 傾き検出部 110 黒画素数メモリ 111 画像傾き補正部 112 補正2値イメージメモリ 113 枠認識部 114 枠座標メモリ 115 枠内文字抽出部 116 文字画像メモリ 117 文字認識部 130 黒ラン 132 黒ランの統合矩形 133 罫線矩形
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】
Claims (5)
- 【請求項1】 2値画像上の一定値以上の長さの黒ラン
を抽出するステップ1と、ステップ1で抽出された黒ラ
ンで主走査方向及び副走査方向にそれぞれ別に定められ
た距離内にある黒ランを包含する矩形に抽出するステッ
プ2と、ステップ2で抽出された矩形で主走査方向及び
副走査方向にそれぞれ別に定められた距離内にある矩形
を包含する罫線矩形を抽出するステップ3と、ステップ
3で抽出された罫線矩形の4隅の画素の白黒を調べるこ
とにより2値画像の傾きの有無及び向きを判定するステ
ップ4を有することを特徴とする画像傾き検出方法。 - 【請求項2】 ステップ4において、ステップ3により
抽出された罫線矩形について1個ずつ順に傾きの有無及
び向きの判定を行ない、ある一つの罫線矩形について傾
きがあると判定した場合に、その段階で判定処理を終了
することを特徴とする請求項1記載の画像傾き検出方
法。 - 【請求項3】 ステップ4において、ステップ3により
抽出された罫線矩形中に傾きが有ると判定された罫線矩
形が1個も無い場合には、傾きが無いと判定された罫線
矩形の個数が罫線矩形の総数に対し所定の割合以上であ
るときに傾き無しと最終的に判定することを特徴とする
請求項2記載の画像傾き検出方法。 - 【請求項4】 ステップ4により画像の傾きがあると判
定された罫線矩形の内部の黒画素数を該罫線矩形の長手
方向のサイズによって除算した値を、該罫線矩形の短手
方向のサイズから減算し、該減算後のサイズと該罫線矩
形の長手方向のサイズとから画像の傾き角度を求めるス
テップ5を有することを特徴とする請求項1,2または
3記載の画像傾き検出方法。 - 【請求項5】 入力された原稿の2値画像の傾きの角度
及び向きを、請求項4記載の画像傾き検出方法によって
検出した後、該2値画像の傾きの補正を行ない、該補正
後の2値画像に対して、請求項1記載の画像傾き検出方
法におけるステップ1乃至ステップ3の処理を実行する
ことにより罫線矩形を抽出し、該罫線矩形の座標より表
の枠を認識し、認識した枠内の文字画像を該補正後の2
値画像より切り出して認識することを特徴とする表処理
方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4302207A JPH06150060A (ja) | 1992-11-12 | 1992-11-12 | 画像傾き検出方法及び表処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4302207A JPH06150060A (ja) | 1992-11-12 | 1992-11-12 | 画像傾き検出方法及び表処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06150060A true JPH06150060A (ja) | 1994-05-31 |
Family
ID=17906243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4302207A Pending JPH06150060A (ja) | 1992-11-12 | 1992-11-12 | 画像傾き検出方法及び表処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06150060A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105310A (ja) * | 1993-10-05 | 1995-04-21 | Ricoh Co Ltd | 画像傾き検出方法及び表処理方法 |
JP2008198157A (ja) * | 2007-02-16 | 2008-08-28 | Fujitsu Ltd | 表認識プログラム、表認識方法および表認識装置 |
-
1992
- 1992-11-12 JP JP4302207A patent/JPH06150060A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105310A (ja) * | 1993-10-05 | 1995-04-21 | Ricoh Co Ltd | 画像傾き検出方法及び表処理方法 |
JP2008198157A (ja) * | 2007-02-16 | 2008-08-28 | Fujitsu Ltd | 表認識プログラム、表認識方法および表認識装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3338537B2 (ja) | 画像傾き検出装置 | |
EP0543593B1 (en) | Method for determining boundaries of words in text | |
JPH1139428A (ja) | 文書映像の方向修正方法 | |
JPH08287184A (ja) | 画像切り出し装置及び文字認識装置 | |
US8472078B2 (en) | Image processing apparatus for determining whether a region based on a combined internal region is a table region | |
JPH06150060A (ja) | 画像傾き検出方法及び表処理方法 | |
JP3443141B2 (ja) | 画像傾き検出方法及び表処理方法 | |
JP4281236B2 (ja) | 画像認識装置、画像認識方法、および、画像認識プログラムを記憶したコンピュータ読取り可能な記録媒体 | |
JPH07230525A (ja) | 罫線認識方法及び表処理方法 | |
JPH0490083A (ja) | 文字認識装置 | |
JPH0728935A (ja) | 文書画像処理装置 | |
JP3381803B2 (ja) | 傾き角検出装置 | |
JPH0679348B2 (ja) | 行切り出し方法 | |
JP2003271897A (ja) | 文字認識装置、画像処理装置、画像処理方法及び同方法の実行に用いるプログラム | |
JP3135290B2 (ja) | 画像処理方法及び装置 | |
JP2000011192A (ja) | 画像間位置合わせ方法 | |
JP3606218B2 (ja) | 文書分類装置、文字読み取り装置及び真贋判定装置、並びにこれらの方法 | |
JPH06223224A (ja) | 行切出し方法 | |
JPH0573718A (ja) | 領域属性識別方式 | |
JP3400154B2 (ja) | 文書画像の領域抽出方法および装置 | |
JP2859307B2 (ja) | 文字切出し装置 | |
JPH04270483A (ja) | 文字情報検出装置 | |
JPH05143772A (ja) | 文書画像の文章領域抽出方法 | |
JPH0728934A (ja) | 文書画像処理装置 | |
JPH10507014A (ja) | 2進イメージにおけるランドスケープ・スキャンの自動決定 |