JP4064677B2 - 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラム - Google Patents
画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラム Download PDFInfo
- Publication number
- JP4064677B2 JP4064677B2 JP2002024631A JP2002024631A JP4064677B2 JP 4064677 B2 JP4064677 B2 JP 4064677B2 JP 2002024631 A JP2002024631 A JP 2002024631A JP 2002024631 A JP2002024631 A JP 2002024631A JP 4064677 B2 JP4064677 B2 JP 4064677B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- inclination
- angle
- image data
- processing
- 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
Links
Images
Landscapes
- Character Input (AREA)
- Image Analysis (AREA)
Description
【発明の属する技術分野】
この発明は、文字認識処理の前処理で文書画像に対する画像処理をおこなう、より詳しくは、文書の傾きを検出し補正するための画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラムに関する。
【0002】
【従来の技術】
従来における画像認識装置として、入力されたイメージ画像の外接矩形を抽出し、その外接矩形を用いて、入力されたイメージ画像の傾きを検出するものがある(たとえば、特開平3−213053号公報記載の「原稿傾き検出装置」)。また、特開平9−171538号公報の画像認識装置は、傾きの微小角度の検出を強化するため、あらかじめ所定の角度の傾きを有して検出する構成である。
【0003】
【発明が解決しようとする課題】
しかしながら、上記特開平3−213053号公報の装置では、原稿が入力された状態において所定の基準点を基準として傾きを検出するので、特に、傾きが微小角度である場合には、検出精度が十分に得られないという問題点がある。この点は、上記の特開平9−171538号公報においても指摘されている。
【0004】
この検出精度は、実際と検出値との微小な角度の相違である場合に限らない。検出方法によっては、「傾いていない」と判定する処理で誤認することがある。傾いていない画像に対し、この画像が「傾いていない」と判定する技術は、間違ったときの影響が非常に大きいため、通常の傾き検出よりも高い検出精度が要求されている。
【0005】
特開平9−171538号公報に記載の装置を用いれば、微小角の検出には優れた結果が得られるが、最初に傾ける所定の角度に対し、偶然、画像の傾き角度が同じ角度であった場合には、検出する角度が微小となり、上記同様に検出精度の問題が発生する。
【0006】
また、特開平9−171538号公報の方法では、最初の検出角度が所定値以下のみ所定の角度を回転させる最初の検出で、傾いていない画像に対し「大きく傾いている」、と判定された場合に誤認を修正することはできない。さらに、上記の各従来技術は、白黒の二値画像に対しての傾き検出の方法であり、カラーなど多値のイメージ画像に対する処理はおこなえない。
【0007】
この発明は、上述した従来技術による問題点を解消するため、入力された画像データの傾き角度や補正後の傾き角度の信頼性を検定することにより、より精度の高い検出結果を得ることができる画像認識装置、画像認識方法、およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【0008】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、本発明の画像処理装置は、入力画像の複製である複製画像を作成する複製作成手段と、前記入力画像の傾きである第1の傾きを検出する傾き検出手段と、検出された前記第1の傾きに基づいて前記入力画像を補正する傾き補正手段と、前記補正手段により補正された前記入力画像の傾きである第2の傾きを検出する傾き検出手段と、前記第1の傾きと前記第2の傾きとに基づいて該第1の傾きの正当性を判断する判断手段とを備え、前記判断手段において前記第1の傾きが正当であると判断された場合には、前記第1の傾きと前記第2の傾きの和に基づいて前記複製画像を補正し、補正された該複製画像を出力し、前記判断手段において前記第1の傾きが正当でないと判断された場合には、前記複製画像を出力することを特徴とする。
【0011】
この発明によれば、1度目の検出角度と2度目の検出角度という情報を用いて検定する構成であるため、2度目の検出結果では水平(0度)に近い値が得られるはずであり、逆に、1度目と2度目の検出結果を足し合わせたものが0度に近いという場合は、1度目で間違った角度補正をおこない、それを元に戻した結果であると簡単に両者を判別できるようになる。また、検定結果で傾きの検出結果が正当でない、と判断された場合に、複製された入力の画像データを結果出力するため、補正後の画像データを再度補正する手間を省き処理の効率化と画像品質の維持を図ることができる。また、画像の傾きの補正をおこない検定結果で正当である、と判定された場合に、1度目の補正画像は破棄することができ、複製された画像データに対する角度補正を、1度目と2度目の角度の和に基づき、ただ一度の補正でおこなえるようになる。これにより、補正にかかる回数を削減でき、画像のがたつきを防止して画像品質を維持できるようになる。
【0012】
また、この発明にかかる画像処理装置は、前記判断手段は、前記第2の傾きの絶対値が予め定められた閾値以下であれば、前記第1の傾きが正当であると判断することを特徴とすることを特徴とする。
【0013】
この発明によれば、しきい値を用いて検定するため、検定精度を向上できるようになる。
【0014】
また、この発明にかかる画像処理方法は、入力画像の複製である複製画像を作成し、前記入力画像の傾きである第1の傾きを検出し、検出された前記第1の傾きに基づいて前記入力画像を補正し、補正された前記入力画像の傾きである第2の傾きを検出し、前記第1の傾きと前記第2の傾きとに基づいて該第1の傾きの正当性を判断し、前記第1の傾きが正当であると判断された場合には、前記第1の傾きと前記第2の傾きの和に基づいて前記複製画像を補正し、補正された該複製画像を出力し、前記第1の傾きが正当でないと判断された場合には、前記複製画像を出力することを特徴とする。
【0016】
また、この発明にかかる画像処理方法は、前記第2の傾きの絶対値が予め定められた閾値以下であれば、前記第1の傾きが正当であると判断することを特徴とする。
【0017】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【0018】
図1は、本発明の画像認識装置の構成例を示すブロック図である。同図に示す画像認識装置100は、本発明の画像認識処理をマイクロプロセッサ等のデジタル処理により実行し得るために構築したものである。同図において、スキャナ101は、文書画像原稿を光学的に読み取り電気信号である画像データに変換する。CPU102は、本発明にかかる画像認識処理を画像認識処理プログラムに基づき実行する。
【0019】
画像認識処理プログラムは、プログラム格納ROM/RAM103、又はCD−ROM/FDなどの格納媒体104に格納される。CPU102は、この画像認識処理プログラムを読み出してワークエリアRAM105を用いて入力された画像データに対する後述する画像認識処理(分割処理および画像処理)を実行する。
【0020】
なお、CD−ROM/FDなどの格納媒体104に格納された画像認識処理プログラムは、CD−ROM/FDドライブ106によって読み出される。そして、画像認識プログラムにより処理された画像データは、CPU102の指示によりメモリ107に格納され、必要によりディスプレイ108に表示出力され、印字装置109から印字出力される。
【0021】
(実施の形態1)
図2は、実施の形態1による画像認識処理プログラムにより構成される各機能部を示すブロック図である。図示のように各機能は、画像入力部201と、画像傾き検出部202と、画像傾き検定部203と、画像傾き補正部204によって構成されている。
【0022】
画像入力部201には、画像データが入力される。この画像データは、二値、多値いずれであってもよい。画像傾き検出部202における画像データの傾きの検出は、画像データが二値の場合と、多値の場合とで異なる。画像データが二値の場合には、上記説明した特開平3−213053号公報の技術や、本出願人による特開平6−20092号公報に開示された装置、方法を使用することができる。たとえば、画像データが多値の場合であれば、画像のエッジ成分の外接矩形を直接取得し、特開平7−141465号公報に開示された方法に対し外接矩形を渡して傾きを検出する。
【0023】
画像傾き検定部203では、上記画像傾き検出部202と異なる別の検出方法で同一の画像データに対し再度角度検出をおこなう。そして、画像傾き検定部203は、再度角度検出した傾き検出角度(第2の検出結果)が、画像傾き検出部202で得られた傾き検出角度(第1の検出結果)と近い場合に結果が正しい(信頼性あり)と判定する。たとえば、本出願人による特開平6−150060号公報に記載された技術を用い、直線部分からの角度を検出しておこなう方法がある。
【0024】
画像傾き補正部204は、画像傾き検定部203で「信頼性あり」、とされた角度に−1(度)をかけた角度だけ、元画像(画像入力部201に入力された画像データ)を回転させる。
【0025】
以上の構成により、第1の検出時の検出角度が正しい傾き角度と大きく異なる場合には、「信頼性なし」となり傾きの補正を実行しないため、信頼性が向上できる。たとえば、傾いていない画像を誤検出して、さらに大きく傾けてしまう失敗を未然に防止できるようになる。
【0026】
図3は、文字認識(OCR)方法の処理内容全体を示すフローチャートである。上記画像データの傾き検出は、このような文字認識処理時の前処理として実行される(図中のスキュー補正に相当)。同図の処理概要を説明する。図示のように、入力される画像データは、二値の場合と、多値の場合では処理過程が異なる。
【0027】
二値の画像データの入力時には、画像の適正化後(ステップS301)、画像データの画像(文書)の方向が判別、補正される(ステップS302)。この後、スキュー補正され(ステップS303)、ステップS310に移行する。
【0028】
多値の画像データの入力時には、画像の適正化後(ステップS304)、画像補正用に二値化され(ステップS305)、画像の方向が判別、補正される(ステップS306)。この後、スキュー(傾き)補正される(ステップS307)。つぎに文書中の写真領域が抽出され(ステップS308)、画像データを認識用に二値化する(ステップS309)。
【0029】
ステップS310では、上記二値、および多値に対するスキュー補正等の処理後の画像データに基づき、ノイズ・網掛け除去をおこなう。この後、上記抽出した写真領域、文字領域、その他の領域等の領域識別処理をおこなう(ステップS311)。識別後の文字領域に対しては、文字認識(OCR)処理をおこない(ステップS312)、表領域に対しては表処理をおこない(ステップS313)、表中の文字領域のみステップS312での文字認識を実行させる。
【0030】
この後、文字認識で得られた文字データ(文字コード)に基づき、対応するフォント、文字色をそれぞれ設定し(ステップS314,315)、文字認識した中間結果データ(DRFと称す)を作成する(ステップS316)。この際、上記抽出された表領域に対する表をデータ作成する。この後、タイトルを抽出し(ステップS317)、最終的な中間結果データを作成し(ステップS318)、ワークエリアRAM105に格納後、文字認識結果をディスプレイ108等に出力する。
【0031】
上記画像の適正化処理(ステップS301,S304)について説明する。この処理は、入力された画像データの縦横の解像度(サイズ)に極端な差がある場合、小さな方のサイズを大きな方のサイズに合わせる処理である。この際、小さな方のサイズを整数倍に変倍することで、縦横の解像度を同じくらいの解像度に合わせる。ただし、変倍することで画像の最大サイズを超える場合は、変倍されないで処理をおこなう。具体的には、以下の式で変倍率を計算する。
【0032】
if(biXPelsPerMeter < biYPelsPerMeter){rate = (int)ceil((double) biYPelsPerMeter / biXPelsPerMeter − 0.5);}
【0033】
ここで、整数値rate × widthの値が、最大処理範囲を超える場合、rateをデクリメントして最大処理範囲を超えない程度まで小さくする。また一方、縦横の解像度の差が倍以上あり、補正すると最大処理画像サイズを超えるような画像データに対しては、入力エラーとして再入力を促す構成としてもよい。また、入力される画像データがインデックスカラーやグレーなどのカラーマップを持った多値画像であった場合、24ビットフルカラーへの変換処理をおこなう。これらの処理にはRGKのライブラリーを使用する。
【0034】
図4は、図3に記載の全体処理における画像の傾き補正に関する部分(ステップS301〜S310)に関する各処理をより詳細に説明したフローチャートである。特に、カラー(多値)の画像データ入力時に画像データが書き変わるタイミングを対応するステップ部分に併記してある。なお、図4において図3と同一の処理ステップには同一のステップ番号を附してある。
【0035】
画像認識装置100のCPU102は、スキャナ101等から入力された画像データの種別を判別する(ステップS401)。二値である場合には(ステップS401:二値画像)、ステップS301〜S303の処理を実行し、スキュー補正後の画像データに対し一度目(第1の検出結果)の文書方向が不明であるか否かを判別する(ステップS402)。文書方向が不明である場合には(ステップS402:Yes)、ステップS302を再実行する。文書方向が判断できれば(ステップS402:No)、ステップS310に移行する。
【0036】
一方、画像データの種別がカラーである場合には(ステップS401:カラー画像)、ステップS304〜S307の処理を実行し、スキュー補正後の画像データに対し一度目(第1の検出結果)の文書方向が不明であるか否かを判別する(ステップS403)。文書方向が不明である場合には(ステップS403:Yes)、ステップS306を再実行する。文書方向が判断できれば(ステップS403:No)、画像回転をおこない(ステップS404)、ステップS308以降の処理を実行する。
【0037】
上記処理において、カラーの画像データ入力時における画像書き換えのタイミングを説明する。カラーの画像データは、画像の適正化(ステップS304)、画像回転(ステップS404)時にそれぞれ書き換えられる。
【0038】
また、カラーの画像データに基づき作成される二値の画像データについての、作成、書き換え、破棄の各タイミングを説明する。画像適正化後の二値化(ステップS305)で二値の画像データが作成され、文書方向判別、補正(ステップS306)、および、スキュー補正(ステップS307)時にそれぞれ書き換えられる。また、この二値の画像データは画像回転(ステップS404)で破棄される。
【0039】
また、写真抽出(ステップS308)、および認識用二値化(ステップS309)時に二値の画像データが作成され、ノイズ・網掛け除去(ステップS310)で二値の画像データが書き換えられる。
【0040】
上記画像補正用二値化処理(ステップS305)の内容について説明する。この処理では、文書方向判別、スキュー検出に用いる二値画像を生成する。この二値の画像データで認識した方向や、傾き角度は、元のカラーの画像データに対して回転して補正をする(ステップS404)ので、その時点で二値の画像は必要なく、破棄している。
【0041】
(実施の形態2)
図5は、実施の形態2による画像認識処理プログラムにより構成される各機能部を示すブロック図である。実施の形態1で説明したと同様に各機能は、画像入力部201と、画像傾き検出部202と、画像傾き検定部203と、画像傾き補正部204によって構成されている。そして、画像傾き補正部204での傾き角度の補正に基づき、画像傾き検定部203で補正後の画像に対して傾きの検定をおこない、角度の正当性を確かめる構成の点が相違している。
【0042】
図6は、実施の形態2による処理内容を示すフローチャートである。まず、入力された画像データの傾き角度を検出する(ステップS601)。ここで傾き角度(angleA)が検出される。つぎに、検出された傾き角度を相殺するマイナスの補正角度(−angleA)で補正する(ステップS602)。つぎに、補正した角度を検定する(ステップS603)。
【0043】
ステップS603で実行する角度検定には、実施の形態1と異なり、最初の角度検出方法と同じ手法のものを使用しても悪影響は少ないという特徴がある。たとえば、補正後の画像を角度検出し、角度が0度付近であれば、補正は成功したと考えられる。この場合、正当性の評価(ステップS604)で、「正当性が高い」という結果を出力する。逆に、補正後の検出角度が大きい場合は、1度目の検出角度は怪しい「正当ではない」と判定する。なお、角度検定時、2度目の検出時に、1度目の検出時とは別の傾き検出方法を用いても構わない。
【0044】
(実施の形態3)
図7は、実施の形態3による処理内容を示すフローチャートである。実施の形態3では、1度目の検出角度と2度目の検出角度という情報を用いて検定する構成である。まず、入力された画像データの傾き角度を検出する(ステップS701)。ここで傾き角度(angleA)が検出される。つぎに、検出された傾き角度を相殺するマイナスの補正角度(−angleA)で補正する(ステップS702)。
【0045】
つぎに、補正した画像データの傾き角度を検出する(ステップS703)。ここで検出された結果は、傾き角度(angleB)である。つぎに、1度目の検出結果(angleA)と、2度目の検出結果(angleB)を検定する(ステップS704)。
【0046】
そして、正常に角度が検出できていれば、本来、2度目の検出結果(angleB)は水平(0度)に近い値が得られる。その場合、正当性の評価(ステップS705)では、検出結果が「正当性が高い」として終了する。逆に、1度目と2度目の検出結果を足し合わせたものが0度に近いという場合は、1度目で間違った角度補正をおこない、それを元に戻したということが言える。そのため、検出結果は「正当ではない」と判断する。この場合、一時保存していた元の画像データを角度検出後の補正結果として出力することができる。
【0047】
(実施の形態4)
実施の形態3では、上記実施の形態2で説明した正当性の評価(ステップS705)での判断において、2度目の検出結果にしきい値Th1を設けて検定する構成である。図8は、この実施の形態4の処理内容を示すフローチャートである。ステップS701〜S703までは図7と同様の処理を実行する。
【0048】
そして、正当性の評価時(ステップS801)には、ステップS704で得られた2度目の検出角度の絶対値をあらかじめ定めたしきい値Th1と比較する。2度目の検出角度がしきい値Th1以下であれば(ステップS801:Yes)、1度目の検出結果(angleA)に「正当性がある」と判断する(ステップS802)。一方、2度目の検出角度がしきい値Th1を超えていれば(ステップS801:No)、1度目の検出結果(angleA)は「正当ではない」と判断する(ステップS803)。
【0049】
このように、しきい値Th1として十分小さいと考えられる値(たとえば、0〜1度の範囲の値)を設定し、このしきい値Th1以下を用いて正当性を評価することにより、正当性の評価の信頼度を向上できるようになる。
【0050】
(実施の形態5)
実施の形態5では、1度目の傾き角度の検出時(たとえばステップS601,S701)に、しきい値Th2を用い検出の正当性を判断する。図9は、実施の形態5の処理内容を示すフローチャートである。ステップS701〜S703、ステップS801〜S803は、それぞれ図7,図8で説明した内容と同様の処理を実行する。
【0051】
1度目の傾き角度検出(ステップS701)後、この1度目の検出角度の絶対値を、しきい値Th2と比較判断する(ステップS901)。しきい値Th2としては十分小さいと考えられる値(たとえば、0〜1度の範囲の値)を設定する。そして、1度目の検出角度の絶対値が、しきい値Th2以下である場合には(ステップS901:Yes)、この1度目の傾き角度の検出値を信頼して「正当である」と評価する(ステップS902)。そして、傾きの検定(たとえばステップS603,S703)の処理を実行せず終了することができる。
【0052】
一方、1度目の検出角度の絶対値が、しきい値Th2を超える場合には(ステップS901:No)、つぎに、検出された傾き角度を相殺するマイナスの補正角度(−angleA)で補正し(ステップS702)、補正した画像データの傾き角度(angleB)を検出する(ステップS703)。この後、正当性の評価をおこない、ステップS704で得られた2度目の検出角度の絶対値をあらかじめ定めたしきい値Th1と比較する(ステップS801)。
【0053】
2度目の検出角度がしきい値Th1以下であれば(ステップS801:Yes)、1度目の検出結果(angleA)に「正当性がある」と判断する(ステップS802)。一方、2度目の検出角度がしきい値Th1を超えていれば(ステップS801:No)、1度目の検出結果(angleA)は「正当ではない」と判断する(ステップS803)。
【0054】
この構成によれば、1度目の検出後、ステップS901で傾き角度の評価をおこない、「正当である」評価時には、ステップS702以降の処理を省略でき、処理速度の高速化を図ることができる。なお、しきい値Th2の値を、しきい値Th1より小さな値とすることにより、傾きの検定(たとえばステップS603,S704)の処理の不実行時における判定を高精度に維持できる。すなわち、1度目の傾き角度の検出時にしきい値Th2を用いて高精度な検出をおこなえれば、検定をおこなわずとも画像の傾きの検出を高精度なものとして扱えるようになる。
【0055】
(実施の形態6)
実施の形態6では、検定時に1度目の検出角度と2度目の検出角度を使用し、2つの検出角度の和の絶対値をしきい値Th3を用いて評価する。図10は、実施の形態6の処理内容を示すフローチャートである。前述した実施の形態で説明した各処理内容には同一符号を附してある。
【0056】
まず画像データの画像に対する1度目の傾き角度(angleA)を検出し(ステップS701)、つぎに、検出された傾き角度を相殺するマイナスの補正角度(−angleA)で補正し(ステップS702)、補正した画像データの傾き角度(angleB)を検出する(ステップS703)。
【0057】
この後、検定処理をおこなう(ステップS1001)。ここでは、1度目の傾き角度の検出角度と、2度目の検出角度の和(angleA+B)を計算し、その和の絶対値をしきい値Th3と比較する。このしきい値Th3としては、たとえば、0〜1度の範囲の値を用いる。そして、この和の絶対値がしきい値Th3より小さければ(ステップS1001:Yes)、1度目(ステップS701)で検出した角度(angleA)は「正当ではない」と判断する(ステップS1002)。一方、この和の絶対値がしきい値Th3以上であれば(ステップS1001:No)、1度目で検出した角度は「正当である」と判断する(ステップS1003)。
【0058】
たとえば、ステップS1001での判断を具体的数値で説明する。1度目の画像の傾き検出結果(angleA)が3.5度であると、補正により−3.5傾けて、本来であれば傾きが0度になる。そして、補正後の画像に対する再度の傾き検出結果(angleB)で−3.3度の傾きが検出されたとする。この場合、検出角度の絶対値の和は、3.5+(−3.3)=0.2であり、十分に小さい値となる。そして、しきい値Th3が1度であるとすると、ステップS1001の判断はYesとなり「正当ではない」と判断される。
【0059】
これは、本来傾いていない画像を誤検出して傾きの補正をおこなった後、その画像に対する2度目の角度検出が比較的正しい値として得られた状態と考えることができる。このように、1度目の角度検出時に誤検出した場合には、角度の和が0度付近になる。したがって、このような場合、1度目の検出角度は「正当でない」と判断する。このような処理内容により、1度目の傾き角度検出に対する誤検出の有無を判断できるようになる。
【0060】
(実施の形態7)
実施の形態7は、画像の傾き補正をおこなう前に、あらかじめ入力画像の複製を作っておき、検定結果が「正当でない」と判定した場合に、この複製画像を最終結果として出力する構成である。図11は、この実施の形態7の処理内容を示すフローチャートである。
【0061】
まず、入力された画像データに対する画像の1度目の傾き角度(angleA)を検出する(ステップS701)。つぎに、この入力された画像データの複製を作成しておく(ステップS1101)。この後、入力された画像データに対し、検出された傾き角度を相殺するマイナスの補正角度(−angleA)で補正し(ステップS702)、補正した画像データの傾き角度(angleB)を検出する(ステップS703)。
【0062】
この後、検定処理をおこなう(ステップS1102)。この検定処理は、上述した各実施形態で説明したいずれの処理であってもよい(たとえば、ステップS704,S801,S1101)。この検定処理の結果、正当な条件を満たす場合(ステップS1102:Yes)、1度目で検出した角度(angleA)は「正当である」と判断する(ステップS1103)。
【0063】
一方、この検定処理の結果、正当な条件を満たさない場合(ステップS1102:No)、1度目で検出した角度(angleA)は「正当でない」と判断し(ステップS1104)、先にステップS1101で複製していた画像データを補正画像として出力する(ステップS1105)。
【0064】
他の処理例としては、入力された画像データを複製してこの複製された画像を角度補正した結果、正当性が得られない場合に、入力された元の画像データをそのまま出力する構成とすることもできる。いずれの場合においても、角度補正後の画像を再度回転処理して元に戻す処理を実行するものではない。このように、検定の結果、「正当でない」と判断された場合、複製された画像データを出力することで、1度補正した画像を再度逆回転させて元に戻すという処理を不要にできる。
【0065】
(実施の形態8)
実施の形態8は、画像の傾きの検定結果が「正当である」と判定された場合に、入力された画像を1度目の検出角度で補正した画像を出力する構成としたものである。図12は実施の形態8の処理内容を示すフローチャートである。
【0066】
まず、入力された画像データに対する画像の1度目の傾き角度(angleA)を検出する(ステップS701)。そして、入力された画像データに対し、検出された傾き角度を相殺するマイナスの補正角度(−angleA)で補正し(ステップS702)、補正した画像データの傾き角度(angleB)を検出する(ステップS703)。
【0067】
この後、検定処理をおこなう(ステップS1102)。この検定処理の結果、正当な条件を満たす場合(ステップS1102:Yes)、1度目で検出した角度(angleA)は「正当である」と判断し(ステップS1103)、S702において処理済みである1度目の補正した画像データを出力する(ステップS1201)。一方、この検定処理の結果、正当な条件を満たさない場合(ステップS1102:No)、1度目で検出した角度(angleA)は「正当でない」と判断する(ステップS1104)。
【0068】
実施の形態4で説明したように、正常に角度が検出できていれば、本来、2度目の検出結果(angleB)は水平(0度)に近い値が得られ、また、実際には±0.2〜0.4度程度の検出誤差もあるので、2度目の検出角度を反映した画像データを出力しても、大きく結果が変わらない。このように、実施の形態8によれば、検定後の画像出力を簡単に選択して処理の簡素化を図れるようになる。
【0069】
(実施の形態9)
実施の形態9では、検定結果で「正当性がある」と判定された場合に、入力画像に1度目の検出角度で補正した画像をさらに2度目の検出角度で補正した画像を出力する構成である。図13は、この実施の形態9における画像認識処理プログラムにより構成される各機能部を示すブロック図である。
【0070】
上記の実施の形態で説明したと同様に各機能は、画像入力部201と、画像傾き検出部202と、画像傾き検定部203と、画像傾き補正部204,1301によって構成されている。画像傾き検定部203は、画像傾き補正部204での傾き角度の補正に基づき、補正後の画像に対して傾きの検定をおこない、角度の正当性を確かめる。この後、画像傾き補正部1301は、検定結果で正当性があると判定された場合に、1度目の補正画像に対して2度目の検出角度を補正する。
【0071】
図14は実施の形態9の処理内容を示すフローチャートである。まず、入力された画像データに対する画像の1度目の傾き角度(angleA)を検出する(ステップS701)。そして、入力された画像データに対し、検出された傾き角度を相殺するマイナスの補正角度(−angleA)で補正し(ステップS702)、補正した画像データの傾き角度(angleB)を検出する(ステップS703)。
【0072】
この後、検定処理をおこなう(ステップS1102)。この検定処理の結果、正当な条件を満たす場合(ステップS1102:Yes)、1度目で検出した角度(angleA)は「正当である」と判断し(ステップS1103)、画像傾き補正部1301は、ステップS702において処理済みである1度目の補正した画像データを補正角度(−angleB)で補正し(ステップS1401)、この補正した画像データを出力する(ステップS1402)。一方、検定処理の結果、正当な条件を満たさない場合(ステップS1102:No)、1度目で検出した角度(angleA)は「正当でない」と判断する(ステップS1104)。
【0073】
上記処理内容によれば、画像傾き補正部1301での補正処理(ステップS1401)が加わるため、実施の形態8で説明した内容に比して処理ステップが増えた分だけ処理時間およびコストがかかるが、傾きの補正精度を少しでも向上したい場合に有効である。
【0074】
(実施の形態10)
実施の形態10は、補正をおこなう前にあらかじめ入力画像の複製を作っておき、検定結果が「正当である」と判定された場合に、上記画像傾き補正部1301で複製画像に対して1度目の検出角度と2度目の検出角度の和の角度を補正した画像を出力する構成である。
【0075】
図15は、実施の形態10による処理内容を示すフローチャートである。まず、入力された画像データに対する画像の1度目の傾き角度(angleA)を検出する(ステップS701)。つぎに、この入力された画像データの複製を作成しておく(ステップS1101)。そして、入力された画像データに対し、検出された傾き角度を相殺するマイナスの補正角度(−angleA)で補正し(ステップS702)、補正した画像データの傾き角度(angleB)を検出する(ステップS703)。
【0076】
この後、検定処理をおこなう(ステップS1102)。この検定処理の結果、正当な条件を満たす場合(ステップS1102:Yes)、1度目で検出した角度(angleA)は「正当である」と判断する(ステップS1103)。この場合、画像傾き補正部1301による補正処理を実行する(ステップS1501)。一方、検定処理の結果、正当な条件を満たさない場合(ステップS1102:No)、1度目で検出した角度(angleA)は「正当でない」と判断する(ステップS1104)。
【0077】
「正当である」場合の補正処理を具体的に説明すると、まず、ステップS702において処理済みである1度目の補正した画像データを破棄する。この破棄のタイミングは図4を用いて説明した時期に相当する。そして、ステップS1101で作成した複製画像を読み出す。また、1度目(ステップS701)と、2度目(ステップS703)で検出された角度の和(angleA+B)を算出する。そして、読み出した複製の画像データに対し−(angleA+B)の補正処理を一括して実行し、その結果を出力する(ステップS1502)。
【0078】
近年、補正処理では高速化のために処理ステップを少しでも削減するようになっているが、この場合、請求項9で説明したように同一の画像データに対して補正を何度もおこなうと画像のがたつきが生じ、最終的に同じ角度に補正した画像が得られるとしても、画像の品質は落ちることを防止することができるようになる。
【0079】
すなわち、この実施形態では、角度を検定するために作成した補正画像を破棄して以後使用せず、入力された画像データ(複製)に対して、1度目と2度目の検出角度の和による補正処理を実行することにより、補正処理の回数を最小限の1回に留めて、画像品質の低下を防止することができるようになる。
【0080】
上記処理内容の変形例としては、ステップS1102での検定処理(ステップS1103,S1104を含む)を実行せず、ステップS703の実行後にステップS1501を実行する構成とすることもできる。この際、1度目と2度目の検出結果の和を算出し、その和の角度だけ補正をおこなって出力する。これにより、検定処理のステップを不実行とする分だけ、処理ステップ記述の簡素化と処理時間の高速化が図れるようになる。
【0081】
(実施の形態11)
上述した実施の形態1〜10で説明した各処理内容では、いずれも入力される画像データが多値画像である場合と、二値画像である場合とでいずれも同一の処理内容で処理することができる。しかし、入力される画像データが多値画像である場合には、何らかの方法で二値化をおこない、その二値化された画像データを用いて画像の角度を検出することにより、メモリ容量を取らず処理も高速化できるようになる。
【0082】
したがって、実施の形態11では、実施の形態1〜10で説明した各処理において、入力される画像データが多値画像である場合には、これを検出するステップを設け、多値画像を二値化した後に各処理を実行する構成とする。この二値化の手法としては、固定しきい値の一様二値化や、判別分析方法を用いた手法など特に限定されない。
【0083】
以下、前述した実施の形態について二値化の処理を実行する構成を追加した内容を説明する。図16は、実施の形態11の構成を示すものであり、実施の形態1(図2)の構成に二値化の処理部を追加したブロック図である。図示のように各機能は、画像入力部201と、画像傾き検出部202と、画像傾き検定部203と、画像傾き補正部204と、多値/二値判定部1601と、多値の画像データを二値化する二値化処理部1602によって構成されている。
【0084】
また、図17は、実施の形態11における他の構成例を示すものであり、実施の形態2(図5)の構成に二値化の処理部を追加したブロック図である。図示のように、全体構成は図16と同一であり、画像傾き検定部203は、画像傾き補正部204での傾き角度の補正に基づき、補正後の画像に対して傾きの検定をおこない、角度の正当性を確かめる構成の点が相違している。このような構成時においても、多値/二値判定部1601と、多値の画像データを二値化する二値化処理部1602を追加するだけでよい。
【0085】
また、前述した実施の形態で説明した処理内容に二値化の処理内容を追加した場合の処理内容について説明する。図18は、この実施の形態11による処理内容を示すフローチャートである。同図に示す処理は、実施の形態4(図8)に記載した処理内容に対応し二値化の処理ステップを追加したものである。
【0086】
まず、入力された画像データが多値であるか二値であるかを検出する(ステップS1801)。多値であれば(ステップS1801:No)、この多値の画像データを二値化する(ステップS1802)。二値であれば(ステップS1801:Yes)、この二値の画像データを用いる。
【0087】
以降、図8で説明した内容と同様の各処理を実行する。なお、あらかじめの設定により、ステップS702における補正時には、二値化された後の画像データに対する補正に限らず、多値の画像データに対する補正を実行できるよう切り替え可能な構成にできる。この際、ステップS703では、ステップS702で補正した画像データ(二値あるいは多値のいずれか)に対する角度の検出をおこなうようにすればよい。
【0088】
(実施の形態12)
実施の形態12は、先に説明した実施の形態7(図11)の処理内容に、入力された画像データを二値化する処理を追加した構成である。図19は、実施の形態12の処理内容を示すフローチャートである。
【0089】
まず、入力された画像データが多値であるか二値であるかを検出する(ステップS1801)。二値であれば(ステップS1801:Yes)、この二値の画像データを用い、図11記載とほぼ同様の各処理(ステップS701〜S1105)を実行する。一方、多値であれば(ステップS1801:No)、この多値の画像データを二値化し(ステップS1802)、以下の処理(ステップS1901以降)を実行する。
【0090】
ステップS1901以降の処理は、基本的にステップS701以降の処理と同様であるが、画像の傾き検出(ステップS1901)後に、入力画像の複製は作成しない点が相違する。
【0091】
上記処理において、入力された画像データが二値の場合、補正をおこなう前にあらかじめ複製を作っておき(ステップS1101)、検定結果が「正当でない」と判定された場合には(ステップS1104)、入力が二値の場合はステップS1101で複製された画像データを出力し、また、多値の場合は入力された多値の画像データそのものを最終結果として出力する。これにより、入力された画像データが多値あるいは二値いずれの場合でも、角度検出に失敗した場合に入力された画像データそのものを出力できるようになる。
【0092】
(実施の形態13)
実施の形態13は、先に説明した実施の形態8(図12)の処理内容に、入力された画像データを二値化する処理を追加した構成である。図20は、実施の形態13の処理内容を示すフローチャートである。
【0093】
まず、入力された画像データが多値であるか二値であるかを検出する(ステップS1801)。二値であれば(ステップS1801:Yes)、この二値の画像データを用い、図12記載とほぼ同様の各処理(ステップS701以降)を実行する。一方、多値であれば(ステップS1801:No)、この多値の画像データを二値化し(ステップS1802)、以下の処理(ステップS1901以降)を実行する。
【0094】
ステップS1901以降の処理は、基本的にステップS701以降の処理と同様であるが、画像の傾き検出(ステップS1901)後に、入力画像の複製は作成しない点が相違する。
【0095】
上記処理において、入力された画像データが二値の場合、補正をおこなう前にあらかじめ複製を作っておき(ステップS1101)、検定結果が「正当である」と判定された場合には(ステップS1103)、入力が二値の場合はステップS702で角度補正された画像データを出力し、また、多値の場合は入力された多値の画像データを補正(ステップS1902で得られた−angleAで補正)したものを最終結果として出力する(ステップS2001)。これにより、入力された画像データが多値あるいは二値いずれの場合でも、角度検出に成功した場合に入力された画像データそのものに対して補正した画像データを出力できるようになる。
【0096】
なお、本実施の形態で説明した画像認識方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フロッピー(R)ディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、上記記録媒体を介して、インターネット等のネットワークを介して配布することができる。
【0097】
【発明の効果】
以上説明したように、この発明によれば、画像の傾き角度が正しい傾き角度と大きく異なる場合には、補正をおこなわないため信頼性を向上させることができる。たとえば、傾いていない画像に対して傾きを誤検出し大きく傾けた補正をおこなうという失敗を未然に防止できる。特に、検定にかかる処理を実行せず、1度目と2度目の検出結果の和に基づき角度補正を実行するため、処理を簡素化でき、処理時間の高速化と処理プログラム記述の簡素化を図ることができる。
【0098】
また、1度目の検出角度と2度目の検出角度という情報を用いて検定する構成であるため、2度目の検出結果では水平(0度)に近い値が得られるはずであり、逆に、1度目と2度目の検出結果を足し合わせたものが0度に近いという場合は、1度目で間違った角度補正をおこない、それを元に戻した結果であると簡単に両者を判別できるようになる。また、検定結果で傾きの検出結果が正当でない、と判断された場合に、複製された入力の画像データを結果出力するため、補正後の画像データを再度補正する手間を省き処理の効率化と画像品質の維持を図ることができる。また、画像の傾きの補正をおこない検定結果で正当である、と判定された場合に、1度目の補正画像は破棄することができ、複製された画像データに対する角度補正を、1度目と2度目の角度の和に基づき、ただ一度の補正でおこなえるようになる。これにより、補正にかかる回数を削減でき、画像のがたつきを防止して画像品質を維持できるようになる。また、しきい値を用いて検定する構成により、検定精度を向上できるようになる。
【図面の簡単な説明】
【図1】 この発明の本実施の形態にかかる画像認識装置の構成例を示すブロック図である。
【図2】 実施の形態1による画像認識処理プログラムにより構成される各機能部を示すブロック図である。
【図3】 本発明の画像認識処理を含む文字認識(OCR)方法の処理内容全体を示すフローチャートである。
【図4】 図3に記載の全体処理における画像の傾き補正に関する部分の各処理をより詳細に説明したフローチャートである。
【図5】 実施の形態2による画像認識処理プログラムにより構成される各機能部を示すブロック図である。
【図6】 実施の形態2による処理内容を示すフローチャートである。
【図7】 実施の形態3による処理内容を示すフローチャートである。
【図8】 実施の形態4による処理内容を示すフローチャートである。
【図9】 実施の形態5による処理内容を示すフローチャートである。
【図10】 実施の形態6による処理内容を示すフローチャートである。
【図11】 実施の形態7による処理内容を示すフローチャートである。
【図12】 実施の形態8による処理内容を示すフローチャートである。
【図13】 実施の形態9における画像認識処理プログラムにより構成される各機能部を示すブロック図である。
【図14】 実施の形態9による処理内容を示すフローチャートである。
【図15】 実施の形態10による処理内容を示すフローチャートである。
【図16】 実施の形態11の構成を示すブロック図である。
【図17】 実施の形態11の他の構成例を示すブロック図である。
【図18】 実施の形態11による処理内容を示すフローチャートである。
【図19】 実施の形態12による処理内容を示すフローチャートである。
【図20】 実施の形態13による処理内容を示すフローチャートである。
【符号の説明】
100 画像認識装置
101 スキャナ
102 CPU
103 プログラム格納ROM/RAM
104 格納媒体
105 ワークエリアRAM
106 CD−ROM/FDドライブ
107 メモリ
108 ディスプレイ
109 印字装置
201 画像入力部
202 画像傾き検出部
203 画像傾き検定部
204,1301 画像傾き補正部
1601 多値/二値判定部
1602 二値化処理部
Claims (5)
- 入力画像の複製である複製画像を作成する複製作成手段と、
前記入力画像の傾きである第1の傾きを検出する傾き検出手段と、
検出された前記第1の傾きに基づいて前記入力画像を補正する傾き補正手段と、
前記補正手段により補正された前記入力画像の傾きである第2の傾きを検出する傾き検出手段と、
前記第1の傾きと前記第2の傾きとに基づいて該第1の傾きの正当性を判断する判断手段とを備え、
前記判断手段において前記第1の傾きが正当であると判断された場合には、前記第1の傾きと前記第2の傾きの和に基づいて前記複製画像を補正し、補正された該複製画像を出力し、
前記判断手段において前記第1の傾きが正当でないと判断された場合には、前記複製画像を出力することを特徴とする画像処理装置。 - 前記判断手段は、前記第2の傾きの絶対値が予め定められた閾値以下であれば、前記第1の傾きが正当であると判断することを特徴とする請求項1に記載の画像処理装置。
- 入力画像の複製である複製画像を作成し、
前記入力画像の傾きである第1の傾きを検出し、
検出された前記第1の傾きに基づいて前記入力画像を補正し、
補正された前記入力画像の傾きである第2の傾きを検出し、
前記第1の傾きと前記第2の傾きとに基づいて該第1の傾きの正当性を判断し、
前記第1の傾きが正当であると判断された場合には、前記第1の傾きと前記第2の傾きの和に基づいて前記複製画像を補正し、補正された該複製画像を出力し、
前記第1の傾きが正当でないと判断された場合には、前記複製画像を出力することを特徴とする画像処理方法。 - 前記第2の傾きの絶対値が予め定められた閾値以下であれば、前記第1の傾きが正当であると判断することを特徴とする請求項3に記載の画像処理方法。
- 前記請求項3または4に記載された方法をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002024631A JP4064677B2 (ja) | 2002-01-31 | 2002-01-31 | 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002024631A JP4064677B2 (ja) | 2002-01-31 | 2002-01-31 | 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003223643A JP2003223643A (ja) | 2003-08-08 |
| JP4064677B2 true JP4064677B2 (ja) | 2008-03-19 |
Family
ID=27747022
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002024631A Expired - Fee Related JP4064677B2 (ja) | 2002-01-31 | 2002-01-31 | 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4064677B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8807671B2 (en) | 2011-05-03 | 2014-08-19 | Julius Blum Gmbh | Lockable ejection device with overload mechanism |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007336143A (ja) * | 2006-06-14 | 2007-12-27 | Ricoh Co Ltd | 画像処理装置 |
| US9865038B2 (en) * | 2015-11-25 | 2018-01-09 | Konica Minolta Laboratory U.S.A., Inc. | Offsetting rotated tables in images |
-
2002
- 2002-01-31 JP JP2002024631A patent/JP4064677B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8807671B2 (en) | 2011-05-03 | 2014-08-19 | Julius Blum Gmbh | Lockable ejection device with overload mechanism |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003223643A (ja) | 2003-08-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4928310B2 (ja) | ナンバープレート認識装置、その制御方法、コンピュータプログラム | |
| US5748809A (en) | Active area identification on a machine readable form using form landmarks | |
| JP3727971B2 (ja) | 文書処理装置、及び文書処理方法 | |
| US7106904B2 (en) | Form identification method | |
| JPH11219407A (ja) | 文書画像認識装置および文書画像認識プログラムの記憶媒体 | |
| JPH1139428A (ja) | 文書映像の方向修正方法 | |
| JP2000350001A (ja) | 電子透かし情報の埋め込み方法および抽出方法 | |
| Cardoso et al. | A connected path approach for staff detection on a music score | |
| JP2000163595A (ja) | マ―ク検出方法及び装置 | |
| JP2003223643A (ja) | 画像認識装置、画像認識方法、およびその方法をコンピュータに実行させるプログラム | |
| JP3558493B2 (ja) | 用紙位置合わせ装置、用紙位置合わせ方法及び用紙位置合わせプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JP5251489B2 (ja) | 画像処理装置及び画像処理プログラム | |
| JPH07230525A (ja) | 罫線認識方法及び表処理方法 | |
| WO2006035677A1 (ja) | 画像処理方法および画像処理装置 | |
| JP3090070B2 (ja) | 帳票識別方法及び装置 | |
| JP4872895B2 (ja) | 顔中心線検出装置 | |
| JP3187895B2 (ja) | 文字領域抽出方法 | |
| KR100469999B1 (ko) | 영상의 해쉬 값을 이용한 이진 정지 영상 인증용 워터마킹방법 및 장치 | |
| JP4517667B2 (ja) | 文書画像照合装置、文書画像位置合わせ方法及びプログラム | |
| JP3196755B2 (ja) | 文字の傾き検出補正方法ならびに装置 | |
| JP3055484B2 (ja) | 文字認識装置および方法 | |
| JP4580520B2 (ja) | 文字認識方法および文字認識装置 | |
| JP3191870B2 (ja) | 括弧検出方法及び郵便番号検出方法 | |
| JP3932201B2 (ja) | 帳票種識別装置および記録媒体 | |
| JPH05344330A (ja) | 画像領域識別装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040712 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070123 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070326 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070925 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071126 |
|
| 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: 20071225 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071227 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4064677 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120111 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130111 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140111 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |