しかしながら、上述したようなページ外形が途中で切れているような読み取りスキャン画像であっても、その歪みを少ない計算量で有効に補正することができる画像歪み補正装置によれば、ページ外形ではなく、文字行情報および罫線情報を用いて画像の歪みを補正するようにしているが、まだ、完全とはいえず、解決されねばならない課題が存在する。
例えば、従来においては、ブック原稿のページ綴じ部と画像読み取りの主走査方向とが平行な場合には、画像の歪みの補正をスキャナ(画像読取手段)の固有パラメータ(レンズの焦点面距離、スキャン光軸の位置(アドレス))を利用して行っているので、特定のスキャナの出力画像しか補正できないという問題がある。
本発明の目的は、ブック原稿のページ綴じ部と画像読み取りの主走査方向とが平行な場合であっても、スキャナ(画像読取手段)の固有パラメータに依存することなくスキャン画像に対する歪み補正を行うことができる画像歪み補正装置、画像読取装置、画像形成装置及びプログラムを提供することである。
本発明の目的は、スキャン画像の歪み補正の補正精度を向上させることができる画像歪み補正装置、画像読取装置、画像形成装置及びプログラムを提供することである。
本発明の画像歪み補正装置は、画像読み取りの主走査方向に対してページ綴じ部を平行にしてコンタクトガラス上に載置されたブック原稿を画像読取手段により読み取ったスキャン画像の歪みを補正する画像歪み補正装置において、前記スキャン画像の主走査方向における上辺または下辺の近傍に位置するページ外形、罫線または文字行を基準線として選択する基準線選択手段と、この基準線選択手段により選択された前記基準線側の辺とは反対側の辺の近傍に位置するページ外形、罫線または文字行を参照線として選択する参照線選択手段と、前記基準線として罫線または文字行が選択された場合、前記基準線側の辺に前記基準線及び前記参照線とに基づいて仮想ページ外形を算出し、前記基準線として前記ページ外形が選択された場合、前記仮想ページ外形の算出を行わず当該ページ外形を仮想ページ外形とみなす仮想ページ外形算出手段と、前記仮想ページ外形に基づいて前記スキャン画像に対する歪み補正を行う歪み補正手段と、を備え、前記仮想ページ外形算出手段は、副走査方向の所定位置x0、副走査方向の任意位置xにて、(前記所定位置x0における前記基準線と当該基準線側のスキャン画像の辺との距離)/(前記所定位置x0における前記基準線と前記参照線との間隔)と、(前記任意位置xにおける前記仮想ページ外形と前記基準線との距離)/(前記任意位置xにおける前記基準線と前記参照線との距離)と、が等しくなるように前記仮想ページ外形を算出し、前記歪み補正手段は、記仮想ページ外形が前記基準線側のスキャン画像の辺と一致するよう前記スキャン画像の各画素を移動した後、前記所定位置x0のおける前記仮想ページ外形と前記基準線との距離と、前記任意位置xにおける前記仮想ページ外形と前記基準線との距離とから算出した補正率にて前記任意位置xにおける各画素を主走査方向に伸張することにより歪み補正を行う。
したがって、ページ外形、罫線または文字行である基準線と参照線とに基づいた仮想的なページ外形である仮想ページ外形が算出され、算出された前記仮想ページ外形に基づいてスキャン画像に対する歪み補正が行われる。これにより、ブック原稿のページ綴じ部と画像読み取りの主走査方向とが平行な場合であっても、画像読取手段であるスキャナの固有パラメータ(レンズの焦点面距離、スキャン光軸の位置(アドレス))を利用することなくスキャン画像に対する歪み補正を行うことが可能になるので、スキャナの固有パラメータに依存することのない汎用的な装置の提供が可能になる。
また本発明では、基準線としてページ外形が選択された場合には、ページ外形が既に存在していることから仮想ページ外形を算出する必要がないので、処理の高速化を図ることが可能になる。
また例えば、前記仮想ページ外形算出手段は、副走査方向の任意の位置xにて、(前記基準線上の所定位置における前記仮想ページ外形と前記基準線との間隔)/(前記基準線上の所定位置における前記基準線と前記参照線との間隔)と、(前記副走査方向の任意の位置xにおける前記仮想ページ外形と前記基準線との間隔)/(前記副走査方向の任意の位置xにおける前記基準線と前記参照線との間隔)と、が等しくなるように前記仮想ページ外形を算出する。
したがって、簡易な計算により仮想ページ外形の算出が可能になる。
また例えば前記基準線上の所定位置は、前記基準線の直線部分と曲線部分との境界点である。
したがって、スキャン画像に対する歪み補正の際の画像の欠落を最小限に抑えることが可能になる。
また本発明の画像歪み補正装置において、前記基準線上の所定位置は、前記基準線の直線部分に位置する。
したがって、スキャン画像に対する歪み補正の際の画像の欠落を最小限に抑えることが可能になる。
また本発明の画像歪み補正装置において、前記基準線選択手段と前記参照線選択手段と前記仮想ページ外形算出手段と前記歪み補正手段とは、前記スキャン画像の左右ページ毎に独立して実行される。
したがって、一般にページ外形はスキャン画像の左右ページに跨って存在するが、罫線や文字行ついてはスキャン画像の左右両ページに必ずしも存在するとは限らないことから、左右ページ毎に独立して処理されることにより、スキャン画像の歪み補正の補正精度を向上させることが可能になる。
また例えば前記基準線および前記参照線としてそれぞれ選択されるページ外形、罫線または文字行について、前記スキャン画像の主走査方向における上辺または下辺の左右ページでの組み合わせに対する優先順位を設ける。
したがって、文字行はページ外形や罫線に比べて抽出精度が低く、また、画像の外側にあるページ外形を利用する方が精度の高い歪み補正率を得られることから、例えばページ外形、罫線、文字行の選択の優先順位を、ページ外形>罫線>文字行とし、スキャン画像の主走査方向における上辺または下辺の左右ページで組み合わせることにより、スキャン画像の歪み補正の補正精度を向上させることが可能になる。
また例えば、前記優先順位は、1位 スキャン画像の左右両ページともにページ外形2位 スキャン画像の左右両ページともに罫線3位 スキャン画像の一方のページが罫線、他方のページが文字行4位 スキャン画像の左右両ページともに文字行5位 スキャン画像の一方のページのみに罫線、他方のページには手がかりなし6位 スキャン画像の一方のページのみに文字行、他方のページには手がかりなしである。
したがって、ページ外形、罫線、文字行の選択の優先順位を、ページ外形>罫線>文字行とした場合のスキャン画像の主走査方向における上辺または下辺の左右ページでの組み合わせの優先順が確実に得られ、スキャン画像の歪み補正の補正精度を確実に向上させることが可能になる。
また例えば、前記スキャン画像の主走査方向における上辺と下辺とでの前記優先順位を比較し、前記優先順位の高い辺側を前記基準線とする。
したがって、仮想ページ外形の算出精度を向上させることが可能になる。
また本発明の画像歪み補正装置において、前記スキャン画像のいずれか一方のページの前記参照線側の辺の近傍にページ外形、罫線および文字行のいずれも存在しない場合には、前記スキャン画像を副走査方向に貫く画像中心線を前記参照線とみなす。
したがって、スキャン画像のいずれか一方のページの参照線側の辺の近傍にページ外形、罫線および文字行のいずれも存在しない場合であっても、仮想ページ外形を算出することが可能になる。
また本発明の画像歪み補正装置において、前記スキャン画像のいずれか一方のページの前記基準線側の辺の近傍にページ外形、罫線および文字行のいずれも存在しない場合には、同一ページに存在する前記参照線を前記スキャン画像を副走査方向に貫く画像中心線を挟んで線対称の位置に移動させた線を前記基準線とみなす。
したがって、スキャン画像のいずれか一方のページの基準線側の辺の近傍にページ外形、罫線および文字行のいずれも存在しない場合であっても、仮想ページ外形を算出することが可能になる。
本発明の画像読取装置は、原稿画像を読み取る画像読取手段と、この画像読取手段により読み取られたスキャン画像の補正を行う上記何れかに記載の画像歪み補正装置と、を備える。
したがって、本発明の画像歪み装置と同様の作用を奏する画像読取装置が得られる。
本発明の画像形成装置は、原稿画像を読み取る画像読取手段と、この画像読取手段により読み取られたスキャン画像の補正を行う上記何れかに記載の画像歪み補正装置と、この画像歪み補正装置から出力される画像データに基づいた画像を用紙上に印刷する画像印刷装置と、を備える。
したがって、本発明の画像歪み装置と同様の作用を奏する画像形成装置が得られる。
本発明のプログラムは、コンピュータを、上記何れかに記載の画像歪み補正装置として動作させる。
本発明の記録媒体は、コンピュータによる読み取りが可能であり、上記記載のプログラムが記録されている。
また例えばプログラムは、画像読み取りの主走査方向に対してページ綴じ部を平行にしてコンタクトガラス上に載置されたブック原稿を画像読取手段により読み取ったスキャン画像の画像歪み補正をコンピュータに実行させるプログラムであって、前記コンピュータに、前記スキャン画像の主走査方向における上辺または下辺の近傍に位置するページ外形、罫線または文字行を基準線として選択させる基準線選択機能と、この基準線選択機能により選択された前記基準線側の辺とは反対側の辺の近傍に位置するページ外形、罫線または文字行を参照線として選択させる参照線選択機能と、前記基準線側の辺に、前記基準線と前記参照線とに基づいた仮想的なページ外形である仮想ページ外形を算出する仮想ページ外形算出機能と、この仮想ページ外形算出機能により算出された前記仮想ページ外形に基づいて前記スキャン画像に対する歪み補正を行う歪み補正機能と、を実行させる。
したがって、ページ外形、罫線または文字行である基準線と参照線とに基づいた仮想的なページ外形である仮想ページ外形が算出され、算出された前記仮想ページ外形に基づいてスキャン画像に対する歪み補正が行われる。これにより、ブック原稿のページ綴じ部と画像読み取りの主走査方向とが平行な場合であっても、画像読取手段であるスキャナの固有パラメータ(レンズの焦点面距離、スキャン光軸の位置(アドレス))を利用することなくスキャン画像に対する歪み補正を行うことが可能になるので、スキャナの固有パラメータに依存することのない汎用的なプログラムの提供が可能になる。
また例えば、プログラムにおいて、前記仮想ページ外形算出機能は、副走査方向の任意の位置xにて、(前記基準線上の所定位置における前記仮想ページ外形と前記基準線との間隔)/(前記基準線上の所定位置における前記基準線と前記参照線との間隔)と、(前記副走査方向の任意の位置xにおける前記仮想ページ外形と前記基準線との間隔)/(前記副走査方向の任意の位置xにおける前記基準線と前記参照線との間隔)と、が等しくなるように前記仮想ページ外形を算出する。
したがって、簡易な計算により仮想ページ外形の算出が可能になる。
また例えば、プログラムにおいて、前記基準線上の所定位置は、前記基準線の直線部分と曲線部分との境界点である。
したがって、スキャン画像に対する歪み補正の際の画像の欠落を最小限に抑えることが可能になる。
また例えばプログラムにおいて、前記基準線上の所定位置は、前記基準線の直線部分に位置する。
したがって、スキャン画像に対する歪み補正の際の画像の欠落を最小限に抑えることが可能になる。
また例えばプログラムにおいて、前記基準線選択機能と前記参照線選択機能と前記仮想ページ外形算出機能と前記歪み補正機能とは、前記スキャン画像の左右ページ毎に独立して実行される。
したがって、一般にページ外形はスキャン画像の左右ページに跨って存在するが、罫線や文字行ついてはスキャン画像の左右両ページに必ずしも存在するとは限らないことから、左右ページ毎に独立して処理されることにより、スキャン画像の歪み補正の補正精度を向上させることが可能になる。
また例えばプログラムにおいて、前記基準線および前記参照線としてそれぞれ選択されるページ外形、罫線または文字行について、前記スキャン画像の主走査方向における上辺または下辺の左右ページでの組み合わせに対する優先順位を設ける。
したがって、文字行はページ外形や罫線に比べて抽出精度が低く、また、画像の外側にあるページ外形を利用する方が精度の高い歪み補正率を得られることから、例えばページ外形、罫線、文字行の選択の優先順位を、ページ外形>罫線>文字行とし、スキャン画像の主走査方向における上辺または下辺の左右ページで組み合わせることにより、スキャン画像の歪み補正の補正精度を向上させることが可能になる。
また例えばプログラムにおいて、前記優先順位は、1位 スキャン画像の左右両ページともにページ外形2位 スキャン画像の左右両ページともに罫線3位 スキャン画像の一方のページが罫線、他方のページが文字行4位 スキャン画像の左右両ページともに文字行5位 スキャン画像の一方のページのみに罫線、他方のページには手がかりなし6位 スキャン画像の一方のページのみに文字行、他方のページには手がかりなしである。
したがって、ページ外形、罫線、文字行の選択の優先順位を、ページ外形>罫線>文字行とした場合のスキャン画像の主走査方向における上辺または下辺の左右ページでの組み合わせの優先順が確実に得られ、スキャン画像の歪み補正の補正精度を確実に向上させることが可能になる。
また例えばプログラムにおいて、前記スキャン画像の主走査方向における上辺と下辺とでの前記優先順位を比較し、前記優先順位の高い辺側を前記基準線とする。
したがって、仮想ページ外形の算出精度を向上させることが可能になる。
また例えばプログラムにおいて、前記スキャン画像のいずれか一方のページの前記参照線側の辺の近傍にページ外形、罫線および文字行のいずれも存在しない場合には、前記スキャン画像を副走査方向に貫く画像中心線を前記参照線とみなす。
したがって、スキャン画像のいずれか一方のページの参照線側の辺の近傍にページ外形、罫線および文字行のいずれも存在しない場合であっても、仮想ページ外形を算出することが可能になる。
また例えばプログラムにおいて、前記スキャン画像のいずれか一方のページの前記基準線側の辺の近傍にページ外形、罫線および文字行のいずれも存在しない場合には、同一ページに存在する前記参照線を前記スキャン画像を副走査方向に貫く画像中心線を挟んで線対称の位置に移動させた線を前記基準線とみなす。
したがって、スキャン画像のいずれか一方のページの基準線側の辺の近傍にページ外形、罫線および文字行のいずれも存在しない場合であっても、仮想ページ外形を算出することが可能になる。
本発明によれば、ページ外形、罫線または文字行である基準線と参照線とに基づいた仮想的なページ外形である仮想ページ外形を算出し、算出された仮想ページ外形に基づいてスキャン画像に対する歪み補正を行うことにより、ブック原稿のページ綴じ部と画像読み取りの主走査方向とが平行な場合であっても、画像読取手段であるスキャナの固有パラメータ(レンズの焦点面距離、スキャン光軸の位置(アドレス))を利用することなくスキャン画像に対する歪み補正を行うことができるので、スキャナの固有パラメータに依存することのない汎用的な装置を提供することができる。
本発明の実施の一形態を図1ないし図47に基づいて説明する。本実施の形態の画像歪み補正装置は画像形成装置であるデジタル複写機に備えられており、画像読取装置としてはデジタル複写機のスキャナ部が適用されている。
ここで、図1はスキャナ部1の構成を示す縦断正面図である。図1に示すように、スキャナ部1は、原稿を載置するコンタクトガラス2と、原稿の露光用の露光ランプ3および第一反射ミラー4からなる第一走行体5と、第二反射ミラー6および第三反射ミラー7からなる第二走行体8と、原稿の画像を読み取る撮像素子としてのCCD(Charge Coupled Device)9と、このCCD9に結像させるためのレンズユニット10と、原稿を載置する基準になるとともにコンタクトガラス2のズレや外れを防止する原稿スケール11と、この原稿スケール11の下側に設置されたシェーディング補正用の白基準板12と、フレーム14とを備えている。CCD9はセンサボード13上に形成されている。
原稿の走査時には、第一走行体5および第二走行体8はステッピングモータ24(図3参照)によって副走査方向に移動する。すなわち、第一走行体5および第二走行体8がコンタクトガラス2の下を走行して、露光ランプ3で原稿を露光走査し、その反射光を第一反射ミラー4、第二反射ミラー6および第三反射ミラー7で反射して、レンズユニット10を通してCCD9に結像させる。ここに、画像読取手段が実現されている。
このようなスキャナ部1は、このスキャナ部1で読み取られた原稿の画像に基づく画像データに応じ、例えば電子写真方式で用紙上に画像の形成を行う画像印刷装置であるプリンタ部(図示せず)を備えるデジタル複写機16に搭載されている。図2は、スキャナ部1を搭載したデジタル複写機16の上部部分を示す斜視図である。図2に示すように、スキャナ部1には、コンタクトガラス2に対して開閉自在な圧板17と、この圧板17の開閉を検出する開閉センサ18とが設けられている。なお、デジタル複写機16に備えられるプリンタとしては、電子写真方式のほか、インクジェット方式、昇華型熱転写方式、銀塩写真方式、直接感熱記録方式、溶融型熱転写方式など、種々の印刷方式を適用することができる。その具体的な構成については周知であるため、詳細な説明は省略する。
図3は、スキャナ部1の制御系の電気的な接続を示すブロック図である。図3に示すように、この制御系は、スキャナ部1の全体を制御するメイン制御部19に、CCD9で読み取った画像データに各種の画像処理を施す回路である画像処理部20と、第一走行体5および第二走行体8を制御する回路である走行体制御部21と、デジタル複写機16への各種操作を受け付け、また、各種メッセージを表示する操作パネル22と、CCD9で読み取った画像データや所定のデータ等を記憶するメモリ23とが接続されている。なお、操作パネル22には、コピー開始を宣言するためのコピースタートキー等が設けられている。また、走行体制御部21には、露光ランプ3と、第一走行体5および第二走行体8を駆動するステッピングモータ24と、第一走行体5および第二走行体8がホームポジションにあるか否かを検出するスキャナホームポジションセンサ(HPセンサ)25と、開閉センサ18とが接続されている。
ここで、図4は画像処理部20の基本的な内部構成を示すブロック図である。図4に示すように、画像処理部20は、原稿をCCD9により読み取ったアナログ画像信号の増幅処理やデジタル変換処理等を行うアナログビデオ処理部26、シェーディング補正処理を行うシェーディング補正処理部27、シェーディング補正処理後のデジタル画像信号に、MTF補正、変倍処理、γ補正等の各種画像データ処理を行いスキャン画像を生成する画像データ処理部28、本実施の形態の特長的な機能であるスキャン画像の歪み補正機能を実現する画像歪み補正部29から構成されている。以上のような画像処理後のデジタル画像信号は、メイン制御部19を介してプリンタ部に送信されて、画像形成に供される。
メイン制御部19は、図5に示すように、各部を集中的に制御するCPU(Central Processing Unit)31を備えており、このCPU31には、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)32と、各種データを書換え可能に記憶してCPU31の作業エリアとして機能するRAM(Random Access Memory)33とがバス34で接続されており、マイクロコンピュータを構成している。さらにバス34には、制御プログラムが記憶されたHDD35と、CD(Compact Disc)−ROM37を読み取るCD−ROMドライブ36と、プリンタ部等との通信を司るインタフェース(I/F)38とが接続されている。
図5に示すCD−ROM37は、この発明の記憶媒体を実施するものであり、所定の制御プログラムが記憶されている。CPU31は、CD−ROM37に記憶されている制御プログラムをCD−ROMドライブ36で読み取り、HDD35にインストールする。これにより、メイン制御部19は、後述するような各種の処理を行うことが可能な状態となる。
なお、記憶媒体としては、CD−ROM37のみならず、DVDなどの各種の光ディスク、各種光磁気ディスク、フロッピー(登録商標)ディスクなどの各種磁気ディスク、半導体メモリ等、各種方式のメディアを用いることができる。また、インターネットなどのネットワークからプログラムをダウンロードし、HDD35にインストールするようにしてもよい。この場合に、送信側のサーバでプログラムを記憶している記憶装置も、この発明の記憶媒体である。なお、プログラムは、所定のOS(Operating System)上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、ワープロソフトなど所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
次に、メイン制御部19に設けられたCPU31が制御プログラムに基づいて実行する各種処理の内容について説明する。ここでは、CPU31が実行する処理のうち、本実施の形態のスキャナ部1が備える特長的な機能であるスキャン画像の歪み補正機能を実現する画像歪み補正装置である画像歪み補正部29におけるスキャン画像の歪み補正処理についてのみ説明する。
図6は、スキャン画像の歪み補正処理の流れを概略的に示すフローチャートである。なお、ここでは、図7に示すように、ブック原稿40がそのページ綴じ部41とスキャナ部1の画像読み取りの主走査方向とが平行になるように位置させてコンタクトガラス2に載置されている場合について説明する。
まず、ステップS1において、画像データ処理部28から出力されたコンタクトガラス2に載置されているブック原稿40のスキャン画像を入力する。ここで、図8は入力した画像の一例を示したものである。そして、図9に示すように、入力されたブック原稿40のスキャン画像には、ページ綴じ部41の近傍において歪みが生じている。
次いで、ブック原稿40のスキャン画像(例えば、モノクロ多値画像)の最適2値化処理を実行し(ステップS2)、副走査方向の黒画素(スキャン画像の画素の中でその濃度値が予め定めた濃度値よりも濃い画素)数のヒストグラムを求める(ステップS3)。図10は、図8に示した画像の綴じ部境界線左側の黒画素ヒストグラムである。図10中の横軸は、主走査方向の黒画素(スキャン画像の画素の中でその濃度値が予め定めた濃度値よりも濃い画素)の位置を示し、図10中の縦軸は、その位置毎の黒画素数を示すものである。なお、綴じ部境界線としては、スキャン画像中の画素の中でその濃度値が元も濃い画素が位置する副走査方向の位置が選択される。
なお、スキャン画像がカラー多値画像の場合における2値化処理は、例えばRGB成分の何れか一つの成分に着目し(例えばG成分)、G成分の所定の濃度閾値よりも大きいものを黒画素とし、G成分の所定の濃度閾値よりも小さいものを白画素とすれば良い。また、RGBを色変換して輝度成分と色差成分とに分け、輝度成分で閾値処理を行うようにしても良い。
続くステップS4においては、ページ外形/罫線/文字行の抽出処理を実行する。ここで、図11は、ページ外形/罫線/文字行の抽出処理の流れを概略的に示すフローチャートである。
[スキャン画像からのページ外形の抽出]
まず、ステップS41におけるスキャン画像からのページ外形の抽出処理について説明する。ここで、図12は上端にページ外形が存在するスキャン画像の一例を示す説明図、図13は図12に示したスキャン画像の綴じ部境界線左側の黒画素ヒストグラムである。図13に示すヒストグラムのx軸はスキャン画像の主走査方向(図12の上下方向)を示すものであり、スキャン画像の上端はヒストグラムの左端に対応付けられている。なお、ページ外形が下端に存在するスキャン画像の場合には、スキャン画像の下端がヒストグラムの右端に対応付けられることになる。したがって、図12に示すようにスキャン画像の上端にページ外形が存在する場合、スキャン画像の上部に黒い帯が現れることから、図13に示すヒストグラムの左端には高い縦棒が現れることになる。本実施の形態では、このような特性を利用して、スキャン画像にページ外形が存在するか否かの判断を行う。
より具体的には、図13に示すように、綴じ部境界線からスキャン画像の左端(図12の左端)までの距離AO、ヒストグラム縦棒の高さBOとし、その比率を下記に示す式(1)により算出し、
算出された比率kが、予め定められた閾値よりも大きい場合に、スキャン画像にページ外形が存在すると判断する。
なお、スキャン画像の上下にページ外形が存在する場合には、ヒストグラムの左右両端に高い縦棒が現れることになるので、このような場合には、ヒストグラムの左右両端の高い縦棒に基づいてスキャン画像にページ外形が存在するか否かの判断がそれぞれ実行される。
以上の処理により、スキャン画像にページ外形が存在すると判断された場合には、左右ページの上下辺のいずれにページ外形が存在しているのかという情報とともにページ外形を抽出し、RAM33に一時的に記憶する。
なお、このスキャン画像にページ外形が存在するか否かの判断処理は、スキャン画像の綴じ部境界線を境にした左右ページ毎に実行される。
[スキャン画像からの罫線の抽出]
続くステップS42においては、スキャン画像からの罫線の抽出処理を実行する。ステップS42におけるスキャン画像からの罫線の抽出処理について説明する。
[罫線候補の検出]
ここで、図14は長い罫線が存在するスキャン画像の一例を示す説明図、図15は図14に示したスキャン画像の綴じ部境界線左側の黒画素ヒストグラムである。図15に示すヒストグラムのx軸はスキャン画像の主走査方向(図14の上下方向)を示すものであり、スキャン画像の上端はヒストグラムの左端に対応付けられている。図14に示すようにスキャン画像に罫線が存在する場合には、図15に示すヒストグラムに幅の狭いピークが現れることになる。本実施の形態では、このような特性を利用して、スキャン画像に罫線が存在するか否かの判断を行う。
より具体的には、まず、図15に示すヒストグラムに現れた幅の狭いピークの高さHを求めるとともに、求められた各ピークの中央位置(高さが半分の位置)における幅Wを求める。そして、ピークの高さHが予め定められた閾値thHよりも高く、かつ、ピークの中央位置の幅Wが予め定められた閾値thWより小さなピークが存在する場合、そのピークを罫線の候補とする。
続いて、罫線の候補とされたピークについて、罫線の連続性を利用して、更に罫線か否かの判断をする。図16に示すように、候補罫線上の適当な位置(例えば、ページの中心線の位置)を開始点とし、この開始点から候補罫線を左右方向へ探索し、切断点(罫線がかすれて途切れている部分)の数を累積する。切断点の数が予め定められた閾値より少なければ、この候補を罫線と判断する。このように罫線連続性に基づいて罫線か否かの判断をすることにより、罫線として誤って検出された小さな文字で構成された横書き文字行や点線等を排除することが可能になる。
[罫線の座標検出]
以上のようにして罫線を判別した後、各罫線の座標を検出する。罫線座標の検出は、図17に示すように、罫線の主走査方向(図17のy軸方向)の座標値を罫線部の黒画素ランの中点座標とした場合、図17に示す罫線の左端のx1における主走査方向座標値はy1となる。
[最適罫線の選択]
次に、候補罫線の中から歪み補正に最適な罫線を選択する。図18に示すように複数の罫線が検出される場合、どの罫線を用いて歪み補正するかを選択する必要がある。最適な罫線の選択基準の一例としては、罫線の長さが予め定められた閾値より長く、かつ、綴じ部境界線を挟んだ左右の一定幅領域内(図18の網掛け領域)に罫線の一部がかかっていることを条件とし、その中で上下いずれかのページ外形に最も近い罫線を選択するようにする。図18においては、左右ページから各1本ずつの罫線を選択する場合を示している。ここでは、罫線■と罫線■とが選択されている。
また、最適な罫線の選択基準の別の例としては、罫線の長さが予め定められた閾値より長く、かつ、綴じ部境界線を挟んだ左右の一定幅領域内(図19の網掛け領域)に罫線の一部がかかっていることを条件とし、各ページの上部では上端のページ外形に、各ページの下部では下端のページ外形に、それぞれ最も近い罫線を選択するようにする。図19においては、左右ページをさらに上下部分に分け、その各4ブロックにおいて1本ずつの罫線を選択する場合を示している。ここでは、左上のブロックでは罫線■、右下のブロックでは罫線■、左下のブロックでは罫線■が選択されている。なお、図19中の右上のブロックには上記2条件(罫線の長さが予め定められた閾値より長く、かつ、綴じ部境界線を挟んだ左右の一定幅領域内に罫線の一部がかかっている)を満足する罫線が存在しないので、選択された罫線はない。
なお、上記2条件(罫線の長さが予め定められた閾値より長く、かつ、綴じ部境界線を挟んだ左右の一定幅領域内に罫線の一部がかかっている)については、その両方ではなくいずれか一方のみを満足するものであっても良い。また、選択基準として上例では「ページ外形に最も近い」を用いているが、これに限るものではなく、「罫線の湾曲が最も大きい」を用いても良い。ここで、「罫線の湾曲」は罫線の左右両端点の主走査方向の座標値の差で表すものとする。
[最適罫線の座標値の決定]
最適な罫線が選択された場合には、罫線の(主走査方向の)座標値を決定する。罫線の(主走査方向の)座標値は、選択された罫線を左右ページのそれぞれ両端に達するまで近似して延長することにより決定される。図20において、罫線が存在しているBC部については、前述した罫線座標検出処理により既に座標値は決まっていることから、それ以外の延長部分について罫線の(主走査方向の)座標値を決定することになる。より詳細には、図20に示すAB部は直線近似で(主走査方向の)座標値を推定し、CD部は多項式近似曲線で(主走査方向の)座標値を推定する。
[不適切な罫線の排除]
最後に不適切な罫線を排除する。これは、前述したように多項式近似により座標値を推定する際に、多項式近似による推定曲線の形状が不適切である場合には補正の際にかえって歪みが増大する恐れがあるので、このような罫線を排除するものである。不適切な近似曲線形状の例としては、図21に示すように、曲線が書籍の外側へ向かうような曲線■や、中心線を超えて大きく内側へ食い込むような曲線■である。
なお、推定曲線の形状が不適切であるとして罫線を排除した場合には、再び最適な罫線を選択し、上記の処理を繰り返すことになる。
以上の処理により、スキャン画像に罫線が存在すると判断された場合には、左右各ページのいずれの位置に罫線が存在しているのかという情報とともに罫線を抽出し、RAM33に一時的に記憶する。
[スキャン画像からの文字行の抽出]
続くステップS43においては、スキャン画像からの文字行の抽出処理を実行する。ステップS43におけるスキャン画像からの文字行の抽出処理について説明する。本実施の形態においては、まず、スキャン画像中の文字行が縦書き文字行なのか、横書き文字行なのかの判別を行う。
[文字行の判別]
スキャン画像中の文字行が縦書き文字行なのか、横書き文字行なのかの判別手法について説明する。ここで、図22は図8に示した画像の副走査方向の黒白反転数ヒストグラムである。図22中の横軸は、副走査方向(左右方向)の黒画素(スキャン画像を黒白反転させた画素の中でその濃度値が予め定めた濃度値よりも濃い画素)の主走査方向上での位置を示し、図22中の縦軸は、その位置毎の黒画素数を示すものである。また、図23は図8に示した画像の主走査方向の黒白反転数ヒストグラムである。図23中の横軸は、主走査方向(上下方向)の黒画素(スキャン画像を黒白反転させた画素の中でその濃度値が予め定めた濃度値よりも濃い画素)の副走査方向上での位置を示し、図23中の縦軸は、その位置毎の黒画素数を示すものである。画像中の文字が横書きの図8に示したようなスキャン画像の場合、図22に示すような副走査方向のヒストグラムは激しく変化するが、図23に示すような主走査方向のヒストグラムの変化は少ない。また、特に図示しないが、スキャン画像中の文字行が縦書き文字行である場合には、主走査方向のヒストグラムは激しく変化するが、副走査方向のヒストグラムの変化は少ない。
上述したような判別手法は、具体的には下記に示す各式により実現される。まず、下記に示す式(2)により、
主走査方向yの位置でのヒストグラム値Pnt(y)の平均値meanHが算出される。ここで、heightは画像の高さである。そして、下記に示す式(3)により、
副走査方向のヒストグラムの主走査方向に関する分散σHが得られる。同様に、下記に示す式(4)により、
副走査方向xの位置でのヒストグラム値Pnt(x)の平均値meanVが算出される。ここで、widthは画像の幅である。そして、下記に示す式(5)により、
主走査方向のヒストグラムの副走査方向に関する分散σvが得られる。
上述したようにスキャン画像中の文字行が横書き文字行である場合には、副走査方向のヒストグラムの主走査方向に関する分散σHが、主走査方向のヒストグラムの副走査方向に関する分散σvより大きい。逆に、スキャン画像中の文字行が縦書き文字行である場合には、主走査方向のヒストグラムの副走査方向に関する分散σvが、副走査方向のヒストグラムの主走査方向に関する分散σHより大きい。つまり、分散σHと分散σvとの比較により、スキャン画像中の文字行が縦書き文字行なのか、横書き文字行なのかの判別が可能になっている。
なお、スキャン画像中の文字行が縦書き文字行なのか、横書き文字行なのかの判別に、黒白反転数ヒストグラムを用いたのは、文字行と写真部分との混同を避けるためである。一般に、黒画素ヒストグラムの値が同程度の場合、文字領域のほうが写真領域よりも黒白反転数ヒストグラムの値が大きくなるからである。
[横書き文字行の座標検出]
以上のようにして文字行を判別した後、まず、各横書き文字行の座標を検出する。横書き文字行の座標の検出にあたっては、文字単位の外接矩形抽出処理を行うとともに、横書き文字行の抽出処理を行う。なお、文字認識処理については周知の技術であるので、その説明は省略する。ここで、スキャン画像の文字外接矩形抽出処理および文字行抽出処理の結果の一例を図24に示す。そして、各文字の外接矩形の中心点の座標をその文字の座標とみなし、横書き文字行の座標を検出する。
[最適横書き文字行の選択]
次に、抽出した横書き文字行の中から歪み補正に最適な横書き文字行を選択する。複数の横書き文字行が検出される場合、どの横書き文字行を用いて歪み補正するかを選択する必要がある。最適な横書き文字行の選択基準の一例としては、前述した最適な罫線の選択基準と基本的に同様であって、図25に示すように横書き文字行の長さBCが予め定められた閾値より長く、かつ、綴じ部境界線を挟んだ左右の一定幅領域内(図25の網掛け領域)に横書き文字行の一部Cがかかっていることを条件とし、その中で上下いずれかのページ外形に最も近い横書き文字行を選択するようにする。ここで、Bは文字行の一番左の矩形の中心であり、Cは一番右の矩形の中心である。なお、最適な横書き文字行の選択は、左右ページから各1本ずつのページ外形に最も近い横書き文字行を選択するものであっても良いし、左右ページをさらに上下部分に分け、その各4ブロックにおいて1本ずつのページ外形に最も近い横書き文字行を選択するものであっても良い。
なお、上記2条件(横書き文字行の長さが予め定められた閾値より長く、かつ、綴じ部境界線を挟んだ左右の一定幅領域内に横書き文字行の一部がかかっている)については、その両方ではなくいずれか一方のみを満足するものであっても良い。また、選択基準として上例では「ページ外形に最も近い」を用いているが、これに限るものではなく、「横書き文字行の湾曲が最も大きい」を用いても良い。ここで、「横書き文字行の湾曲」は横書き文字行の両端の文字外接矩形の中心座標の主走査方向の座標値の差で表すものとする。
[最適横書き文字行の座標値の決定]
最適な横書き文字行が選択された場合には、横書き文字行の(主走査方向の)座標値を決定する。横書き文字行の(主走査方向の)座標値は、横書き文字行内の各文字外接矩形の中心点を連結し、直線部分と曲線部分とを近似して抽出することにより横書き文字行の(主走査方向の)座標値を決定することになる。より詳細には、図25に示すDは綴じ部境界線であり、BDの間は多項式近似曲線で(主走査方向の)座標値を推定し、一番左端のAとBとの間は近似直線の値で(主走査方向の)座標値を推定する。
[不適切な横書き文字行の排除]
最後に不適切な横書き文字行を排除する。これは、前述したように多項式近似により座標値を推定する際に、多項式近似による推定曲線の形状が不適切である場合には補正の際にかえって歪みが増大する恐れがあるので、このような横書き文字行を排除するものである。不適切な近似曲線形状の例としては、前述した罫線の場合と同様であって、特に図示しないが、曲線が書籍の外側へ向かうような場合や、中心線を超えて大きく内側へ食い込むような場合である。
なお、推定曲線の形状が不適切であるとして横書き文字行を排除した場合には、再び最適な横書き文字行を選択し、上記の処理を繰り返すことになる。
以上の処理により、スキャン画像に横書き文字行が存在すると判断された場合には、左右各ページのいずれの位置に横書き文字行が存在しているのかという情報とともに横書き文字行を抽出し、RAM33に一時的に記憶する。
[縦書き文字行の各文字の座標検出]
続いて、各縦書き文字行の座標を検出する。縦書き文字行の座標の検出にあたっては、文字単位の外接矩形抽出処理を行う。なお、文字認識処理については周知の技術であるので、その説明は省略する。そして、各文字の外接矩形の中心点の座標をその文字の座標とみなす。
[横書き文字行の抽出]
次に、各縦書き文字行から横書き文字行を抽出する。横書き文字行の抽出は、各縦書き文字行の一番上の文字を連結した外形、または、各縦書き文字行の一番下の文字を連結した外形を横書き文字行とみなすものである。より詳細には、左右ページから各1本ずつの文字行を選択する場合は、各縦書き文字行の一番上もしくは一番下の各一文字を連結した外形を一つの行とみなして抽出する。また、左右ページをさらに上下部分に分け、その4ブロックにおいて1本ずつの文字行を選択する場合は、左上部、右上部においては各縦書き文字行の一番上の各一文字を連結した外形を一つの行とみなし、左下部、右下部においては各縦書き文字行の一番下の各一文字を連結した外形を一つの行とみなして抽出する。
その際、図26に示すように抽出された外形の長さBCが予め定められた閾値より長く、かつ、綴じ部境界線を挟んだ左右の一定幅領域内(図26の網掛け領域)に抽出された外形の一部Cがかかっていることを条件とし、外形を抽出する。なお、上記2条件(抽出された外形の長さが予め定められた閾値より長く、かつ、綴じ部境界線を挟んだ左右の一定幅領域内に抽出された外形の一部がかかっている)については、その両方ではなくいずれか一方のみを満足するものであっても良い。したがって、上記条件を満足しない場合は、歪み補正用の縦書き文字行の外形は無いということになる。
[抽出された外形の座標値の決定]
縦書き文字行に応じて外形が抽出された場合には、なお、縦書き文字行の外形の(主走査方向の)座標値を決定する。縦書き文字行の外形の座標値は、図27に示すように、各縦書き文字行の一番上の各一文字を連結した外形である場合には、連結する各文字の外接矩形の上辺中心点を連結し、直線部分と曲線部分とを近似して抽出することにより縦書き文字行の外形の(主走査方向の)座標値を決定することになる。また、図27に示すように、各縦書き文字行の一番下の各一文字を連結した外形である場合には、連結する各文字の外接矩形の下辺中心点を連結し、直線部分と曲線部分とを近似して抽出することにより縦書き文字行の外形の(主走査方向の)座標値を決定することになる。より詳細には、図26に示すDは綴じ部境界線であり、BDの間は多項式近似曲線で(主走査方向の)座標値を推定し、一番左端のAとBとの間は近似直線の値で(主走査方向の)座標値を推定する。
[不適切な縦書き文字行の外形の排除]
最後に不適切な縦書き文字行の外形を排除する。これは、前述したように多項式近似により座標値を推定する際に、多項式近似による推定曲線の形状が不適切である場合には補正の際にかえって歪みが増大する恐れがあるので、このような縦書き文字行の外形を排除するものである。不適切な近似曲線形状の例としては、前述した罫線や横書き文字行の場合と同様であって、特に図示しないが、曲線が書籍の外側へ向かうような場合や、中心線を超えて大きく内側へ食い込むような場合である。
なお、推定曲線の形状が不適切であるとして縦書き文字行の外形を排除した場合には、歪み補正用の縦書き文字行の外形は無いということになる。
以上の処理により、スキャン画像に縦書き文字行の外形が存在すると判断された場合には、左右各ページのいずれの位置に縦書き文字行の外形が存在しているのかという情報とともに縦書き文字行の外形を抽出し、RAM33に一時的に記憶する。
なお、以下においては、横書き文字行及び縦書き文字行の外形を文字列として扱うものとする。
以上、ステップS41〜S43の処理により、ページ外形/罫線/文字行の抽出処理(ステップS4)が終了する。
続くステップS5(図6参照)においては、画像歪み補正処理を実行する。画像歪み補正処理は、図28に示すように、概略的には、歪み補正(伸張)に際しての基準となる線(基準線)としてスキャン画像の上辺(もしくは下辺)の近傍に位置するページ外形/罫線/文字行のいずれかを選択する処理(ステップS51:基準線選択処理)、基準線に対応するものであって補正率(伸張率)の算出用の参照線としてスキャン画像の上辺(もしくは下辺)の近傍に位置するページ外形/罫線/文字行のいずれかを選択する処理(ステップS52:参照線選択処理)、基準線が罫線や文字行の場合に、基準線より下部の画像情報の欠落を最小限にするための仮想的なページ外形を算出する処理(ステップS53:仮想ページ外形算出処理)、仮想的なページ外形に基づいてスキャン画像に伸張処理を施して主走査方向の歪みを補正する処理(ステップS54:主走査方向歪み補正処理)、補正画像の文字外接矩形に基づいてスキャン画像に伸張処理を施して副走査方向の歪みを補正する処理(ステップS55:副走査方向歪み補正処理)により構成されている。
ここで、基準線選択処理(ステップS51:基準線選択手段)及び参照線選択処理(ステップS52:参照線選択手段)においては、基準線または参照線として、スキャン画像の上辺(もしくは下辺)の近傍に位置するページ外形/罫線/文字行のいずれかを選択することになるが、本実施の形態におけるページ外形、罫線、文字行の選択の優先順位は、ページ外形>罫線>文字行とされている。このような選択優先順位にしたのは、文字行はページ外形や罫線に比べて抽出精度が低く、また、画像の外側にあるページ外形を利用する方が精度の高い歪み補正率を得ることができるためである。ただし、本実施の形態においては、ページ外形は一般に左右ページにまたがるが、罫線や文字行は両ページにあるとは限らないので、スキャン画像の上辺または下辺からの基準線選択の優先順位は、下記に示すようになる。
1位 「ページ外形」(ページ外形は、常に左右両ページに存在する)
2位 左右両ページともに「罫線」
3位 一方のページが「罫線」、他方のページが「文字行」
4位 左右両ページともに「文字行」
5位 一方のページのみに「罫線」、他方のページには「手がかりなし」
6位 一方のページのみに「文字行」、他方のページには「手がかりなし」
ここで、「手がかりなし」とは、ページ外形、罫線、文字行のいずれも抽出できなかった場合を言う。
次に、仮想ページ外形算出処理(ステップS53:仮想ページ外形算出手段)及び主走査方向歪み補正処理(ステップS54:歪み補正手段)の例について、上記優先順位に基づいて順に説明する。
1.スキャン画像の上辺及び下辺のいずれにも「ページ外形」が存在する場合ここでは、スキャン画像の上辺及び下辺のいずれにも「ページ外形」が存在する場合について説明する。図29に示すように、スキャン画像の上辺及び下辺のいずれにも「ページ外形」が存在する場合は、いずれを基準線、参照線にしても構わない。なお、本実施の形態においては、基準線として選択した「ページ外形」、「罫線」、「文字行」は、下辺に位置させるものとする。この場合においては、基準線と仮想ページ外形とは一致していることから、仮想ページ外形算出処理(ステップS53)においては特に処理を実行しなくても良い。
次いで、主走査方向歪み補正処理(ステップS54)について説明する。ここで、x0は「ページ外形」の直線部分と曲線部分との境界点である。主走査方向歪み補正処理としては、まず、この境界点x0における基準線と参照線間の距離h0(図30参照)に基づいて歪み補正率を算出する。歪み補正率は、主走査方向に画像を伸張して補正する際に、基準線と参照線との間の距離を副走査方向の全ての位置において等しくさせるためのものである。すなわち、位置xにおける基準線と参照線間の距離をh(図30参照)とした場合には、位置xにおける歪み補正率は、h0/hとして表すことができる。即ち、歪み補正率とは、主走査方向に画像を伸張して補正する際に、基準線と参照線との間の距離を副走査方向の全ての位置xにおいて等しくなるように、各xに関して算出した値である。
次に、実際に補正をする際は、まず、図30に示すように仮想ページ外形(ここでは基準線)が直線(最下辺)になるように、主走査方向に各画素をシフトする。その後、副走査方向の全ての位置xにおいて、画像を主走査方向の上辺側にh0/hで伸張すれば、図30の上辺の「ページ外形」EがREとなるように画像が補正される。
2.スキャン画像の上辺及び下辺のいずれか一方に「ページ外形」が存在し、他方の辺には「罫線」と「文字行」とが存在する場合ここでは、スキャン画像の上辺及び下辺のいずれか一方に「ページ外形」が存在し、他方の辺ではページ外形が途中で切れているが「罫線」と「文字行」とが存在する場合について説明する。図31に示すように、スキャン画像の上辺及び下辺のいずれか一方に「ページ外形」が存在し、他方の辺には「罫線」と「文字行」とが存在する場合は、「ページ外形」を基準線として下辺に位置させ、「文字行」と「罫線」とを参照線とする(図31に示す例では、左ページが「文字行」、右ページが「罫線」である)。この場合においても、基準線と仮想ページ外形とは一致していることから、仮想ページ外形算出処理(ステップS53)においては特に処理を実行しなくても良い。
次いで、主走査方向歪み補正処理(ステップS54)について説明する。ここで、x0は「ページ外形」の直線部分と曲線部分との境界点である。主走査方向歪み補正処理としては、まず、この境界点x0における基準線と参照線間の距離h0(図32参照)に基づいて歪み補正率を算出する。位置xにおける基準線と参照線間の距離をh(図32参照)とした場合には、位置xにおける歪み補正率は、h0/hとして表すことができる。
次に、実際に補正をする際は、まず、図32に示すように仮想ページ外形(ここでは基準線)が直線(最下辺)になるように、主走査方向に各画素をシフトする。その後、副走査方向の全ての位置xにおいて、画像を主走査方向の上辺側にh0/hで伸張すれば、図32の右ページでは、上辺の「罫線」LUがRLUとなるように画像が補正される。左ページ上辺の「文字行」についても同様に行う。
3.スキャン画像の左右両ページの上辺及び下辺のいずれか一方に「罫線」が存在し、他方の辺には「罫線」と「文字行」とが存在する場合ここでは、スキャン画像の左右両ページの上辺及び下辺のいずれか一方に「罫線」が存在し、他方の辺には「罫線」と「文字行」とが存在する場合について説明する。スキャン画像の左右両ページの上辺及び下辺のいずれか一方に「罫線」が存在し、他方の辺には「罫線」と「文字行」とが存在する場合は、図33に示すように、左右両ページに「罫線」が存在する側を下辺に位置させ、その2本の「罫線」を基準線とし、他方の辺に位置する「文字行」と「罫線」とを参照線とする(図33に示す例では、左ページが「文字行」、右ページが「罫線」である)。ところで、このように、基準線が「ページ外形」ではない場合は、基準線をそのまま仮想ページ外形と見なしてはならない。なぜなら、両者を一致させた場合、後の主走査方向歪み補正処理において仮想ページ外形(基準線)を最下辺に画素シフトする際、基準線より下方の画像情報が全て欠落してしまうからである。
そこで、基準線が「ページ外形」でない場合は、図33において点線で示すような仮想ページ外形VEを求める仮想ページ外形算出処理(ステップS53)を実行する。ここで、x0は下辺の「罫線」LDの直線部分と曲線部分との境界点である。仮想ページ外形算出処理は、境界点x0における「罫線」LDからスキャン画像の最下辺までの距離a0と、境界点x0における「罫線」LDから上辺の「罫線」LUまでの距離b0とに基づいて仮想ページ外形VEを算出するものである。すなわち、「罫線」LD上の位置xから上辺の「罫線」LUまでの距離bが解かれば、a/b=a0/b0であることから、「罫線」LD上の位置xから仮想ページ外形VEまでの距離aが算出することができる。したがって、「罫線」LD上の位置から仮想ページ外形VEまでの距離を副走査方向の全ての位置xにおいて算出することにより、仮想ページ外形VEを求めることができる。このような処理は、左右ページについてそれぞれ独立に行われる。
次いで、主走査方向歪み補正処理(ステップS54)について説明する。主走査方向歪み補正処理としては、まず、前述した境界点x0における「罫線」LDからスキャン画像の最下辺までの距離a0と、境界点x0における「罫線」LDから上辺の「罫線」LUまでの距離b0とを加算した距離h0(h0=a0+b0)に基づいて歪み補正率を算出する。位置xにおける上辺の「罫線」LUからスキャン画像の最下辺までの距離をh(h=a+b)とした場合には、位置xにおける歪み補正率は、h0/hとして表すことができる。
次に、実際に補正をする際は、まず、図34に示すように仮想ページ外形VEが直線(最下辺)になるように、主走査方向に各画素をシフトする。その後、副走査方向の全ての位置xにおいて、画像を主走査方向の上辺側にh0/hで伸張すれば、図34の右ページでは、上辺の「罫線」LUがRLU(厳密には、xの位置は「罫線」LUの直線部と曲線部との境界には一致しないが、ここでは「罫線」LDの境界をそのまま用いる)となるように画像が補正される。左ページ上辺の「文字行」についても同様に行う。
このように、仮想ページ外形VEを利用することで、シフトによる画像の欠落を最小限に抑えることができる。
4.スキャン画像の左右両ページの上辺及び下辺のいずれか一方に「罫線」と「文字行」とが存在し、他方の辺の一方のページのみに「罫線」が存在する場合ここでは、スキャン画像の左右両ページの上辺及び下辺のいずれか一方に「罫線」と「文字行」とが存在し、他方の辺の一方のページのみに「罫線」が存在する場合について説明する。スキャン画像の左右両ページの上辺及び下辺のいずれか一方に「罫線」と「文字行」とが存在し、他方の辺の一方のページのみに「罫線」が存在する場合(他方のページは「手がかりなし」)は、図35に示すように、「罫線」と「文字行」とが存在する側を下辺に位置させ、それらの「罫線」と「文字行」とを基準線とし、他方の辺に位置する「罫線」とスキャン画像を副走査方向に貫く中心線Cとを参照線とする(図35に示す例では、左ページが「罫線」、右ページが「手がかりなし」である)。なお、中心線Cは、スキャン画像の主走査方向の中心を副走査方向に横切る線であり、ブック原稿40の中心線ではない。
このように基準線が「ページ外形」でない場合は、前述したように、図35において点線で示すような仮想ページ外形VEを求める仮想ページ外形算出処理(ステップS53)を実行する。ここで、x0は下辺の「罫線」LDの直線部分と曲線部分との境界点である。仮想ページ外形算出処理は、境界点x0における「罫線」LDからスキャン画像の最下辺までの距離a0と、境界点x0における「罫線」LDから中心線Cまでの距離b0とに基づいて仮想ページ外形VEを算出するものである。すなわち、「罫線」LD上の位置xから中心線Cまでの距離bが解かれば、a/b=a0/b0であることから、「罫線」LD上の位置xから仮想ページ外形VEまでの距離aが算出することができる。したがって、「罫線」LD上の位置から仮想ページ外形VEまでの距離を副走査方向の全ての位置xにおいて算出することにより、仮想ページ外形VEを求めることができる。このような処理は、左右ページについてそれぞれ独立に行われる。なお、右ページのように上辺に「罫線」が存在する場合については、中心線Cに代えて、前述したように上辺の「罫線」を用いる。
次いで、主走査方向歪み補正処理(ステップS54)について説明する。主走査方向歪み補正処理としては、まず、前述した境界点x0における「罫線」LDからスキャン画像の最下辺までの距離a0と、境界点x0における「罫線」LDから中心線Cまでの距離b0とを加算した距離h0(h0=a0+b0)に基づいて歪み補正率を算出する。位置xにおける中心線Cからスキャン画像の最下辺までの距離をh(h=a+b)とした場合には、位置xにおける歪み補正率は、h0/hとして表すことができる。
次に、実際に補正をする際は、まず、図36に示すように仮想ページ外形VEが直線(最下辺)になるように、主走査方向に各画素をシフトする。その後、副走査方向の全ての位置xにおいて、画像を主走査方向の上辺側にh0/hで伸張して補正する。左ページ上辺の「罫線」についても同様に行う。なお、右ページについては、補正によってシフトにより一旦歪んだ中心線Cが元の直線RCに戻るが、Cがスキャナ部1の光軸と一致する場合以外は、画像全体の補正は不完全となる。
5.スキャン画像の左右いずれかのページの上辺及び下辺のいずれか一方に「罫線」が存在し、他方の辺の他方のページのみに「文字行」が存在する場合ここでは、スキャン画像の左右いずれかのページの上辺及び下辺のいずれか一方に「罫線」が存在し、他方の辺の他方のページのみに「文字行」が存在する場合について説明する。スキャン画像の左右いずれかのページの上辺及び下辺のいずれか一方に「罫線」が存在し(他方のページは「手がかりなし」)、他方の辺の他方のページのみに「文字行」が存在する場合(一方のページは「手がかりなし」)は、図37に示すように、「罫線」が存在する側を下辺に位置させ、その「罫線」を基準線とし、「罫線」が存在しない方のページ(「文字行」が存在する方のページ)については、文字行Lを中心線Cを挟んで線対称の位置に移動させた曲線SLを基準線とする。参照線については、「罫線」が存在するページは中心線Cを、「文字行」が存在するページはその「文字行」を、それぞれ参照線とする。
なお、歪み補正率の算出や画素シフト、補正(伸張)処理についてはこれまでの例と同様であるため、それらの説明は省略する。
最後に、副走査方向歪み補正処理(ステップS55)について説明する。ここで、図38は副走査方向歪み補正処理の流れを概略的に示すフローチャートである。図38に示すように、ステップS101においては、主走査方向歪み補正されたスキャン画像に基づいて文字の外接矩形A(図39参照)を抽出する。ここで、文字認識処理については周知の技術であるので、その説明は省略する。このように文字の外接矩形Aを抽出するのは、この文字の外接矩形Aの形状の変化を基に、副走査方向の歪みを補正するためである。ここでは、図39に示すように、文字外接矩形Aの横辺の長さw、縦辺の長さh、および、文字の中心Bを定義する。ここで、文字の中心Bは、外接矩形Aの対角線の交点である。
続いて、図40に示すように、スキャン画像をブック原稿40のページ綴じ部41に平行な方向の複数の短冊状の領域Cに分割した後(ステップS102)、各短冊領域Cについて、そこに含まれる文字外接矩形Aに関する特徴量を求める(ステップS103)。ここで、ある短冊領域Cに含まれる文字外接矩形Aとは、その中心が当該短冊領域Cに含まれるような外接矩形Aのことである。例えば、図40の短冊領域C1に含まれる外接矩形Aは、図中の網掛けを施した矩形である。
さて、上記の文字外接矩形Aに関する特徴量は、(文字の横辺の長さ)/(文字の縦辺の長さ)=w/hを基に求められる。すなわち、各短冊領域Cについて、そこに含まれる全ての文字外接矩形Aのw/hの値の平均値をその短冊領域Cの特徴量とするのである。
しかしながら、単に、w/hの平均値を算出すると不適切な場合がある。文字の中には、句読点や数式中の記号のようにそのサイズが元々小さく、w/hの値が不安定なものがある。また、矩形抽出の際に隣接する文字同士がくっついて抽出されてしまい、wが極端に大きい文字外接矩形Aが生じる場合もある。特徴量を求める場合は、このような特殊な文字や極端にwが大きいものを予め排除しておく必要がある。そこで、続くステップS104においては、予め閾値を定めておいて、hの値がその閾値より小さな文字外接矩形Aを予め排除するとともに、w/hの比率に関する閾値を予め定めておき、w/hの値が其の閾値よりも大きい文字外接矩形Aも予め排除する。例えば、図41中に示した網掛けを施した文字外接矩形Aが予め排除されることになる。
続くステップS105においては、前述したように極端な文字外接矩形Aを排除した後に、各短冊領域C内の文字外接矩形Aのw/hの平均値を求める。図42に各短冊領域C内の外接矩形Aのw/hの平均値の一例を示す。なお、図42中の短冊領域C2は、ブック原稿40のページ綴じ部41を含む短冊領域である。
続いて、ブック原稿40のページ綴じ部41を含む短冊領域C2に文字外接矩形Aが存在するか否かを判断する(ステップS106)。これは、図41に示すように、一般にはブック原稿40のページ綴じ部41付近には文字外接矩形Aが存在しない場合が多いからである。ブック原稿40のページ綴じ部41を含む短冊領域C2に文字外接矩形Aが存在する場合は(ステップS106のY)、その文字外接矩形Aを利用して特徴量は算出されているのでそのままステップS108に進む。
一方、ブック原稿40のページ綴じ部41を含む短冊領域C2に文字外接矩形Aが存在しない場合は(ステップS106のN)、ステップS107に進み、ブック原稿40のページ綴じ部41を含む短冊領域C2の特徴量を求める。なお、ブック原稿40のページ綴じ部41を含む短冊領域C2の識別は、例えば、スキャン画像(例えば、モノクロ多値画像)の地肌濃度変化を各短冊領域Cごとに求め、短冊領域C内の最も濃度の薄い濃度値を求めることにより実現される。図43は地肌濃度変化を求めた一例を示したものであり、地肌濃度が最も濃い短冊領域が、ブック原稿40のページ綴じ部41を含む短冊領域C2であるとみなされる。
なお、スキャン画像がカラー多値画像の場合におけるブック原稿40のページ綴じ部41を含む短冊領域C2の識別は、例えばRGB成分の何れか一つの成分(例えばG成分)に着目し、そのG成分の地肌濃度を使用して識別するようにすれば良い。また、RGBを色変換して輝度成分と色差成分とに分け、輝度成分を使用してブック原稿40のページ綴じ部41を含む短冊領域C2を識別するようにしても良い。
ブック原稿40のページ綴じ部41を含む短冊領域C2の特徴量は、次のようにして定められる。ここでは、統計的特徴量の算出対象となり得る文字外接矩形Aが存在し、かつ、ページ綴じ部41を含む短冊領域C2の最近傍である短冊領域Cの特徴量に対して予め定めた定数値を乗じることにより算出された値が、ブック原稿40のページ綴じ部41を含む短冊領域C2における特徴量とみなされるものである。つまり、図42に示した例では、ブック原稿40のページ綴じ部41を含む短冊領域C2の左右何れの短冊領域C3,C4にも文字外接矩形Aが存在するので、どちらか適当な方の特徴量を選択し(ここでは右側の○印の方)、それに予め定めた定数値(ここでは0.5)を乗じて、これをブック原稿40のページ綴じ部41を含む短冊領域C2の特徴量としている。
続くステップS108においては、各短冊領域Cの特徴量に対する適切なフィルタリング処理、例えば、短冊領域Cの位置の変化方向(即ち副走査方向)に関する移動平均を求める処理を施すなどして、短冊領域Cの位置の変化に対する(副走査方向の)特徴量の変化がなだらかになるようにする。ただし、ここでもブック原稿40のページ綴じ部41付近は特別な処理が必要となる。なぜなら、副走査方向に関して長さが全て等しいウィンドウを用いてフィルタリングを行うと、ブック原稿40のページ綴じ部41付近の特徴量の変化の鋭さが失われてしまうからである。
ここで、長さが全て5であるウィンドウを用いて図42に示した各短冊領域Cの特徴量に対してフィルタリング処理を施した結果を図44に示す。図44に示すように、長さが全て5であるウィンドウを用いてフィルタリング処理を施した場合には、ブック原稿40のページ綴じ部41付近の特徴量(w/h)の変化がなだらかになり過ぎてしまう。このような場合には、ブック原稿40のページ綴じ部41付近での適切な画像補正が不可能になってしまう。
そこで、本実施の形態においては、フィルタリング処理の際には、フィルタのウィンドウがブック原稿40のページ綴じ部41を含む短冊領域C2の両側の短冊領域C3,C4に跨がらないように、ページ綴じ部41付近でウィンドウ長を調整する。ここで、図45はページ綴じ部41付近でウィンドウ長を調整してフィルタリング処理を施した結果を示すグラフである。図45に示すように、ページ綴じ部41付近でウィンドウ長を調整した場合には、ページ綴じ部41付近の特徴量(w/h)の変化を適切に表現できるので、良好な画像補正が実現できる。
続くステップS109においては、各短冊領域Cの推定歪み量を算出する。各短冊領域Cの推定歪み量の算出手法は、以下に示す通りである。
まず、短冊領域の歪み量を算出するための基準となる短冊領域(基準短冊領域)を定める。ここでは、歪みが最も小さいと考えられる短冊領域C、例えば、特徴量(w/h)が最大である短冊領域Cを基準短冊領域とする。この処理は左右ページで共通に行っても良いが、左右独立に基準短冊領域を定めても構わない。図45においては、左右独立に基準短冊領域を定めた例を示しており、○印を施した短冊領域Cが基準短冊領域であり、左側の基準特徴量を"Lw0/Lh0"、右側の基準特徴量を"Rw0/Rh0"、でそれぞれ示している。
次に、基準短冊領域の特徴量w0/h0をスキャン画像全体の基準特徴量とし、(各短冊領域の特徴量)/(基準特徴量)=(w/h)/(w0/h0)の値を、各短冊領域の推定歪み量として算出する。
なお、ブック原稿40のページ綴じ部41から外れたページ外側付近の短冊領域Cを基準短冊領域とすると、ブック原稿40のページ綴じ部41付近とはフォントや活字のサイズの違いが大きくて、適切な推定歪み量が算出できない場合も考えられる。そのような画像を対象とする場合は、基準短冊領域の探索範囲を予めブック原稿40のページ綴じ部41付近に限定しておくのが有効である。これを実現するためには、地肌濃度が予め定めた濃度よりも濃い短冊領域Cのみから基準短冊領域を求めるようにすれば良い。
最後に、スキャン画像に対して、短冊領域Cの短辺方向(副走査方向)の拡大処理を行い、ブック原稿40のページ綴じ部41付近の歪みを補正する(ステップS110)。その場合の拡大率(副走査方向の歪み補正率(伸張率))は、ステップS109において算出した推定歪み量の逆数、すなわち、(基準特徴量)/(各短冊領域の特徴量)=(w0/h0)/(w/h)とする。ここで、上記の基準短冊領域を左右共通に定めた場合には、この拡大率も左右共通の基準特徴量によって算出し、独立に定めた場合には、左右それぞれの基準特徴量で独立に算出するようにする。図46は、図45に示した特徴量に基づいて算出した補正拡大率を示したものである。
なお、ここでも、ブック原稿40のページ綴じ部41付近から離れた短冊領域Cはもともと画像の歪みが無い領域である可能性が高いので、拡大処理の対象としない方が良い場合がある。拡大処理を行ったために、かえって不自然な歪みが生じてしまう可能性があるからである。これを防ぐために、地肌濃度が予め定めた濃度よりも薄い短冊領域Cについては、推定歪み量を"1"とする。
また、短冊領域C内において共通の補正拡大率を適用した場合、隣接する短冊領域Cの境界部での補正拡大率が不連続となるため、補正画像が不自然となる。そこで、隣接する短冊領域Cの境界部での補正拡大率が連続的に変化するように、補正拡大率を予め補正しておく。これは、例えば図46に示す短冊領域Cの中央部分の補正拡大率を推定歪み量の逆数を示す点としてプロットし、これらの点を線分で結んで直線補完することで、他の部分の補正拡大率とすることで実現できる。以上の処理により、スキャン画像の副走査方向の補正拡大率が確定する。
なお、画像の拡大処理は、例えばコピーの変倍機能として良く使われる3次関数のコンボリューション法等を用いて実行される。
以上、ステップS101〜S110の処理により副走査方向歪み補正処理(ステップS55)が終了し、図6に示すスキャン画像の歪み補正処理が終了する。ここで、図47は歪みを補正した画像を示す平面図である。以上の処理によれば、図8に示したようなブック原稿40のページ綴じ部41の近傍において生じていたスキャン画像の歪みが、図47に示すように補正されることになる。
ここに、ページ外形、罫線または文字行である基準線と参照線とに基づいた仮想的なページ外形である仮想ページ外形が算出され、算出された仮想ページ外形に基づいてスキャン画像に対する歪み補正が行われる。これにより、ブック原稿40のページ綴じ部41と画像読み取りの主走査方向とが平行な場合であっても、スキャナ部1の固有パラメータ(レンズの焦点面距離、スキャン光軸の位置(アドレス))を利用することなくスキャン画像に対する歪み補正を行うことが可能になるので、スキャナ部1の固有パラメータに依存することのない汎用的な装置の提供が可能になる。
なお、本実施の形態においては、画像歪み補正装置を画像形成装置であるデジタル複写機16に備え、デジタル複写機16のスキャナ部1で読み取ったスキャン画像に対して画像の歪み補正処理を施すようにしたが、これに限るものではない。例えば、原稿画像を読み取る画像読取手段を備えたイメージスキャナをパーソナルコンピュータに接続するとともに、このパーソナルコンピュータのHDDに記憶媒体であるCD−ROM37に格納されたプログラムをインストールすることによって画像歪み補正装置を構成しても、前述したような各種の作用効果と同様の作用効果を得ることができる。また、記憶媒体であるCD−ROM37に格納されたプログラムをパーソナルコンピュータのHDDにインストールすることによって画像歪み補正装置を構成し、予め画像読取手段により読み取られたスキャン画像に対して歪み補正処理を施すようにしても良い。