(57)【要約】【課題】  画像に写真が含まれ、あるいは文字の背景が無地でない場合においても、長い処理時間を必要とせず、画像の傾きを検知することができる画像処理装置、画像処理方法、プログラム、および記録媒体を提供する。【解決手段】  縮小エッジ画像生成部３は、画像を表す画像情報を入力する入力装置６によって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成する。傾き検出部４は、縮小エッジ画像生成部３によって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、ライン走査が行われるライン毎に画素の輝度に基づく評価値を算出し、算出したライン毎の評価値に基づいて統計値を算出し、算出した統計値から画像の傾きを推定する。【選択図】      図１
2010224987.tif 000002
【特許請求の範囲】
【請求項１】
画像を表す画像情報を入力する入力手段によって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成するエッジ画像生成手段と、
前記エッジ画像生成手段によって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、前記ライン走査が行われるライン毎に画素の輝度に基づいてエッジを表す評価値を算出し、算出したライン毎の評価値から各ライン間のエッジの数の差分を表す統計値を算出し、算出した統計値から画像の傾きを推定する傾き検知手段とを含むことを特徴とする画像処理装置。
【請求項２】
前記評価値には、黒画素数が用いられることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記評価値には、白ランレングスの最大値が用いられることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記統計値は、隣接するラインのそれぞれの評価値の差分の分散である分散値が用いられ、統計値が最大となる角度を画像の傾きと推定することを特徴とする請求項１〜３のいずれか１つに記載の画像処理装置。
【請求項５】
前記ライン走査は、画像の水平方向および垂直方向を基準として行われることを特徴とする請求項１〜４のいずれか１つに記載の画像処理装置。
【請求項６】
画像の傾きを検知する画像処理装置で処理される画像の傾きを推定する推定方法であって、
画像を表す画像情報を入力する入力ステップと、
前記入力ステップによって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成するエッジ画像生成ステップと、
前記エッジ画像生成ステップによって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、前記ライン走査が行われるライン毎に画素の輝度に基づいてエッジを表す評価値を算出し、算出したライン毎の評価値から各ライン間のエッジの数の差分を表す統計値を算出し、算出した統計値から画像の傾きを推定する傾き検知ステップとを含むことを特徴とする画像処理方法。
【請求項７】
画像の傾きを検知する画像処理装置で処理される画像の傾きを推定するコンピュータプログラムであって
コンピュータに、
画像を表す画像情報を入力する入力ステップと、
前記入力ステップによって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成するエッジ画像生成ステップと、
前記エッジ画像生成ステップによって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、前記ライン走査が行われるライン毎に画素の輝度に基づいてエッジを表す評価値を算出し、算出したライン毎の評価値から各ライン間のエッジの数の差分を表す統計値を算出し、算出した統計値から画像の傾きを推定する傾き検知ステップとを実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力装置が入力する画像情報が表す画像の傾きを検知する画像処理装置、画像処理方法、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
昨今、カメラ付き携帯電話の普及率が高まり、カメラを使った色々なアプリケーションが提案されている。たとえば、カメラで名刺を撮影し、ＯＣＲ (Optical Character 
Reading)を用いて、カメラで撮影した名刺の画像の文字認識を行い、認識した結果を携帯電話の電話帳に登録するアプリケーションプログラムが搭載された携帯電話が周知である。また、雑誌などに掲載されたお店情報の画像を撮影し、撮影した画像に対してＯＣＲ処理を行って情報を抽出するアプリケーションプログラムが搭載された携帯電話が商品化されている。撮影した雑誌の画像は、文字情報の他に写真を含み、また、文字の背景が無地ではなくカラフルなカラー画像である場合が多い。
【０００３】
カメラ付き携帯電話で画像を撮影する場合には携帯電話を把持した状態で撮影するので、スキャナで画像を読み込む場合に比べて、撮影方向の自由度が高くカメラ位置が安定しない。そのため、カメラ付き携帯電話で撮影する場合には、被写体が傾いた状態で撮影される場合がある。しかしながら、通常のＯＣＲは傾いた画像を正しく認識することができない。画像の傾きを気にせずに撮影し、撮影した画像から文字認識をすることができるようにするためには、予め画像の傾きを検知し、検知した傾きに基づいて画像を回転補正しておく必要がある。
【０００４】
他の従来技術として、たとえば、特許文献１には、文書画像の傾きを検知する手段として、入力された画像を２値画像に変換し、所定の角度毎のラインに沿ったピクセル列の白ランレングスもしくは黒ランレングスを算出し、分散が最大になる角度を画像の傾きとする技術が開示されている。
【０００５】
また、他の従来技術として、たとえば、特許文献２には、所定の角度毎に、段階的に読み出した各ライン列の黒画素の和が最大になるライン列の角度を画像の傾きとする技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２７０１３４６号公報
【特許文献２】特開平６−２００９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１または特許文献２が開示する技術によれば、文字だけの文書画像の傾きは検知することができるが、写真を含んだ画像の傾きを検知することはできない。入力された画像が２値画像に変換されると、文字列の方向に特徴が表れる文字部分とは異なり、写真部分の特徴は、特定の方向に表れない。写真を含んだ画像においては、適切な白ランレングス、黒ランレングス、あるいは黒画素の和を算出することが困難である。
【０００８】
写真を含んでいない場合であっても、文字の背景が無地でない場合には、画像の傾きを検知することは困難である。たとえば、文字の背景に、なだらかなグラデーションが存在する画像が入力された場合には、２値画像の文字列が不鮮明になり、適切な白ランレングスや黒ランレングス、あるいは黒画素の和を算出することが困難である。このように、従来の技術では画像に写真が含まれる場合、あるいは文字の背景が無地でない場合には、傾きを検知することが難しい。
【０００９】
さらに、入力された画像のサイズが大きくなると、白ランレングス、黒ランレングス、あるいは黒画素の和を算出する際に読み出す画素が大きくなるので処理量が大きくなる。
【００１０】
画像から写真を除去する処理を別途行って、写真を除去した画像を２値画像に変換すれば、特許文献１または特許文献２の技術を用いて画像の傾きを検知することもできる。しかし、画像から写真を除去する処理を別途行う必要があるので、システムが複雑になり、処理時間が長くなる。
【００１１】
本発明の目的は、入力装置が入力する画像情報が表す画像に写真が含まれ、あるいは文字の背景が無地でない場合においても、長い処理時間を必要とせず、画像の傾きを検知することができる画像処理装置、画像処理方法、プログラム、および記録媒体を提供することである。
【課題を解決するための手段】
【００１２】
本発明は、画像を表す画像情報を入力する入力手段によって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成するエッジ画像生成手段と、
前記エッジ画像生成手段によって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、前記ライン走査が行われるライン毎に画素の輝度に基づく評価値を算出し、算出したライン毎の評価値に基づいて統計値を算出し、算出した統計値から画像の傾きを推定する傾き検知手段とを含むことを特徴とする画像処理装置である。
【００１３】
また本発明は、前記評価値には、黒画素数が用いられることを特徴とする。
また本発明は、前記評価値には、白ランレングスの最大値が用いられることを特徴とする。
【００１４】
また本発明は、前記統計値は、隣接するラインのそれぞれの評価値の差分の分散である分散値が用いられ、統計値が最大となる角度を画像の傾きと推定することを特徴とする。
【００１５】
また本発明は、前記ライン走査は、画像の水平方向および垂直方向を基準として行われることを特徴とする。
【００１６】
また本発明は、画像の傾きを検知する画像処理装置で処理される画像の傾きを推定する推定方法であって、
画像を表す画像情報を入力する入力ステップと、
前記入力ステップによって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成するエッジ画像生成ステップと、
前記エッジ画像生成ステップによって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、前記ライン走査が行われるライン毎に画素の輝度に基づく評価値を算出し、算出したライン毎の評価値に基づいて統計値を算出し、算出した統計値から画像の傾きを推定する傾き検知ステップとを含むことを特徴とする画像処理方法である。
【００１７】
また本発明は、画像の傾きを検知する画像処理装置で処理される画像の傾きを推定するコンピュータプログラムであって
コンピュータに、
画像を表す画像情報を入力する入力ステップと、
前記入力ステップによって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいた１／Ｎエッジ画像を作成するエッジ画像生成ステップと、
前記エッジ画像生成ステップによって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、前記ライン走査が行われるライン毎に画素の輝度に基づく評価値を算出し、算出したライン毎の評価値に基づいて統計値を算出し、算出した統計値から画像の傾きを推定する傾き検知ステップとを実行させるためのプログラムである。
【００１８】
また本発明は、前記プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１９】
本発明によれば、画像を表す画像情報を入力する入力手段によって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成するエッジ画像生成手段と、エッジ画像生成手段によって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、ライン走査が行われるライン毎に画素の輝度に基づいてエッジを表す評価値を算出し、算出したライン毎の評価値から各ライン間のエッジの数の差分を表す統計値を算出し、算出した統計値から画像の傾きを推定する傾き検知手段とを含むので、エッジが発生しやすい文字列は評価値が高くなり、エッジが発生しにくい写真部分は評価値が低くなる。画像に写真が含まれ、あるいは文字の背景が無地でない場合においても、画像の傾きを検知することができる。さらに、１／Ｎエッジ画像に対してライン走査を行うので画素の読み出し量が１／Ｎ2になり、処理時間を短縮することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態である画像処理装置１のブロック図である。
【図２】画像処理装置１の判定処理を示すフローチャートである。
【図３】縮小エッジ画像生成処理を示すフローチャートである。
【図４】入力装置６が入力する画像情報が示す画像の１例である画像７である。
【図５】画像７を２値画像に変換した画像８である。
【図６】画像７を縮小エッジ画像に変換した画像９である。
【図７】統計値を求める処理を示すフローチャートである。
【図８】画像１０においてライン走査角度Ｄでの水平方向のライン走査を説明する図である。
【図９】画像７を、反時計回りに９度回転させて−９度傾けた画像１１である。
【図１０】入力装置６が入力する画像情報が示画像の他の例である画像１２である。
【図１１】画像１２を２値画像に変換した画像１３である。
【図１２】画像１２を縮小エッジ画像に変換した画像１４である。
【図１３】推定傾斜角度に基づいて傾斜角度を補正した画像１５である。
【発明を実施するための形態】
【００２１】
図１は、本発明の第１実施形態である画像処理装置１のブロック図である。画像処理装置１は、制御部２と、エッジ画像生成手段である縮小エッジ画像生成部３と、傾き検知手段である傾き検出部４と、傾きテーブル５とを備え、入力手段である入力装置６が接続される。入力装置６は、画像を表す画像情報を入力する装置である。本発明に係る画像処理方法は、画像処理装置１によって処理される。
【００２２】
入力装置６は、たとえば携帯電話、デジタルカメラ、コピー機またはイメージスキャナのＣＣＤ（Charge Coupled Device）、あるいはＣＭＯＳ(Complementary Metal Oxide 
Semiconductor)イメージセンサなどである。入力装置６は、ＣＣＤイメージセンサ、ＣＭＯＳイメージセンサなどで読み込まれた画像が蓄積されるシリコンメモリまたは磁気メモリから読み出してくる装置であってもよい。入力装置６は、さらに、有線あるいは無線で接続される他のコンピュータまたは記憶システムにある画像情報を受信する手段であってもよい。入力装置６は、画像処理装置１の外部に設けられ、画像処理装置１とは別個の構成としているが、これに限定されるものではなく画像処理装置１に組み込まれた構成としてもよい。
【００２３】
制御部２は、画像処理装置１の全体を制御する。縮小エッジ画像生成部３は、画像を表す画像情報を入力する入力手段によって入力される画像情報が示す画像を画素数がＮ×Ｎのブロックに分割し、分割した各ブロック内の画素の輝度を平均した平均輝度値を順次算出し、注目ブロックの平均輝度値と注目ブロックの直前に算出されたブロックの平均輝度値との差に基づいた１／Ｎエッジ画像を作成する。
【００２４】
傾き検出部４は、縮小エッジ画像生成部３によって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、ライン走査が行われるライン毎に画素の輝度に基づく評価値を算出し、算出したライン毎の評価値に基づいて統計値を算出し、算出した統計値から画像の傾きを推定する。傾き検出部４は、１／Ｎエッジ画像に対してライン走査を行うので画素の読み出し量が１／Ｎ2になり、長い処理時間を必要としない。傾きテーブル５は、ライン走査を行う際に用いられる。
【００２５】
１／Ｎエッジ画像は、黒画素と白画素とから成る。注目ブロックの平均輝度値と、注目ブロックの直前に算出されたブロックの平均輝度値との差分が閾値以上であれば黒画素がセットされる。評価値は、たとえば、黒画素の総数である黒画素数を用いて算出される。評価値は、最大の白ランレングスを用いて算出することもできる。白ランレングスとは、連続する白画素の数値であり、最大の白ランレングスとは、連続する白画素の数値が最大の白ランレングスである。
【００２６】
図２は、画像処理装置１の判定処理を示すフローチャートである。ステップＳ１１で、入力装置６は、画像情報を画像処理装置１に入力する。入力装置６は、たとえば図５に示す画像８の画像情報を入力する。ステップＳ１２で、縮小エッジ画像生成部３は、ステップＳ１１で入力された画像情報が示す画像から縮小エッジ画像を生成する。この処理については、別途詳細に説明する。ステップＳ１３で、傾き検出部４は、画像の傾きを検出する画像検知を開始するときの画像の傾き角度を、変数である傾き検知開始角度Ｄｉにセットする。たとえば傾き検知開始角度Ｄｉ＝−４５度である。ステップＳ１４で、傾き検出部４は、縮小エッジ画像生成部３がステップＳ１２で生成した縮小エッジ画像に対して、傾き検知開始角度Ｄｉで、水平方向の統計値を算出する。水平方向の統計値を算出することによって、横書きの文字列の傾きを検知することができる。この処理については、別途詳細に説明する。
【００２７】
ステップＳ１５で、傾き検出部４は、縮小エッジ画像生成部３が、ステップＳ１２で生成した縮小エッジ画像に対して、傾き検知開始角度Ｄｉで、垂直方向の統計値を算出する。ステップＳ１５の処理は、画像の水平方向で行われるステップＳ１２の処理を画像の垂直方向で行うものである。垂直方向の統計値を算出することによって、縦書きの文字列の傾きを検知することができる。ステップＳ１６では、傾き検出部４は、傾き検知開始角度Ｄｉに、傾き検知単位角度を加え、傾き検知単位角度を加えた角度を傾き検知角度Ｄとする。傾き検知単位角度は、傾き検知が行われる角度の間隔を表す。
【００２８】
ステップＳ１７で、傾き検出部４は、傾き検知角度Ｄが、予め定められ傾き検知を終了させる角度である傾き検知終了角度Ｄｅ以下であるか否かを判定する。傾き検知角度Ｄが傾き検知終了角度Ｄｅ以下の場合には、ステップＳ１４に戻り、傾き検知角度Ｄが傾き検知終了角度Ｄｅより大きい場合には、ステップＳ１８に進む。ステップＳ１８で、傾き検出部４は、ステップＳ１４およびステップＳ１５で算出された統計値のうちの最大の値を持つ傾き検知角度Ｄを画像の傾斜角度と推定する。
【００２９】
傾き検知開始角度Ｄｉは、たとえば−４５度とされ、画像の傾きを検知する角度は−４５度〜＋４５度の範囲とされる。傾き検知単位角度は１度とされるが、これに限定されるものではなく、たとえば、スキャナなどを用いる場合には画像の傾斜角度が限定されるので、画像の傾きを検知する角度を−２０度〜＋２０度の範囲とし、傾き検知単位角度を２度とすることもできる。
【００３０】
傾き検知終了角度Ｄｅは＋４５度であるので、ステップＳ１７で、傾き検知角度Ｄが＋４５度を超えていればステップＳ１８に進む。傾き検知角度Ｄが＋４５度を超えていなければ、ステップＳ１４に進む。−１０度とは、画像が水平方向から反時計回りに１０度傾いていることを示し、＋１０度とは、画像が水平方向から時計回りに１０度傾いていることを示す。
【００３１】
なお、一般的なＯＣＲ(Optical Character Reading)処理では、内部に９０度単位で画像の東西南北のどちらが上かを判定する天地方向判定処理を行っている。したがって、本実施形態において、画像の傾きを検知する角度範囲を−４５度から＋４５度とすることと、天地方向判定処理とを組み合わせることによって、いかなる方向に画像が傾いていてもＯＣＲ処理が可能になる。
【００３２】
図３は、縮小エッジ画像生成処理を示すフローチャートである。図２に示すステップＳ１１で、入力装置６が画像情報を画像処理装置１に入力したとき、ステップＳ２１に移る。
ステップＳ２１で、縮小エッジ画像生成部３は、入力された画像情報が示す画像から順次ブロックを取り出す処理を行う。本実施例ではＮ＝８として、画素数８x８のブロックが取り出される。なお、Ｎの値はＮ＝８に限定されることはなく他の値でもよい。取り出されるブロックも画素数８x８などの正方形のものに限定されるものではなく、たとえば画素数８×４の長方形のものでもよい。
【００３３】
ステップＳ２２で、縮小エッジ画像生成部３は、ステップＳ２１で取り出したＮ×Ｎのブロックの平均輝度値を求める処理をする。入力された画像情報が示す画像がＲＧＢ(Red 
Green Blue)２４ビットで表される場合には、輝度値ＹはＹ＝０．３×Ｒ＋０．５９×Ｇ＋０．１１×Ｂで計算され、Ｙ＝０〜２５５の値になる。また入力画像がＹＣｂＣｒで表される場合はＹの値が輝度値である。平均輝度値は、対象のブロックに含まれるＮ×Ｎ画素の輝度値の平均値を取ることによって算出することができる。本実施形態において、平均輝度値は、８×８＝６４画素の輝度値の平均値を取ることによって算出される。
【００３４】
ステップＳ２３で、縮小エッジ画像生成部３は、ステップＳ２２で求めた注目ブロックの平均輝度値と、注目ブロックの直前に算出されたブロックの平均輝度値との差分を算出する。また、縮小エッジ画像生成部３は、算出された差分が閾値α以上であるか否かを判定する。
【００３５】
本実施形態においてはα＝２０とするが、これに限定されるものではない。算出された差分がα以上であればステップＳ２４に進む。ステップＳ２４で、縮小エッジ画像生成部３は、注目ブロックと注目ブロックの直前に算出されたブロックとの間にエッジがあったとして黒画素をセットする。算出された差分がα未満であれば、ステップＳ２５に進む。ステップＳ２５で、縮小エッジ画像生成部３は、注目ブロックと注目ブロックの直前に算出されたブロックとの間にエッジがなかったとして白画素をセットする。
【００３６】
縮小エッジ画像生成部３は、ステップＳ２４またはステップＳ２５で、黒画素または白画素をセットした後に、ステップＳ２６に進む。ステップＳ２６で、縮小エッジ画像生成部３は、画像のすべてのブロックを取り出したか否かを判定する。縮小エッジ画像生成部３は、画像にブロックが残っていない場合には処理を終了し、画像にブロックが残っている場合には、ステップＳ２１に戻り画像からブロックを取り出す処理を続ける。
【００３７】
本実施形態において、縮小エッジ画像生成部３は、各ブロックの平均輝度値を求め、注目ブロックの平均輝度値と、注目ブロックの直前に算出されたブロックの平均輝度値との差分を算出し、算出した差分に基づいて１／Ｎエッジ画像を生成するが、これに限定されるものではない。注目ブロック内の画素について、輝度値が所定の値（たとえば５０）以下あるいは所定の値（たとえば２００）以上である画素の数をカウントし、カウントした数の総数を算出する。注目ブロックについて算出した総数と、注目ブロックに隣接するブロックについてカウントした数の総数との差分が、所定の値以上であれば黒画素をセットし所定の値以下であれば白画素をセットして、１／Ｎエッジ画像を生成するものでもよい。
【００３８】
図４は、入力装置６が入力する画像情報が示す画像の１例である画像７である。文字の背景は、なだらかなグラデーションとされ、文字列の上部には写真が存在する。
【００３９】
図５は、画像７を２値画像に変換した画像８である。文字列が不鮮明になり、２値画像から適切な白ランレングスや黒ランレングス、あるいは黒画素の和を算出することができない。
【００４０】
図６は、図４に示す画像の縮小エッジ画像を示す図である。エッジは文字列に多く存在し、文字列と文字列の行間にはエッジが現れない。写真部分において、エッジは文字部分とは異なり特定の方向に現れにくい。
【００４１】
図７は、統計値を求める処理を示すフローチャートである。傾き検出部４は、図２に示すステップＳ１２で生成した縮小エッジ画像に対してライン走査を行う。ステップＳ３１で、傾き検出部４は、ライン走査を行う際の制御カウンタＬを初期化し変数Ｌに「１」をセットする。ステップＳ３２で、傾き検出部４は、角度ＤでラインＬを走査し評価値を算出する。評価値は、黒画素数が用いられる。
【００４２】
ステップＳ３３で、傾き検出部４は、変数Ｌの値に「１」を加算する。ステップＳ３４で、傾き検出部４は、ライン走査が終わったか否か判定する。水平方向のライン走査の場合に、ラインＬが縮小エッジ画像の下端まで達していれば、傾き検出部４は、ラインＬを走査して処理を終了する。ラインＬが縮小エッジ画像の下端まで達していなければ、傾き検出部４は、ステップＳ３２に戻り変数Ｌの値に「１」が加算されたラインを走査して処理を続ける。
【００４３】
ステップＳ３５で、傾き検出部４は、ライン毎に注目ラインの評価値と注目ラインの直前に算出されたラインの評価値との差分を求め、差分の絶対値を要素とした分散値を算出する。文字列においては、写真部分に比べて分散値が大きくなる。傾き検知角度Ｄが０度との分散値の比率が一定以上でない場合には、回転角度は不明としても良い。
【００４４】
ステップＳ３６で、傾き検出部４は、ステップＳ３５で求めた分散値を補正し、補正した分散値を統計値とする。傾き検出部４は、縮小エッジ画像が正方形でない場合には、縮小エッジ画像の水平方向の幅と垂直方向の高さとの違いに基づいて補正される。
【００４５】
水平方向のライン走査については、
統計値＝分散値÷縮小エッジ画像の幅２×１０００００
とされ、垂直方向のライン走査については、
統計値＝分散値÷縮小エッジ画像の高さ２×１０００００
とされる。
【００４６】
エッジが発生しやすい文字列はエッジを表す黒画素の数が多いので評価値が高くなり、エッジが発生しにくい写真部分では、エッジを表す黒画素の数が少ないので評価値は低くなる。画像に写真が含まれ、あるいは文字の背景が無地でない場合においても、画像の傾きを検知することができる。
【００４７】
図８は、画像１０においてライン走査角度Ｄでの水平方向のライン走査を説明する図である。ライン走査は、ラインＬ＝１で開始される。ラインＬ＝ｍは、ｍ番目の走査ラインを示す。ｎ番目の走査ラインであるラインＬ＝ｎでは、ラインＬ＝ｎがライン走査の途中で画像の下端まで達している。傾き検出部４は、引き続き画像の上端からライン走査を再開し画像の右端までライン走査を行う。傾き検出部４は、ラインＬ＝ｎを走査して処理を終了する。
【００４８】
表１は、傾きテーブル５を示す。傾き検出部４がライン走査を行う際には、傾きテーブル５が用いられる。
【００４９】
【表１】
2010224987.tif 000003
【００５０】
傾き検出部４は、傾きテーブル５を用いることによってｔａｎの計算を行う必要がなくなるので、傾き検出処理の高速化を図ることができる。傾きテーブル５は、図８に示す角度Ｄにおける位置ｘでの走査位置ｙを表にしたものである。例えば角度８度において、位置ｘ＝２０での走査位置ｙの位置は３であることがわかる。
【００５１】
表２は、傾き検知角度毎の最大統計値を示す図である。図４に示す画像情報が示す画像は、図２に示すステップＳ１２で、縮小エッジ画像に変換される。傾き検出部４は、ステップＳ１３〜ステップＳ１７の処理によって統計値を出力する。
【００５２】
【表２】
2010224987.tif 000004
【００５３】
表２によれば、傾き検知角度毎の水平方向の最大統計値は「１９２」である。最大統計値「１９２」の傾き検知角度Ｄは９度であり、傾き検知角度Ｄである９度が画像の傾斜角度と推定される。
【００５４】
図９は、画像７を、反時計回りに９度回転させて−９度傾けた画像１１である。図９に示す画像の文字列は水平方向に並び、推定傾斜角度９度が実際の傾斜角度と一致していることがわかる。なお、図７に示すステップＳ３２の処理において、ライン走査の評価値として黒画素を用いたが、最大の白ランレングスをライン走査の評価値として用いても良い。
【００５５】
図１０は、入力装置６が入力する画像情報が示す画像の他の１例である画像１２である。画像は、写真と文字とを含む。図１１は、画像１２を２値画像に変換した画像１３である。図１０に示す画像１２は、縮小エッジ画像を作成するために２値画像に変換される。図１２は、画像１２を縮小エッジ画像に変換した画像１４である。画像の文字部分で、エッジは、文字列に多く存在し、文字列と文字列との行間にはエッジが現れない。写真部分において、エッジは、文字部分のように特定の方向に多く現れるものではない。図１３は、推定傾斜角度に基づいて傾斜角度を補正した画像１５である。図１３に示す画像の文字列は水平方向に並び、推定傾斜角度が実際の傾斜角度と一致していることがわかる。
【００５６】
表３は、黒画素数の分散を評価値として傾きの検知率を評価した結果を示す。雑誌などから、写真を含み傾きのない文書画像４３９枚が取り出される。取り出した文書画像を、予め−４０度〜−１０度の範囲および１０度〜４０度の範囲においては１０度単位で回転させ、−１０度〜１０度の範囲においては５度単位で回転させる。回転させた総数４８２９枚の画像を評価画像として、評価画像の予め定められた傾きが正しく検知されるか否かを評価したものである。
【００５７】
【表３】
2010224987.tif 000005
【００５８】
総数４８２９枚の評価画像のうち、９９．７％の評価画像について傾きが正しく検知されており、高い精度で画像の傾きを検知することができる本実施例の有効性の高さを示している。
【００５９】
表４は、表３で用いられた画像と同じ画像に対して、ライン走査の際の評価値を最大の白ランレングスとして評価したものである。
【００６０】
【表４】
2010224987.tif 000006
【００６１】
総数４８２９枚の評価画像のうち、９７．０％の評価画像について傾きが正しく検知された。この結果から、黒画素数を用いた場合と同様、高い精度で画像の傾きを検知することができ、本実施例の有効性の高さを示すものである。
【００６２】
このように、本発明によれば、画像に写真などが含まれる文書画像であっても、縮小エッジ画像のエッジの偏りの分散値に基づいた統計値を利用することによって、画像の傾きを検知することができる。
【００６３】
画像処理装置１は、たとえばコンピュータによって構成される。画像処理装置１を構成するコンピュータは、入力装置、出力装置、記憶装置および中央処理装置（Central 
Processing Unit：以下「ＣＰＵ」という）を含んで構成される。
【００６４】
入力手段である入力装置は、たとえばキーボードおよびマウスなどによって構成され、情報を入力する。表示手段である出力装置は、たとえば液晶ディスプレイなどの表示装置あるいはプリンタなどの印刷装置によって構成され、情報を出力する。記憶装置は、たとえば半導体メモリおよびハードディスク装置などによって構成され、画像処理装置１を制御するためのプログラムおよび画像処理装置１を制御するために必要なデータを記憶する。
【００６５】
ＣＰＵは、記憶装置に記憶されるプログラムを実行することによって、入力装置および出力装置を制御し、縮小エッジ画像生成部３、傾き検出部４、傾きテーブルなどの機能を実現する。画像処理装置１を構成するコンピュータは、一般的に用いられるものであり、詳細な説明は省略する。
【００６６】
上述した実施の形態では、プログラムは、コンピュータの記憶装置たとえば半導体メモリあるいはハードディスク装置などの記憶装置に記憶されているが、これらの記憶装置に限定されるものではなく、コンピュータで読取り可能な記録媒体に記録されていてもよい。記録媒体は、たとえば図示しない外部記憶装置としてプログラム読取装置を設け、そこに記録媒体を挿入することによって読取り可能な記録媒体であってもよいし、あるいは他の装置の記憶装置であってもよい。
【００６７】
いずれの記録媒体であっても、記憶されているプログラムがコンピュータからアクセスされて実行される構成であればよい。あるいはいずれの記録媒体であっても、プログラムが読み出され、読み出されたプログラムが、記憶装置のプログラム記憶エリアに記憶されて、そのプログラムが実行される構成であってもよい。さらに通信ネットワークを介して他の装置からダウンロードされてプログラム記憶エリアに記憶させてもよい。ダウンロード用のプログラムは、予めコンピュータの記憶装置に記憶しておくか、あるいは別な記録媒体からプログラム記憶エリアにインストールしておく。
【００６８】
本体と分離可能に構成される記録媒体は、たとえば磁気テープ／カセットテープなどのテープ系の記録媒体、フレキシブルディスク／ハードディスクなどの磁気ディスクもしくはＣＤ−ＲＯＭ（Compact Disk Read Only Memory）／ＭＯ（Magneto Optical disk）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disk）などの光ディスクのディスク系の記録媒体、ＩＣ（Integrated Circuit）カード（メモリカードを含む）／光カードなどのカード系の記録媒体、またはマスクＲＯＭ／ＥＰＲＯＭ（Erasable Programmable Read Only Memory）／ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only 
Memory）／フラッシュＲＯＭなどの半導体メモリを含む固定的にプログラムを担持する記録媒体であってもよい。したがって、本発明は、コンピュータに画像修理方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体として提供することができる。
【００６９】
このように、画像を表す画像情報を入力する入力装置６によって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成する縮小エッジ画像生成部３と、縮小エッジ画像生成部３によって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、ライン走査が行われるライン毎に画素の輝度に基づいてエッジを表す評価値を算出し、算出したライン毎の評価値から各ライン間のエッジの数の差分を表す統計値を算出し、算出した統計値から画像の傾きを推定する傾き検出部４とを含むので、エッジが発生しやすい文字列は評価値が高くなり、エッジが発生しにくい写真部分は評価値が低くなる。画像に写真が含まれ、あるいは文字の背景が無地でない場合においても、画像の傾きを検知することができる。さらに、１／Ｎエッジ画像に対してライン走査を行うので画素の読み出し量が１／Ｎ2になり、処理時間を短縮することができる。
【００７０】
さらに、評価値には、黒画素数が用いられるので、高い精度で画像の傾きを検知することができる。
【００７１】
さらに、評価値には、白ランレングスの最大値が用いられるので、高い精度で画像の傾きを検知することができる。
【００７２】
さらに、統計値は、隣接するラインのそれぞれの評価値の差分の分散である分散値が用いられ、統計値が最大となる角度を画像の傾きと推定するので、エッジが発生しやすい文字列は評価値が高くなり、エッジが発生しにくい写真部分は評価値が低くなり、画像に写真が含まれ、あるいは文字の背景が無地でない場合においても、画像の傾きを検知することができる。
【００７３】
さらに、ライン走査は、画像の水平方向および垂直方向を基準として行われるので、水平方向および垂直方向の統計値を算出することによって、横書きおよび縦書きの文字列の傾きを検知することができる。
【００７４】
さらに、画像を表す画像情報を入力する入力ステップＳ１１と、入力ステップＳ１１によって入力される画像情報が示す画像をブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成するエッジ画像生成ステップＳ１２と、エッジ画像生成ステップＳ１２によって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、ライン走査が行われるライン毎に画素の輝度に基づいてエッジを表す評価値を算出し、算出したライン毎の評価値から各ライン間のエッジの数の差分を表す統計値を算出し、算出した統計値から画像の傾きを推定する傾き検知ステップＳ１８とを含むので、エッジが発生しやすい文字列は評価値が高くなり、エッジが発生しにくい写真部分は評価値が低くなるので、画像に写真が含まれ、あるいは文字の背景が無地でない場合においても、画像の傾きを検知することができ、１／Ｎエッジ画像に対してライン走査を行うので画素の読み出し量が１／Ｎ２になり、長い処理時間を必要としない画像処理方法を提供することができる。
【００７５】
さらに、画像を表す画像情報を入力する入力ステップＳ１１と、入力ステップＳ１１によって入力される画像情報が示す画像を画素数がブロックに分割し、分割された各ブロック内の画素の輝度値を算出し、注目ブロックの輝度値と注目ブロックに隣接するブロックの輝度値との差に基づいて１／Ｎエッジ画像を作成するエッジ画像生成ステップＳ１２と、エッジ画像生成ステップＳ１２によって生成される１／Ｎエッジ画像に対して、予め定める角度毎にライン走査を行い、ライン走査が行われるライン毎に画素の輝度に基づいてエッジを表す評価値を算出し、算出したライン毎の評価値から各ライン間のエッジの数の差分を表す統計値を算出し、算出した統計値から画像の傾きを推定する傾き検知ステップＳ１８とを含むので、エッジが発生しやすい文字列は評価値が高くなり、エッジが発生しにくい写真部分は評価値が低くなるので、画像に写真が含まれ、あるいは文字の背景が無地でない場合においても、画像の傾きを検知することができ、１／Ｎエッジ画像に対してライン走査を行うので画素の読み出し量が１／Ｎ２になり、長い処理時間を必要としないプログラムを提供することができる。
【００７６】
さらに、前記プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することができる。
【符号の説明】
【００７７】
１  画像処理装置
２  制御部
３  縮小エッジ画像生成部
４  傾き検出部
５  傾きテーブル
６  入力装置
７，８，９，１０，１１，１２，１３，１４，１５  画像
【図１】
2010224987.tif 000007
【図２】
2010224987.tif 000008
【図３】
2010224987.tif 000009
【図７】
2010224987.tif 000010
【図８】
2010224987.tif 000011
【図４】
2010224987.tif 000012
【図５】
2010224987.tif 000013
【図６】
2010224987.tif 000014
【図９】
2010224987.tif 000015
【図１０】
2010224987.tif 000016
【図１１】
2010224987.tif 000017
【図１２】
2010224987.tif 000018
【図１３】
2010224987.tif 000019