(57)【要約】【課題】ランレングス符号化された画像を用いた画像傾き検知方法において、広範な文書画像を対象としつつ、処理負荷の軽減、及び精度向上を図る。【解決手段】画像処理部４は、画像縮小機能１００により原文書画像を縮小変換する。これにより、文字列が外観上、直線に近い表示オブジェクトに変換される。この縮小文書画像を回転操作機能１６により、例えば−５°〜５°の範囲で小刻みに角度を変えて回転させ、各回転角度の画像に対し、直線度計算機能１８により、当該画像を構成するランの平均値に基づく直線度を計算する。この平均演算は、文字サイズより大きなランを対象として行われる。画像処理部４は傾き角度決定機能２０により、直線度が最大となる回転角度を求め、その角度から原文書画像の傾きを決定する。【選択図】        図６
2005010886.tif 000002
【特許請求の範囲】
【請求項１】
文書画像を表し所定の走査線に沿ってランレングス符号化された画像データに対し、画像を回転させる変換処理を行って、原文書画像を表す原画像データから所定の複数の回転角度それぞれに対応する回転文書画像を表す複数の回転画像データを生成する回転変換ステップと、
前記各回転画像データ毎に、前記回転文書画像中の表示オブジェクトを構成するランに基づいて、前記表示オブジェクトと前記走査線との交差する長さに応じた評価値を定める評価値決定ステップと、
前記回転角度に対する前記評価値の極値を与える前記回転画像データを選択し、当該選択された回転画像データに対する前記回転角度に基づいて、前記原文書画像の傾き角度を検知する傾き検知ステップと、
を有し、前記傾き角度を所定機器での処理に供することを特徴とする文書画像傾き検知方法。
【請求項２】
請求項１に記載の文書画像傾き検知方法において、
前記回転変換ステップは、前記原文書画像又は前記回転文書画像を縮小変換する縮小変換ステップを含み、
前記評価値決定ステップは、前記縮小変換された原文書画像又は回転文書画像に係る前記評価値を定めること、
を特徴とする文書画像傾き検知方法。
【請求項３】
請求項１又は請求項２に記載の文書画像傾き検知方法において、
前記表示オブジェクトを構成するランのうち同一走査線上にて互いの間隔が所定値以下に近接したものを、それらを連結したランに置き換える連結ステップを有し、
前記評価値決定ステップは、当該連結されたランを用いて、前記評価値を定めること、
を特徴とする文書画像傾き検知方法。
【請求項４】
請求項１から請求項３のいずれか１つに記載の文書画像傾き検知方法において、
前記原画像内の所定の部分領域のみを用いて前記回転変換ステップ及び前記評価値決定ステップを行うことを特徴とする文書画像傾き検知方法。
【請求項５】
請求項１から請求項４のいずれか１つに記載の文書画像傾き検知方法において、
前記評価値決定ステップは、
前記表示オブジェクトを構成する前記ランのランレングスの平均値に基づいて前記評価値を定めること、
を特徴とする文書画像傾き検知方法。
【請求項６】
請求項１から請求項４のいずれか１つに記載の文書画像傾き検知方法において、
前記評価値決定ステップは、
前記表示オブジェクトを構成する前記ランのランレングスの最大値に基づいて前記評価値を定めること、
を特徴とする文書画像傾き検知方法。
【請求項７】
請求項１から請求項４のいずれか１つに記載の文書画像傾き検知方法において、
前記評価値決定ステップは、
前記表示オブジェクトを構成する前記ランのランレングスの二乗和に基づいて前記評価値を定めること、
を特徴とする文書画像傾き検知方法。
【請求項８】
請求項１から請求項７のいずれか１つに記載の文書画像傾き検知方法において、
原文書画像からランレングス符号化された前記原画像データを生成するランレングス符号化ステップを有すること、
を特徴とする文書画像傾き検知方法。
【請求項９】
文書画像を表し所定の走査線に沿ってランレングス符号化された画像データに対し、回転角度を順次変えて画像を回転させる変換処理を行い、原文書画像を表す原画像データから回転文書画像を表す回転画像データを生成する回転変換ステップと、
前記回転画像データに関し、前記回転文書画像中の表示オブジェクトを構成するランに基づいて、前記表示オブジェクトと前記走査線との交差する長さに応じた評価値を定める評価値決定ステップと、
傾き補正された画像の候補となる候補画像データを記憶するステップであって、前記回転角度の変更に応じて前記評価値の最大値が更新されると、そのときの回転角度に対応する前記回転画像データで前記候補画像データを更新する画像データ記憶ステップと、
前記回転角度の変更が終了した時点での前記候補画像データを、傾き補正された画像データとする補正画像決定ステップと、
を有することを特徴とする文書画像傾き補正方法。
【請求項１０】
文書画像を表し所定の走査線に沿ってランレングス符号化された画像データに対し、画像を回転させる変換処理を行って、原文書画像を表す原画像データから所定の複数の回転角度それぞれに対応する回転文書画像を表す複数の回転画像データを生成する回転変換手段と、
前記各回転画像データ毎に、前記回転文書画像中の表示オブジェクトを構成するランに基づいて、前記表示オブジェクトと前記走査線との交差する長さに応じた評価値を定める評価値決定手段と、
前記回転角度に対する前記評価値の極値を与える前記回転画像データを選択し、当該選択された回転画像データに対する前記回転角度に基づいて、前記原文書画像の傾き角度を検知する傾き検知手段と、
を有し、前記傾き角度を所定機器の処理に供することを特徴とする文書画像傾き検知装置。
【請求項１１】
文書画像を表し所定の走査線に沿ってランレングス符号化された画像データに対し、回転角度を順次変えて画像を回転させる変換処理を行い、原文書画像を表す原画像データから回転文書画像を表す回転画像データを生成する回転変換手段と、
前記回転画像データに関し、前記回転文書画像中の表示オブジェクトを構成するランに基づいて、前記表示オブジェクトと前記走査線との交差する長さに応じた評価値を定める評価値決定手段と、
傾き補正された画像を表す補正画像データを記憶するための記憶手段と、
前記回転角度の変更に応じて前記評価値の最大値が更新されると、そのときの回転角度に対応する前記回転画像データで前記補正画像データを更新する補正画像データ更新手段と、
を有することを特徴とする文書画像傾き補正装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文書画像の傾きを検知する方法、及びその傾きを補正する方法に関する。
【０００２】
【従来の技術】
ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ：光学式文字認識）や図面読取装置等の画像処理装置では、処理対象画像の蓄積や転送を効率的に行うために、その画像データを圧縮することが行われる。その圧縮方法の一つとしてランレングス法が用いられ、ラインに沿った同じ画素値の連続（ラン）が一つのまとまりとして符号化される。
【０００３】
原稿を読み取って画像データを得る場合、原稿が読取装置に正確な向きで配置されず、小さな角度範囲内での傾きが生じ得る。このような場合に、読み取った画像データに対する処理の１つとしてスキュー補正が行われる。スキュー補正では、読み取られた文書画像の傾き角度が検知され、その角度に応じた回転操作を行って傾きが補正される。この処理を、圧縮された画像データを一旦伸張して行うこととすると、データの伸張処理や画素数に応じた演算量の増大に伴い、処理時間が増加したり、大容量の２次元バッファが必要となり得る。その観点からは、圧縮された画像データを用いて、傾きの検知や補正を行うことが望ましい。
【０００４】
従来のランレングス符号化された画像データを利用した画像傾き検知方法には、下記、特許文献１〜３に示す技術がある。文書内に含まれる文字列や罫線といった表示オブジェクトは、多くの場合、概ね矩形状のブロックを形成し、文書中に水平方向又は垂直方向に沿って配置される。このような文書をわずかに傾けて読み取った画像を、傾き角度０で読み取った画像と比較すると、例えば表示オブジェクトの間隙を貫いて画像の一方端から他方端へ達するラインのような、当該ライン上に表示オブジェクトが存在しないライン（以下、貫通ラインと称する。）が少なくなったり、ブロックと白地背景との境界線のうち本来垂直であるべきものが斜めに画像内を横切ることとなるといった違いがある。その結果、画像端部から始まる余白のランレングスを各ライン毎に求めると、画像内での当該余白ランレングスの大小の差異は、傾いている画像では傾いていない画像ほどにははっきりしなくなる。特許文献１に示される技術では、この差異を統計値（分散又は標準偏差）に基づいて判別する。具体的には、傾いた画像は傾いていない画像より例えば分散が小さくなり得ることを利用して、画像の傾きを求めることが示されている。
【０００５】
特許文献２では、原稿内に配置される所定の図形に対応する像を画像から抽出し、その像の傾きを最小二乗法による直線近似によって求め、これを画像の傾きとする。
【０００６】
特許文献３では、所定の統合条件に基づいて、画像内の黒画素のラン（黒ラン）のうち一体の表示オブジェクトを構成する黒ランの集合を求める。そして、この黒ランの集合に外接する矩形の高さと幅とから当該表示オブジェクトの傾きを検知し、これを画像の傾きとする。
【０００７】
【特許文献１】
特開平２−５６０８１号公報
【特許文献２】
特開平６−５２３０９号公報
【特許文献３】
特開平６−７６１０８号公報
【０００８】
【発明が解決しようとする課題】
特許文献１に示される従来技術は、傾いていない画像において、最大の余白ランレングスである画像幅となる貫通ラインの数が、画像が傾くことによって減少することを利用している。よって、傾いていない画像において貫通ラインが或る程度の割合存在しなければ、画像が傾いた状態と傾いていない状態とを判別することが困難であるという問題点があった。そのような問題を生じる、貫通ラインが非貫通ラインに比べて極端に少ない画像の一例として、罫線で囲われた１つの表でほぼ全面占められている画像が挙げられる。このような画像では、画像が傾いた場合に、貫通ラインの減少に伴う分散値の減少の影響が小さい一方で、表の端部の罫線がラインに垂直な状態から斜めとなることにより、非貫通ラインでの余白ランレングスの分散値が増加し得るため、特許文献１の方法で正しく画像の傾きを検知することが困難となる。
【０００９】
特許文献２に示される従来技術では、原稿内に所定の図形を必要とし、例えば、文字列のみの原稿を読み取った画像には適用が困難であるという問題点があった。
【００１０】
特許文献３に示される従来技術では、画像の傾きが大きくなるにつれ、一体の表示オブジェクトが配置されるラインの数が増加する。すなわち、その一体の表示オブジェクトを求めるためにランを統合する処理が頻繁に発生して、処理速度が低下するという問題があった。また、一体の表示オブジェクトの外接矩形の高さと幅との比に対し例えば逆正接関数を用いて傾き角度を求めるので、基本的に表示オブジェクトは、曲線状のものや縦横に広がった二次元形状のものでは不適切であり、幅の狭い直線状の形状であることが要求される。しかし、そのような適切な表示オブジェクトを、当該特許文献に示されるような簡単な統合条件で得ることは困難であり、一方、直線状のもののみを正しく検知しようとすると統合条件が複雑になるという問題があった。
【００１１】
本発明は以上の問題を解決するために為されたものであり、ランレングス法により符号化された画像データを用いて処理負荷を軽減しつつ、より広範な文書画像に適用でき、精度良く傾きを検知できる文書画像傾き検知方法等を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明に係る文書画像傾き検知方法は、文書画像を表し所定の走査線に沿ってランレングス符号化された画像データに対し、画像を回転させる変換処理を行って、原文書画像を表す原画像データから所定の複数の回転角度それぞれに対応する回転文書画像を表す複数の回転画像データを生成する回転変換ステップと、前記各回転画像データ毎に、前記回転文書画像中の表示オブジェクトを構成するランに基づいて、前記表示オブジェクトと前記走査線との交差する長さに応じた評価値を定める評価値決定ステップと、前記回転角度に対する前記評価値の極値を与える前記回転画像データを選択し、当該選択された回転画像データに対する前記回転角度に基づいて、前記原文書画像の傾き角度を検知する傾き検知ステップと、を有する。
【００１３】
本発明において文書画像は、横書き、縦書きのいずれの文書に基づくものでもよく、文書に含まれる文字列や罫線といった表示オブジェクトは横書きの場合には横方向（水平方向）、縦書きの場合には縦方向（垂直方向）に長く延びる。ランレングス符号化を行う走査線は、縦方向、横方向のいずれでもよいが、ここでは説明の便宜上、走査線を横方向に沿って設定する。回転変換ステップでは、原文書画像を回転させて回転文書画像を得る処理が行われる。この回転変換処理はランレングス符号化された原画像データに対して行われ、ランレングス符号化された回転画像データを生成する。また、回転変換処理は回転角度を変えて行われ、これにより複数の回転画像データが生成される。ここで原文書画像は回転角度０゜に対応する回転文書画像とみなすことも可能である。評価値決定ステップでは、１つの文字列や１本の罫線といった一単位の表示オブジェクトについて、当該表示オブジェクトを構成するランに基づいて、当該表示オブジェクトと交差する走査線の長さに応じた評価値を定める。例えば、表示オブジェクトが白地背景に黒色で表された像である場合には、走査線のうち表示オブジェクトを横切る部分に現れる黒ランに基づいて、表示オブジェクトを横切る部分の走査線の長さに応じた評価値が定められる。例えば、評価値として当該長さと共に増加する値を採用した場合には、表示オブジェクトの延びる方向が水平に近いほど、評価値は大きくなり、逆に垂直に近いほど、評価値は小さくなる傾向が得られる。よって、回転角度を変えて得られる表示オブジェクトについてそれぞれ評価値を求めると、それら複数の回転角度のうち基本的に、表示オブジェクトが水平に最も近くなる回転角度で評価値は極大値を示し、表示オブジェクトが垂直に最も近くなる回転角度で評価値は極小値を示すことが期待される。傾き検知ステップでは、この極大又は極小を与える回転画像データを選択し、そのときの回転角度に基づいて、原文書画像の傾き角度を検知する。例えば、横書きの原文書画像を右回りに５゜回転させた回転画像データにて評価値の極大値が得られた場合、原文書画像の傾きは左回りに５゜傾いていると検知することができる。また、回転角度を離散的に変える場合、評価値が極大となる回転角度に基づきつつ、その他の回転角度及び評価値を用いた補間処理による修正を加えて、原文書画像の傾き角度を決定してもよい。ＯＣＲや図面読取装置などで読み取った原文書画像に対しては、傾き角度が小さいことを仮定し得る場合があり、その場合には、回転角度は原文書画像の位置を基準として比較的小さな角度範囲で変化させればよい。そしてその場合には、その範囲内での極大又は極小のいずれかに基づいて傾き角度が決定される。さらにその場合、原文書画像が横書きのものであることが予めわかっていれば極大を検知して、一方、縦書きのものであることが予めわかっていれば極小を検知して傾き角度を決定することができる。表示オブジェクトが複数の走査線と交差する場合には、そのいずれか１本に注目して、当該走査線との交差の長さに基づいて評価値を定めることもできるし、また例えば各走査線との交差の長さを用いて評価値を定めることもできる。さらに画像中に複数の表示オブジェクトが含まれる場合には、それぞれに基づいて得られた複数の傾き角度を統計的に処理する等の方法によって１つの傾き角度を決定してもよいし、各走査線と各表示オブジェクトとの交差の長さから１つの傾き角度を求めても良い。
【００１４】
別の本発明に係る文書画像傾き検知方法においては、前記回転変換ステップが、前記原文書画像又は前記回転文書画像を縮小変換する縮小変換ステップを含み、前記評価値決定ステップが、前記縮小変換された原文書画像又は回転文書画像に係る前記評価値を定める。
【００１５】
本発明によれば、原文書画像又は回転文書画像を縮小変換することにより、例えば文字列のように黒画素及び白画素の両方を含みうる表示オブジェクトにおけるラン（例えば黒ラン）に関し、同一の走査線上で隣接するランが結合することが期待される。その結果、走査線上での表示オブジェクトを構成するランのランレングスが、当該走査線と表示オブジェクトとの交差の長さを反映しやすくなる。その結果、ランに基づいて定められる評価値と表示オブジェクトの向きとの相関が向上し、傾き角度を精度良く求めることが可能となる。また、原画像データ又は回転画像データのデータ量が少なくなり、処理の高速化が図られる。
【００１６】
さらに別の本発明に係る文書画像傾き検知方法においては、前記表示オブジェクトを構成するランのうち同一走査線上にて互いの間隔が所定値以下に近接したものを、それらを連結したランに置き換える連結ステップを有し、前記評価値決定ステップは、当該連結されたランを用いて、前記評価値を定める。
【００１７】
本発明によれば、表示オブジェクトに含まれ得るノイズによってランが途切れることの影響が回避される。そして、同一の走査線上で近接するランが結合される結果、走査線上での表示オブジェクトを構成するランのランレングスが、当該走査線と表示オブジェクトとの交差の長さを反映しやすくなる。その結果、ランに基づいて定められる評価値と表示オブジェクトの向きとの相関が向上し、傾き角度を精度良く求めることが可能となる。
【００１８】
他の本発明に係る文書画像傾き検知方法は、前記原画像内の所定の部分領域のみを用いて前記回転変換ステップ及び前記評価値決定ステップを行う。
【００１９】
本発明によれば、例えば画像端部などの特定箇所の表示オブジェクトのみを処理対象とすることにより、処理の高速化が図られる。
【００２０】
本発明の好適な態様は、前記評価値決定ステップが、前記表示オブジェクトを構成する前記ランのランレングスの平均値、最大値、又は二乗和に基づいて前記評価値を定める文書画像傾き検知方法である。ここで平均値又は二乗和を求める際に、全てのランを対象としてもよいし、また例えば所定の閾値以上のランレングスを有するランのみを対象としてもよい。このように所定の閾値未満のランレングスを有するランが平均値や二乗和に与える影響を排除することにより、それにより得られる評価値と表示オブジェクトの向きとの相関が向上し、求められる傾き角度の精度向上が期待できる。また、所定の閾値未満のランレングスを有するランを評価値の計算対象から除くことにより、計算速度の向上が期待できる。
【００２１】
本発明の他の好適な態様は、原文書画像からランレングス符号化された前記原画像データを生成するランレングス符号化ステップを有する文書画像傾き検知方法である。本態様では、ランレングス符号化されていない原文書画像のデータをランレングス符号化して、上述の本発明の特徴的な方法が適用される。また、例えば、すでにランレングス符号化されている原文書画像のデータに対し、ランレングス符号化の走査線の方向を変更した新たな原画像データを生成することも本態様は含む。例えば、走査線の方向を９０゜変えることにより、横書きの原文書画像の傾き角度検知に適した構成を、縦書きの原文書画像の傾き角度検知に適用することができる。
【００２２】
本発明に係る文書画像傾き補正方法は、文書画像を表し所定の走査線に沿ったランレングス符号化された画像データに対し、回転角度を順次変えて画像を回転させる変換処理を行い、原文書画像を表す原画像データから回転文書画像を表す回転画像データを生成する回転変換ステップと、前記回転画像データに関し、前記回転文書画像中の表示オブジェクトを構成するランに基づいて、前記表示オブジェクトと前記走査線との交差する長さに応じた評価値を定める評価値決定ステップと、傾き補正された画像の候補となる候補画像データを記憶するステップであって、前記回転角度の変更に応じて前記評価値の最大値が更新されると、そのときの回転角度に対応する前記回転画像データで前記候補画像データを更新する画像データ記憶ステップと、前記回転角度の変更が終了した時点での前記候補画像データを、傾き補正された画像データとする補正画像決定ステップと、を有する。
【００２３】
本発明によれば、例えば、ランレングス符号化に係る走査線を水平方向とした場合に、表示オブジェクトを水平とするように補正が行われ、これにより横書きの原画像文書を正しい向きに補正することができる。
【００２４】
本発明に係る文書画像傾き検知装置は、文書画像を表し所定の走査線に沿ってランレングス符号化された画像データに対し、画像を回転させる変換処理を行って、原文書画像を表す原画像データから所定の複数の回転角度それぞれに対応する回転文書画像を表す複数の回転画像データを生成する回転変換手段と、前記各回転画像データ毎に、前記回転文書画像中の表示オブジェクトを構成するランに基づいて、前記表示オブジェクトと前記走査線との交差する長さに応じた評価値を定める評価値決定手段と、前記回転角度に対する前記評価値の極値を与える前記回転画像データを選択し、当該選択された回転画像データに対する前記回転角度に基づいて、前記原文書画像の傾き角度を検知する傾き検知手段とを有する。
【００２５】
本発明に係る文書画像傾き補正装置は、文書画像を表し所定の走査線に沿ったランレングス符号化された画像データに対し、回転角度を順次変えて画像を回転させる変換処理を行い、原文書画像を表す原画像データから回転文書画像を表す回転画像データを生成する回転変換手段と、前記回転画像データに関し、前記回転文書画像中の表示オブジェクトを構成するランに基づいて、前記表示オブジェクトと前記走査線との交差する長さに応じた評価値を定める評価値決定手段と、傾き補正された画像を表す補正画像データを記憶するための記憶手段と、前記回転角度の変更に応じて前記評価値の最大値が更新されると、そのときの回転角度に対応する前記回転画像データで前記補正画像データを更新する補正画像データ更新手段とを有する。
【００２６】
【発明の実施の形態】
［実施形態１］
本発明の実施の形態について図面を参照しながら説明する。図１は、本発明の実施の形態に係る文書画像傾き検知装置の概略の構成を示すブロック図である。本装置は、図１に示すように、画像入力部２、画像処理部４、出力部６を備えて構成され、画像入力部２から読み込んだ原文書画像（入力画像）に対し、画像処理部４が傾き角度検知処理を行い、検知された傾き角度が出力部６から出力される。
【００２７】
画像入力部２は、例えばスキャナ等で文書画像（原文書画像）を走査線（ライン）に沿って読み取って画像データを生成する。
【００２８】
画像処理部４は、図２に示すように、画像データを所定の閾値で二値化する二値化機能１０、この二値化された画像データをランレングス符号化する符号化機能１２、ランレングス符号化された文書画像データの傾き角度を検知する傾き検知機能１４を有する。さらに傾き検知機能１４は、文書画像データに対し処理を行って文書画像の回転操作を行う回転操作機能１６、後述する直線度という評価値を計算する直線度計算機能１８、その直線度に基づいて原文書画像の傾き角度を検知する傾き角度決定機能２０を有する。画像入力部２で生成された画像データは、画像処理部４において二値化され、さらにランレングス符号化される。そして、画像処理部４は、このランレングス符号化された画像データ（原画像データ）に基づいて原文書画像の傾き角度を検知し、その検知結果が出力部６からユーザに提示され、又は例えば他の画像処理装置へ供給される。
【００２９】
なお、画像処理部４は、既にランレングス符号化された画像データを外部から直接、取り込んで、その傾き角度を検知することもできるし、またランレングス符号化されていない画像データを取り込んで、これをランレングス符号化することもできる。
【００３０】
ちなみに、画像処理部４はコンピュータを用いて構成され、その画像処理はそのコンピュータ上でのプログラムの実行により実現される。
【００３１】
本装置では、走査線に沿って連続する同一色の画素（ラン）が、走査線方向（ｘ方向）における開始画素位置ｓｘと終了画素位置ｅｘとの組（ｓｘ，ｅｘ）、又はｓｘとランの長さ（ランレングス）ｗとの組（ｓｘ，ｗ）で表現される符号化方式が採られる。ちなみに、ｓｘ、ｅｘ及びｗの間の関係式ｗ＝ｅｘ−ｓｘ＋１により、符号（ｓｘ，ｅｘ）と符号（ｓｘ，ｗ）とは簡単に相互変換できるので、これらいずれの符号化方式を採用しても本装置の処理に本質的な相違は生じない。この方式によれば、２値化により白黒の２色で表された画像は、いずれか一方の色のランに関する符号だけで表現することができる。本装置では、専ら白地背景に文書画像を構成する表示オブジェクトが黒色の画素で表されることに対応して、黒ランを符号化した画像データを取り扱う。
【００３２】
図３は、本装置における傾き角度検知の原理を示す模式図である。本装置は、ライン３０が文書画像に表示される画像構成要素（表示オブジェクト）と交差する長さに基づいて文書画像の傾きを検知する。ライン３０が表示オブジェクトの直線部分３２を横切る部分のラン３４の長さ（ランレングスＬ）は、直線部分３２とライン３０との交差角度θに応じて変化する。すなわちランレングスＬは、交差角度θが０°に近づくにつれ大きくなり、一方、交差角度θが９０°に近づくにつれ小さくなる。そこで、このランレングスＬを反映する評価値を定め、以下この評価値を直線度と称する。
【００３３】
画像処理部４は回転操作機能１６によって、原文書画像を回転させた回転文書画像を複数の回転角度Ｘに対してそれぞれ求める。文書画像の回転に伴い公差角度θも変化し、直線度も変化する。画像処理部４は直線度計算機能１８によって、各回転角度Ｘの回転文書画像に対する直線度を計算し、傾き角度決定機能２０によって、それら各回転角度の回転文書画像から得られる直線度を比較して、原文書画像中の直線部分３２が水平（ラインに平行な方向）となる回転角度Ｘを求める。例えば、直線度としてランレングスＬと共に大きくなるものを採用し、その直線度が極大となる回転角度Ｘを求める。これにより、原文書画像中の直線部分３２が水平、すなわちθ＝０°となる回転角度Ｘが求まり、そのＸから原文書画像におけるθ、すなわちθの初期値θ０を知ることができる。文書が一般に横書き、縦書きで表されることに対応して、文書中にて罫線や枠を構成するために用いられる直線も一般に水平方向又は垂直方向である比率が高い。よって、原文書画像中の直線部分３２も本来、水平方向又は垂直方向であるべきものとして、回転角度Ｘからさらに原文書画像の傾き角度Θを推定することができる。例えば、本来水平（θ＝０°）であるべき罫線を含んだ原文書画像を右回りに５゜回転（Ｘ＝５°）させた回転画像データにて直線度が極大となった場合、θ０＝−５°であり、原文書画像は左回りに５゜傾いている（Θ＝−５°）と検知される。一方、原文書画像が本来垂直（θ＝９０°）であるべき罫線を含んだものである場合には、この右回りの５゜回転での直線度の極大から、原文書画像の傾きΘ＝−５°±９０°と判定される。
【００３４】
実際にＯＣＲや図面読取装置などに画像記録媒体をセットして原文書画像を読み取る際には、画像記録媒体はほぼ正しい向きに置かれることを期待することができる。よって読み取った原文書画像の傾き角度は小さいと仮定することでき、回転角度θを変化させる範囲は原文書画像の位置を基準として比較的小さな角度範囲に設定することができる。この場合には、直線度の極大は、原文書画像中の本来垂直であるべき直線部分３２によってではなく、本来水平であるべき直線部分３２によってもたらされるので、例えば、上述のＸ＝５°で極大となる場合で述べれば、傾き検知機能１６はΘ＝−５°±９０°の可能性を排除して、傾き角度Θ＝−５°と特定することができる。
【００３５】
本装置は、このような傾き角度が小さい場合、具体的には傾き角度Θが−５°〜５°の範囲である場合に対応したものであり、以下、図４を用いて本装置の処理フローを説明する。画像処理部４は、符号化機能１２の処理結果として、又は外部から入力データとして、元画像（原文書画像）のランレングスデータ（原画像データ）を取得し、これを回転角度Ｘ＝０°の回転文書画像とする（Ｓ５０）。それと共に、回転角度Ｘが初期値０°に設定される（Ｓ５２）。画像処理部４は直線度計算機能１８によって、現在得られている回転文書画像を表すランレングスデータ（回転画像データ）について直線度を求めて記憶する（Ｓ５４）。
【００３６】
以降、回転角度Ｘが上限値５°に達するまで（Ｓ５６）、Ｘを小刻みに、例えば０．５°ずつ増加させて（Ｓ５８）、回転操作機能１６により当該回転角度Ｘに対応するランレングスデータを生成する（Ｓ６０）。そして、その生成されたランレングスデータについて直線度が求められ、求められた直線度が記憶される（Ｓ５４）。以上のようにして、Ｘ＝５°に対応するランレングスデータについての直線度の計算が終わり、０°から５°まで０．５°ステップでのＸそれぞれに対応する直線度が得られると（Ｓ５６）、Ｘが−０．５°に設定され（Ｓ７０）、今度は−０．５°から−５°まで０．５°ステップでのＸそれぞれに対応する直線度が計算される（Ｓ７０〜Ｓ７８）。
【００３７】
このＸの負の領域の処理Ｓ７０〜Ｓ７８は上述したＸが正（又はゼロ）の領域での処理Ｓ５２〜Ｓ６０と基本的に同様であるが、念のため説明すると以下の通りである。まず設定されたＸ＝−０．５°に対し、回転操作機能１６によりランレングスデータが生成され（Ｓ７２）、これに対して、直線度計算機能１８により直線度を求めて記憶する（Ｓ７４）。以降、回転角度Ｘが下限値（−５°）に達するまで（Ｓ７６）、Ｘを０．５°ずつ減少させて（Ｓ７８）、回転操作機能１６により当該回転角度Ｘに対応するランレングスデータを生成し（Ｓ７２）、そのランレングスデータについて直線度計算機能１８により直線度を求めて記憶する（Ｓ７４）処理が繰り返される。
【００３８】
以上のようにして、本装置の傾き角度検知の対象範囲（−５°〜５°）の範囲内において、０．５°刻みの回転角度全てについて、直線度が得られると、傾き角度決定機能２０は、それら直線度のうちの最大値を探索する（Ｓ８０）。原文書画像の傾き角度が検知対象範囲内にあれば、その角度にて直線度は極大かつ最大となる。よって、処理Ｓ８０により、最大値に対応する回転角度Ｘから傾き角度Θが検知される。一方、検知対象範囲内に極大が存在しない場合には、検知対象範囲の一方端、すなわち−５°又は５°にて直線度は最大値を取りうる。この場合には画像処理部４は、傾き角度Θの絶対値が５°以上であると判定することができる。
【００３９】
画像処理部４は、処理Ｓ８０で決定された傾き角度Θを出力部６へ出力して処理を終了する。
【００４０】
なお、上述の処理では、一定間隔の回転角度Ｘに対する直線度に基づいて最大値が探索された。しかし、これにより得られた最大値の近傍角度で、さらに細かい角度ステップで文書画像を回転させ、その細かいステップで得られた直線度に基づいて改めて最大値を探索するように構成することができる。これにより、傾き角度をより精度良く検知することができる。
【００４１】
さて、直線度は、例えば、回転画像データ内のランについての平均値、最大値、又は二乗和と定義される。ここで平均値、最大値、二乗和は、回転文書画像内に現れる全部のランを演算対象として求めることができる。また、全ランのうち所定値以上のランレングスを有するランのみを用いて平均値、二乗和を求めることもできる。このように所定値以上のランを選択する計算方法は、文書画像内に直線以外の表示オブジェクト、例えば文字や記号が比較的多く含まれる場合に有効である。なぜならば、文字等を構成するランは基本的に文字サイズ以下であり、そのような短いランが多数、平均値、二乗和の計算に際して含まれることとなると、直線による寄与度が低下して、直線部分の方向に応じた直線度の変化が不明確となりうるからである。よって、このような理由からして、演算対象とするランの下限値は、例えば文字サイズに応じて設定することができる。
【００４２】
なお、回転文書画像内に所定の部分領域を設定し、その部分領域内に現れるランを演算対象として求めてもよい。例えば、画像の周辺部分や、Ｎアップ画像の要素画像間の空白部分は通常、余白であり、直線度の計算に有用な情報はこの領域からはほとんど得られないと考えられる。よって、このような部分を外すように部分領域を設定することができる。図５はランを直線度の計算に使用する部分領域の一例を示す模式図である。この例では、１つの文書画像内に複数の文書領域９０が配置され、文字列等の表示オブジェクトはこの文書領域９０内に包含される。この場合には、上下の余白部分及び、文書領域９０間を水平に横切る余白部分を除外した部分領域９２が設定される。
【００４３】
［実施形態２］
本発明の第二の実施形態に係る文書画像傾き検知装置の概略の構成は、図１に示すものと同様である。以下、本実施形態の構成において、上記第一の実施形態と同様の構成要素は同一の符号を用いて説明する。本実施形態における画像処理部４の機能構成は図６に示される。画像処理部４は画像縮小機能１００、ラン連結機能１０２を備えている点が第一の実施形態と相違する。なお、本実施形態の画像処理部４は第一の実施形態と同様、二値化機能１０、符号化機能１２を備えていてもよい。
【００４４】
画像縮小機能１００は、原文書画像を縮小した画像（縮小文書画像）に対応するランレングスデータ（縮小画像データ）を生成する。画像縮小機能１００による処理は、個々の文字内に含まれる白画素や文字間スペースを潰すように作用する。一般に、行間のスペースは文字間スペースに比べて大きいので、行間スペースが潰れず、かつ文字間スペースが潰れやすいように縮小率を設定することができる。よって、画像縮小機能１００により、文字列を直線に類似した表示オブジェクトとすることができる。
【００４５】
ラン連結機能１０２は、原画像データ又は縮小画像データから生成された回転画像データに含まれ、同一のライン上で隣接するランに関し、それらの間隔が所定値以下である場合にはそれらランを互いに連結して１つのランとしたラン連結画像データを生成する。このラン連結機能１０２による処理も、個々の文字内に含まれる白画素や文字間スペースを潰すように作用する。ここで、連結する間隔の閾値を行間スペースの幅より小さく設定すれば、隣接する文字列は結合されず、よってラン連結機能１０２も文字列を直線に類似した表示オブジェクトとする作用を有する。
【００４６】
本装置では、この縮小文書画像又はラン連結画像データを用いて、上記第一の実施形態と同様に、直線度を極大とする回転角度を求め、それに基づいて傾き角度が決定される。ここで、上述のように本装置では文字列が直線に類似した表示オブジェクトとなり得るので、原文書画像が直線を表示オブジェクトに含まない場合であっても、その傾き角度を検知できるようになる。
【００４７】
ちなみに、文字列が直線に類似した表示オブジェクトとなるというのは、主として、縮小、連結が行われた文字列を全体的に捉えた外見上からの表現であり、その細かい構造に着目すれば一般にいたるところに白画素が存在し、そこでランが途切れている。しかしながら、縮小、連結を行わなければ文字列中には上述のように文字サイズを超えるランは生じないのに対し、縮小、連結を行うことにより文字サイズを超えるランが生じ得る。すなわち端的に言えば、ライン３０が文字列を横切る部分に生じるランのランレングスは、ライン３０（図３参照）に直交する文字列では文字サイズを超えることはないのに対し、ライン３０に斜めに交差する文字列では文字サイズを超え得る。また、ライン３０と文字列との交差角度θが小さいほど、ラインが文字列を横切る部分が長くなり、大きなランレングスが生じる可能性がある。このように、生じ得るランレングスが、交差角度θに依存して変わり得ることから、当該ランレングスの平均値、最大値、二乗和などに基づいて定められる直線度を用いて、上記第一の実施形態と同様、原文書画像の傾き角度を検知することが可能となる。
【００４８】
図７は本装置の画像処理部４における処理の概略を示す処理フロー図である。以下、この図７を用いて本装置の処理の内容を説明する。画像処理部４は、元画像（原文書画像）のランレングスデータ（原画像データ）を取得すると（Ｓ１５０）、これに変換処理を施して、原文書画像を所定倍率に縮小した縮小文書画像に対応する縮小画像データを生成する（Ｓ１５２）。回転角度Ｘを初期値０°に設定し、処理Ｓ１５２で生成した縮小文書画像をＸ＝０°の回転文書画像とする（Ｓ１５４）。縮小変換では、隣接するｎ×ｎ個の画素が１画素に変換され、縮尺１／ｎの画像が生成される。簡単な例では、縮小後の１画素の値は縮小前のｎ×ｎ画素のＯＲ演算の結果とすることができる。例えばこれにより、ｎ×ｎ画素に１つでも黒画素があれば、縮小後の画素は黒画素とされる。
【００４９】
さらに画像処理部４はラン連結機能１０２によって、回転文書画像を表す回転画像データにおいて、ランの間隔が所定の閾値以下のラン相互を連結する（Ｓ１５６）。例えば、隣接する２つのラン（ｓｘ１，ｅｘ１）及び（ｓｘ２，ｅｘ２）（ここでｅｘ１＜ｓｘ２とする）について、その間隔ｓｘ２−ｅｘ１−１が閾値より大きければ、それらのランは連結されないが、一方、閾値以下であれば、それらランは連結されて、符号（ｓｘ１，ｅｘ２）で表されるランに置換される。この連結処理を行った上で、直線度計算機能１８により、その回転文書画像のランレングスデータについて直線度が求められ記憶される（Ｓ１５８）。
【００５０】
以降、回転角度Ｘが上限値５°に達するまで（Ｓ１６０）、Ｘを小刻みに、例えば０．１°ずつ増加させて（Ｓ１６２）、回転操作機能１６により当該回転角度Ｘに対応するランレングスデータを生成する（Ｓ１６４）。そして、その生成されたランレングスデータについて、ランの連結処理を行った後（Ｓ１５６）、直線度が求められ、求められた直線度が記憶される（Ｓ１５８）。以上のようにして、Ｘ＝５°に対応するランレングスデータについての直線度の計算が終わり、０°から５°まで０．１°ステップでのＸそれぞれに対応する直線度が得られると（Ｓ１６０）、Ｘが−０．１°に設定され（Ｓ１７０）、今度は−０．１°から−５°まで０．１°ステップでのＸそれぞれに対応する直線度が計算される（Ｓ１７０〜Ｓ１８０）。
【００５１】
このＸの負の領域の処理Ｓ１７２〜Ｓ１８０は上述したＸが正（又はゼロ）の領域での処理Ｓ１５６〜Ｓ１６４と基本的に同様であるが、念のため説明すると以下の通りである。まず設定されたＸ＝−０．１°に対し、回転操作機能１６によりランレングスデータが生成され（Ｓ１７２）、これに対してラン連結機能１０２による処理を行った後（Ｓ１７４）、直線度計算機能１８により直線度を求めて記憶する（Ｓ１７６）。以降、回転角度Ｘが下限値（−５°）に達するまで（Ｓ１７８）、Ｘを０．１°ずつ減少させて（Ｓ１８０）、回転操作機能１６により当該回転角度Ｘに対応するランレングスデータを生成し（Ｓ１７２）、そのランレングスデータについてラン連結機能１０２による処理を行った後（Ｓ１７４）、直線度計算機能１８により直線度を求めて記憶する（Ｓ１７６）という一連の処理が繰り返される。
【００５２】
以上のようにして、本装置の傾き角度検知の対象範囲（−５°〜５°）の範囲内において、０．１°刻みの回転角度全てについて、直線度が得られると、傾き角度決定機能２０は、それら直線度のうちの最大値を探索する（Ｓ１８２）。原文書画像の傾き角度が検知対象範囲内にあれば、その角度にて直線度は極大かつ最大となる。よって、処理Ｓ１８２により、最大値に対応する回転角度Ｘから傾き角度Θが検知される。一方、検知対象範囲内に極大が存在しない場合には、検知対象範囲の一方端、すなわち−５°又は５°にて直線度は最大値を取りうる。この場合には画像処理部４は、傾き角度Θの絶対値が５°以上であると判定することができる。
【００５３】
画像処理部４は、処理Ｓ１８２で決定された傾き角度Θを出力部６へ出力して処理を終了する。
【００５４】
なお、本装置においても、ランの平均値、二乗和に基づいて直線度を求める場合に、所定値以上のランレングスを有するランのみを用いるように構成することができる。例えば、文字列の方向に無関係に生じる文字サイズ（画像縮小機能１００による縮小後の文字サイズ）以下のランを除いて直線度を算出するように構成することができる。
【００５５】
［実施形態３］
以下、本発明の第三の実施形態として、文書画像傾き補正装置を図面を参照しながら説明する。図８は、本装置の概略の構成を示すブロック図である。以下、本実施形態の構成において、上記第一、第二の実施形態と同様の構成要素は同一の符号を用いて説明する。本装置は、画像入力部２、画像処理部２００、画像出力部２０２を備えて構成され、画像入力部２から読み込んだ原文書画像（入力画像）に対し、画像処理部２００が傾き角度補正処理を行い、傾きを補正された文書画像が画像出力部２０２から出力される。画像処理部２００の機能構成は図６に示される。画像処理部２００は画像縮小機能１００、ラン連結機能１０２を備えている点が第一の実施形態と相違する。なお、本実施形態の画像処理部２００は第一の実施形態と同様、二値化機能１０、符号化機能１２を備えていてもよい。
【００５６】
画像処理部２００は、図９に示すように、原文書画像の傾きを補正した傾き補正画像を生成する傾き補正機能２１０、及びラン連結機能１０２を有する。傾き補正機能２１０は、回転画像データを生成する回転操作機能１６、直線度計算機能１８、補正画像更新機能２２０を有する。画像処理部２００は、傾き補正画像の候補を記憶する記憶手段として画像メモリを有し、補正画像更新機能２２０は、当該画像メモリに記憶される候補画像データを、直線度計算機能１８により得られた直線度に応じて、その直線度に対応する回転画像データで更新する。画像処理部２００は、最終的に得られた候補画像を画像メモリから読み出し、これを画像出力部２０２へ出力する。画像出力部２０２は例えば、ディスプレイ上に画像を表示する画像表示装置や、画像記録媒体への印刷を行う印刷装置である。なお、画像処理部２００も画像処理部４と同様、コンピュータを用いて構成される。
【００５７】
本装置では、傾き補正画像として、直線度が極大とするような回転文書画像を探索する。本装置では、上記第二の実施形態と同様にラン連結機能１０２を備え、原文書画像が直線を表示オブジェクトに含まない場合であっても、その傾き角度を検知して、それを補正した画像を得ることができる。
【００５８】
図１０は本装置の画像処理部２００における処理の概略を示す処理フロー図である。以下、この図１０を用いて本装置の処理の内容を説明する。画像処理部２００は、元画像（原文書画像）のランレングスデータ（原画像データ）を取得すると共に（Ｓ２５０）、回転角度Ｘを初期値０°に設定し、また直線度を保持するためのレジスタ（直線度レジスタ）も０にリセットする。ここで、原文書画像はＸ＝０°の回転文書画像として扱われる。画像処理部２００は、回転文書画像を表すランレングスデータ（回転画像データ）から、ラン連結機能１０２により第二の実施形態における処理Ｓ１５６と同様にして、ラン結合処理を施したランレングスデータを生成し（Ｓ２５４）、そのランレングスデータを用いて直線度計算機能１８により直線度を求める（Ｓ２５６）。得られた直線度が直線度レジスタに保持されている値より大きければ（Ｓ２５８）、現在の回転画像データで画像メモリの内容が更新され、またその直線度で直線度レジスタの内容が更新される（Ｓ２６０）。さらにここで、そのときの回転角度Ｘを保持するように構成してもよい。一方、得られた直線度が直線度レジスタに保持されている値以下である場合には、画像メモリ及び直線度レジスタの内容は更新されない。
【００５９】
以降、回転角度Ｘが上限値５°に達するまで（Ｓ２６２）、Ｘを小刻みに、例えば０．１°ずつ増加させて（Ｓ２６４）、回転操作機能１６により当該回転角度Ｘに対応するランレングスデータを生成する（Ｓ２６６）。そして上述した処理Ｓ２５４〜Ｓ２６０が繰り返され、最大の直線度が探索されると共に、それに対応する回転画像データが画像メモリに保持される。
【００６０】
以上のようにして、Ｘ＝５°に対応するランレングスデータについての直線度の計算が終わると、次に、Ｘが−０．１°に設定され（Ｓ２７０）、今度は−０．１°から−５°まで０．１°ステップでのＸそれぞれに対応する直線度が計算され、最大の直線度の探索及び回転画像データの更新処理が継続される（Ｓ２７２〜Ｓ２８４）。
【００６１】
このＸの負の領域の処理Ｓ２７２〜Ｓ２８４は上述したＸが正（又はゼロ）の領域での処理Ｓ２５４〜Ｓ２６６と基本的に同様であるが、念のため説明すると以下の通りである。まず設定されたＸ＝０．１°に対し、回転操作機能１６により回転文書画像のランレングスデータ（回転画像データ）が生成される（Ｓ２７２）。画像処理部２００は、この回転画像データから、ラン連結機能１０２により、ラン結合処理を施したランレングスデータを生成し（Ｓ２７４）、そのランレングスデータを用いて直線度計算機能１８により直線度を求める（Ｓ２７６）。得られた直線度が直線度レジスタに保持されている値より大きければ（Ｓ２７８）、現在の回転画像データで画像メモリの内容が更新され、またその直線度で直線度レジスタの内容が更新される（Ｓ２８０）。以降、回転角度Ｘが下限値（−５°）に達するまで（Ｓ２８２）、Ｘを０．１°ずつ減少させて（Ｓ２８４）、回転操作機能１６により当該回転角度Ｘに対応するランレングスデータを生成し、上記処理Ｓ２７４〜Ｓ２８０が繰り返される。
【００６２】
以上のようにして、本装置の傾き補正角度範囲（−５°〜５°）について処理を終えた段階で画像メモリに格納されている回転画像データは、その角度範囲にて直線度を最大とするものであり、罫線や文字列がラインとなす角度が最も小さくなる画像である。画像処理部２００は、この画像メモリに格納されている回転画像データを、原文書画像の傾きが補正された画像のデータとして画像出力部２０２へ出力して（Ｓ２８６）処理を終了する。
【００６３】
なお、直線度レジスタを更新する際にＸを保持する構成では、そのＸをユーザに表示等により知らせることができる。また、本装置においても、上記第二の実施形態と同様、ランの平均値、二乗和に基づいて直線度を求める場合に、所定値以上のランレングスを有するランのみを用いるように構成することができる。
【図面の簡単な説明】
【図１】本発明の第一の実施の形態に係る文書画像傾き検知装置の概略の構成を示すブロック図である。
【図２】第一の実施形態の文書画像傾き検知装置の画像処理部の機能ブロック図である。
【図３】本装置における傾き角度検知の原理を示す模式図である。
【図４】第一の実施形態の文書画像傾き検知装置の概略の処理フロー図である。
【図５】ランを直線度の計算に使用する部分領域の一例を示す模式図である。
【図６】第二の実施形態の文書画像傾き検知装置の画像処理部の機能ブロック図である。
【図７】第二の実施形態の文書画像傾き検知装置の概略の処理フロー図である。
【図８】本発明の第三の実施の形態に係る文書画像傾き補正装置の概略の構成を示すブロック図である。
【図９】第三の実施形態の文書画像傾き補正装置の画像処理部の機能ブロック図である。
【図１０】第三の実施形態の文書画像傾き補正装置の概略の処理フロー図である。
【符号の説明】
２  画像入力部、４，２００  画像処理部、６  出力部、１０  二値化機能、１２  符号化機能、１４  画像傾き検知機能、１６  回転操作機能、１８  直線度計算機能、２０  傾き角度決定機能、１００  画像縮小機能、１０２  ラン連結機能、２０２  画像出力部、２１０  傾き補正機能、２２０  補正画像更新機能。
【図１】
2005010886.tif 000003
【図２】
2005010886.tif 000004
【図３】
2005010886.tif 000005
【図４】
2005010886.tif 000006
【図５】
2005010886.tif 000007
【図６】
2005010886.tif 000008
【図７】
2005010886.tif 000009
【図８】
2005010886.tif 000010
【図９】
2005010886.tif 000011
【図１０】
2005010886.tif 000012