(57)【要約】【課題】１本のラインセンサを用いて原稿を読み取り傾き検出する場合に比べて高速且つ正確に原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出することができる画像読取装置及びプログラムを提供する。【解決手段】ライン方向に沿った各々異なる複数の画素列であって、ライン方向と交差するスキャン方向に沿って予め定められた間隔を隔てた複数の画素列を各々読み取るための複数の読取部により、原稿読取位置に搬送された原稿を読み取る場合に、該複数の読取部の各々により読み取られた画素列（Ｌ１〜Ｌ３）毎の画像信号に基づいて、原稿読取位置に搬送された原稿の縁の位置（Ｅ１１〜Ｅ２３）を検出し、該検出された縁の位置（Ｅ１１〜Ｅ２３）の各々に基づいて、原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する。【選択図】図４
2010062924.tif 000002
【特許請求の範囲】
【請求項１】
原稿を原稿読取位置に搬送する搬送手段と、
第１の方向に沿った各々異なる複数の画素列であって、前記第１の方向と交差する第２の方向に沿って予め定められた間隔を隔てた複数の画素列を各々読み取るための複数の読取部を備え、前記原稿読取位置に搬送された原稿を読み取る原稿読取手段と、
前記複数の読取部の各々により読み取られた画素列毎の画像信号に基づいて、前記原稿読取位置に搬送された原稿の縁の位置を検出する縁検出手段と、
前記縁検出手段で検出された縁の位置の各々に基づいて、前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する傾き検出手段と、
を備えた画像読取装置。
【請求項２】
前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、
前記傾き検出手段は、前記縁検出手段で検出された画素列毎の２箇所の縁のうち前記第１方向における予め定められた基準位置に近い方の縁の位置の各々と、他方の縁の位置の各々と、の少なくとも一方に基づいて前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する
請求項１に記載の画像読取装置。
【請求項３】
前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、
前記傾き検出手段は、前記縁検出手段で検出された画素列毎の２箇所の縁のうち前記第１方向における予め定められた基準位置に近い方の縁の位置の各々に基づいて、前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する
請求項１に記載の画像読取装置。
【請求項４】
前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、
前記傾き検出手段は、前記縁検出手段で検出された画素列毎の２箇所の縁のうち予め定められた基準位置に近い方の縁の位置の各々が同一の辺から検出された縁の位置か否か、及び他方の縁の位置の各々が同一の辺から検出された縁の位置か否かを判定し、同一の辺から検出された縁の位置であると判定された方の縁の位置の各々に基づいて、前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する
請求項１に記載の画像読取装置。
【請求項５】
前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、
前記傾き検出手段は、前記縁検出手段で検出された画素列毎の２箇所の縁のうち前記第１の方向における予め定められた基準位置に近い方の縁の位置の各々に基づいて前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する第１検出処理と、他方の縁の位置の各々に基づいて前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する第２検出処理とを行い、前記第１検出処理及び第２検出処理の検出結果が異なる場合には、予め定められた方の縁の位置に基づいて行われた検出処理の検出結果を選択する
請求項１に記載の画像読取装置。
【請求項６】
前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、
前記傾き検出手段は、前記傾きの度合いを検出する場合に、前記縁検出手段で検出された画素列毎の２箇所の縁のうち前記第１の方向における予め定められた基準位置に近い方の縁の位置の各々に基づいて前記傾きの度合いを検出する第１検出処理と、他方の縁の位置の各々に基づいて前記傾きの度合いの少なくとも一方を検出する第２検出処理とを行い、前記第１検出処理及び第２検出処理の検出結果が異なる場合には、傾きの度合いが小さい方の検出結果を選択する
請求項１に記載の画像読取装置。
【請求項７】
前記傾き検出手段により前記傾きの度合いが検出された場合に、前記傾き検出手段で検出された傾きの度合いを示す値が、予め定められた閾値以上の場合に、前記原稿の読取結果を補正する補正手段を更に備えた
請求項１〜請求項６のいずれか１項記載の画像読取装置。
【請求項８】
コンピュータを、請求項１〜請求項７のいずれか１項記載の画像読取装置を構成する縁検出手段及び傾き検出手段として機能させるためのプログラム。
【請求項９】
コンピュータを、
第１の方向に沿った各々異なる複数の画素列であって、前記第１の方向と交差する第２の方向に沿って予め定められた間隔を隔てた複数の画素列を各々読み取るための複数の読取部を備え、搬送手段により原稿読取位置に搬送された原稿を読み取る原稿読取手段の前記複数の読取部の各々により読み取られた画素列毎の画像信号に基づいて、前記原稿読取位置に搬送された原稿の縁の位置を検出する縁検出手段、及び
前記縁検出手段で検出された縁の位置の各々に基づいて、前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する傾き検出手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置及びプログラムに関する。
【背景技術】
【０００２】
原稿送り装置により原稿を読取位置まで搬送して原稿の読取りを行う画像読取装置において、原稿が斜めに搬送されて読み取られてしまうことがある。
【０００３】
画像の読取りに関する技術としては、１本のラインセンサを用いて原稿を読取り、該読取結果に基づいて原稿の傾きを検出する画像読取装置が知られている。例えば、１本のラインセンサで読み取られた画像データを多値データのままメモリに格納し、傾きを検出して補正する画像読取装置が知られている（例えば、特許文献１参照）。また、例えば、原稿を搬送しながら原稿の画像を読取り、該読み取った画像データ及び原稿の搬送速度に基づいて原稿の傾きを検知し、検知した傾きに応じて傾き補正を行う画像読取装置も知られている（例えば、特許文献２参照）。
【特許文献１】特開２００２−１４２０８４号公報
【特許文献２】特開２００１−３５８９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、１本のラインセンサを用いて原稿を読み取り傾き検出する場合に比べて高速且つ正確に原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出することができる画像読取装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１の発明の画像読取装置は、原稿を原稿読取位置に搬送する搬送手段と、第１の方向に沿った各々異なる複数の画素列であって、前記第１の方向と交差する第２の方向に沿って予め定められた間隔を隔てた複数の画素列を各々読み取るための複数の読取部を備え、前記原稿読取位置に搬送された原稿を読み取る原稿読取手段と、前記複数の読取部の各々により読み取られた画素列毎の画像信号に基づいて、前記原稿読取位置に搬送された原稿の縁の位置を検出する縁検出手段と、前記縁検出手段で検出された縁の位置の各々に基づいて、前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する傾き検出手段と、を備えている。
【０００６】
請求項２の発明は、請求項１に記載の画像読取装置において前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、前記傾き検出手段は、前記縁検出手段で検出された画素列毎の２箇所の縁のうち前記第１方向における予め定められた基準位置に近い方の縁の位置の各々と、他方の縁の位置の各々と、の少なくとも一方に基づいて前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する。
【０００７】
請求項３の発明は、請求項１に記載の画像読取装置において、前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、前記傾き検出手段は、前記縁検出手段で検出された画素列毎の２箇所の縁のうち前記第１方向における予め定められた基準位置に近い方の縁の位置の各々に基づいて、前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する。
【０００８】
請求項４の発明は、請求項１に記載の画像読取装置において、前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、前記傾き検出手段は、前記縁検出手段で検出された画素列毎の２箇所の縁のうち予め定められた基準位置に近い方の縁の位置の各々が同一の辺から検出された縁の位置か否か、及び他方の縁の位置の各々が同一の辺から検出された縁の位置か否かを判定し、同一の辺から検出された縁の位置であると判定された方の縁の位置の各々に基づいて、前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する。
【０００９】
請求項５の発明は、請求項１に記載の画像読取装置において、前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、前記傾き検出手段は、前記縁検出手段で検出された画素列毎の２箇所の縁のうち前記第１の方向における予め定められた基準位置に近い方の縁の位置の各々に基づいて前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する第１検出処理と、他方の縁の位置の各々に基づいて前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する第２検出処理とを行い、前記第１検出処理及び第２検出処理の検出結果が異なる場合には、予め定められた方の縁の位置に基づいて行われた検出処理の検出結果を選択する。
【００１０】
請求項６の発明は、請求項１に記載の画像読取装置において、前記縁検出手段は、前記複数の読取部で読み取られた画素列毎に２箇所の縁の位置を検出し、前記傾き検出手段は、前記傾きの度合いを検出する場合に、前記縁検出手段で検出された画素列毎の２箇所の縁のうち前記第１の方向における予め定められた基準位置に近い方の縁の位置の各々に基づいて前記傾きの度合いを検出する第１検出処理と、他方の縁の位置の各々に基づいて前記傾きの度合いの少なくとも一方を検出する第２検出処理とを行い、前記第１検出処理及び第２検出処理の検出結果が異なる場合には、傾きの度合いが小さい方の検出結果を選択する。
【００１１】
請求項７の発明は、請求項１〜請求項６のいずれか１項記載の画像読取装置において、前記傾き検出手段により前記傾きの度合いが検出された場合に、前記傾き検出手段で検出された傾きの度合いを示す値が、予め定められた閾値以上の場合に、前記原稿の読取結果を補正する補正手段を更に備えている。
【００１２】
請求項８の発明は、コンピュータを、請求項１〜請求項７のいずれか１項記載の画像読取装置を構成する縁検出手段及び傾き検出手段として機能させるためのプログラムである。
【００１３】
請求項９の発明は、コンピュータを、第１の方向に沿った各々異なる複数の画素列であって、前記第１の方向と交差する第２の方向に沿って予め定められた間隔を隔てた複数の画素列を各々読み取るための複数の読取部を備え、搬送手段により原稿読取位置に搬送された原稿を読み取る原稿読取手段の前記複数の読取部の各々により読み取られた画素列毎の画像信号に基づいて、前記原稿読取位置に搬送された原稿の縁の位置を検出する縁検出手段、及び前記縁検出手段で検出された縁の位置の各々に基づいて、前記原稿読取位置に搬送された原稿が傾いているか否か、及び傾きの度合いの少なくとも一方を検出する傾き検出手段、として機能させるためのプログラムである。
【発明の効果】
【００１４】
請求項１の発明によれば、１本のラインセンサを用いて原稿を読み取り傾き検出する場合に比べて高速且つ正確に原稿が傾いているか否か、及び原稿の傾きの度合いの少なくとも一方を検出することができる。
【００１５】
請求項２の発明によれば、より正確に原稿が傾いているか否か、及び原稿の傾きの度合いの少なくとも一方を検出することができる。
【００１６】
請求項３の発明によれば、より高速に原稿が傾いているか否か、及び原稿の傾きの度合いの少なくとも一方を検出することができる。
【００１７】
請求項４の発明によれば、より正確に原稿が傾いているか否か、及び原稿の傾きの度合いの少なくとも一方を検出することができる。
【００１８】
請求項５の発明によれば、予め選択する側を予め定めておくことで、より効率的に原稿が傾いているか否か、及び原稿の傾きの度合いの少なくとも一方を検出することができる。
【００１９】
請求項６の発明によれば、例えば、検出された傾きの度合いに応じて補正を行う場合に、過補正となること等を防止できる。
【００２０】
請求項７の発明によれば、補正を行う必要がない程度の傾きの場合には、補正を行わないようにすることができる。
【００２１】
請求項８の発明によれば、１本のラインセンサを用いて原稿を読み取り傾き検出する場合に比べて高速且つ正確に原稿が傾いているか否か、及び原稿の傾きの度合いの少なくとも一方を検出することができる。
【００２２】
請求項９の発明によれば、１本のラインセンサを用いて原稿を読み取り傾き検出する場合に比べて高速且つ正確に原稿が傾いているか否か、及び原稿の傾きの度合いの少なくとも一方を検出することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【００２４】
図１は、本発明の一実施形態に係る画像読取装置１０の概略構成を示すブロック図である。画像読取装置１０は、ＣＰＵ（Central Processing Unit）１２、ＲＡＭ（Randam Access Memory）１４、ＲＯＭ（Read Only Memory）１６、Ｉ／Ｏ（入出力）インタフェース１８、通信インタフェース２０を備え、それらはバス２２を介して相互に接続されている。
【００２５】
Ｉ／Ｏインタフェース１８には、ＣＤ−ＲＯＭドライブ２４、ＦＤ（フレキシブルディスク）ドライブ２８、及びＨＤＤ（ハードディスクドライブ）３２が接続されている。ＣＤ−ＲＯＭドライブ２４は、可搬型記録媒体であるＣＤ−ＲＯＭ２６からデータを読み出す。ＦＤドライブ２８は、可搬型記録媒体であるＦＤ３０に対してデータを読み書きする。またＨＤＤ３２は、内蔵されたハードディスクに対してデータを読み書きする。
【００２６】
また、Ｉ／Ｏインタフェース１８には、利用者の操作により様々な情報を入力するためのキーボード３４、ＣＰＵ１２からの指示により画像等の情報を表示するディスプレイ３８、及びディスプレイ３８に表示された画像上の任意の位置を利用者が指定することにより指示入力するポインティングデバイス３６が接続されている。なお、ここでは、入力デバイスとしてキーボード３４やポインティングデバイス３６を設けた構成としたが、ディスプレイ３８がタッチパネルディスプレイであれば、ディスプレイ３８を入力デバイスとして用いるようにしてもよく、特に入力デバイスをキーボード３４やポインティングデバイス３６に限定するものではない。
【００２７】
また、Ｉ／Ｏインタフェース１８には、原稿の画像を読み取るスキャナ４０が接続されている。ＣＰＵ１２は、Ｉ／Ｏインタフェース１８を介してスキャナ４０に原稿の画像を読み取る動作を指示したり、スキャナ４０で読み取られた画像データを取得してＲＡＭ１４に記憶したりする。
【００２８】
また、通信インタフェース２０は、通信回線やＬＡＮ等のネットワークに接続されている。画像読取装置１０は、通信インタフェース２０を介して、該ネットワークに接続された他の端末と相互に情報をやりとりする。
【００２９】
ＣＰＵ１２は、ＲＯＭ１６やＨＤＤ３２等に記憶されたプログラム（後述する傾き検出処理プログラムを含む）を実行する。ＲＡＭ１４は、通信インタフェース２０を介して他の端末から入力された画像データ、スキャナ４０等から入力された画像データ、新たに生成した画像データ等々、様々な画像データを一時記憶するためのフレームメモリとして利用される他、プログラム実行時のワークメモリとしても利用される。
【００３０】
なお、ＣＰＵ１２が実行するプログラムが記憶される記録媒体は、上記ＲＯＭ１６やＨＤＤ３２等に限定されず、ＣＤ−ＲＯＭドライブ２４やＦＤドライブ２８であってもよいし、例えば、図示は省略するが、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの可搬型記録媒体や画像読取装置１０の外部に備えられたＨＤＤ等の記憶装置等であってもよく、さらにまたネットワークを介して接続されたデータベース、或いは他のコンピュータシステム並びにそのデータベースや、更に電気通信回線上の搬送波のような伝送媒体であってもよい。
【００３１】
図２は、スキャナ４０の構成図である。このスキャナ４０は、原稿を順次搬送する原稿送り部５０と原稿の画像を読み取る原稿読取り部６０とにより構成されている。
【００３２】
上段の原稿送り部５０には、読み取る原稿を置く（セットする）ための原稿置き部（不図示）及びリタードロール（不図示）が設けられている。原稿置き部にセットされた原稿は、リタードロールにより１枚ずつ捌かれて、原稿送り部５０内部に搬送される。
【００３３】
更に、原稿送り部５０には、原稿の搬送経路Ａに沿って、１枚ずつに捌かれた原稿を下流側のロールまで搬送する搬送ロール４２、プラテンガラス７０が設置された原稿読取位置まで原稿を搬送する搬送ロール４４、原稿読取位置まで原稿搬送をアシストするためのアシスト板４６、及び原稿読取位置に搬送された原稿を更に下流に搬送する搬送ロール４８が設けられている。プラテンガラス７０とアシスト板４６とに挟まれた部分が原稿読取位置になる。
【００３４】
下段の原稿読取り部６０は、上段の原稿送り部５０によって搬送された原稿の画像読取りを行う。
【００３５】
原稿読取り部６０は、プラテンガラス７０と、プラテンガラス７０の下から原稿の画像を読み込むためのフルレートキャリッジ７３と、フルレートキャリッジ７３から得られた光を結像用レンズ７７へ提供するハーフレートキャリッジ７５とを備えている。
【００３６】
フルレートキャリッジ７３には、原稿に光を照射する照明ランプ７２、照明ランプ７２の照射光を原稿面に向けて反射するミラー７４、及び原稿から得られた反射光を受光するミラー７６Ａが備えられている。
【００３７】
ハーフレートキャリッジ７５には、ミラー７６Ａから得られた光を結像用レンズ７７へ提供するミラー７６Ｂおよびミラー７６Ｃが備えられている。
【００３８】
更に、原稿読取り部６０は、ミラー７６Ｃから得られた光学像を光学的に縮小する結像用レンズ７７、結像用レンズ７７によって結像された光学像を光電変換するＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）イメージセンサ７８を備えている。ＣＣＤイメージセンサ７８によって得られた画像信号は駆動基板（不図示）を介してＣＰＵ１２に送られる。
【００３９】
このスキャナ４０でプラテンガラス７０上に載置された原稿を読み取る場合には、まず、フルレートキャリッジ７３とハーフレートキャリッジ７５とが、２：１の割合でスキャン方向（矢印Ｂ方向）に移動する。そして、フルレートキャリッジ７３の照明ランプ７２の光が原稿の被読取り面に照射されると共に、その原稿からの反射光がミラー７６Ａ、ミラー７６Ｂ、およびミラー７６Ｃの順に反射されて結像用レンズ７７に導かれる。ラインセンサ８０の各々により１ラインの読取りが終了すると、矢印Ｂ方向にフルレートキャリッジ７３を移動させ、原稿の次のラインを読み取る。これを原稿サイズ全体に亘って実行することで、１ページの原稿読取りを完了させる。
【００４０】
原稿置き部に載置された原稿を読み取る場合には、フルレートキャリッジ７３を原稿読取位置の下方まで移動させ、停止させることにより、フルレートキャリッジ７３に搭載された読取光学系を原稿読取位置の下方に停止させた状態で、原稿送り部５０によって搬送された原稿が原稿読取位置を通過するときに、そこを通過中（移動中）の原稿からの反射光を結像用レンズ７７に導く。
【００４１】
結像用レンズ７７に導かれた光は、ＣＣＤイメージセンサ７８で受光され結像される。本実施の形態のＣＣＤイメージセンサ７８は、スキャン方向と交差する方向（以下、ライン方向）に沿った異なる３本の画素列であって、スキャン方向に沿って予め定められた間隔を隔てた３本の画素列を読み取るための３本のラインセンサ８０ａ、８０ｂ、８０ｃを備えている。なお、各ラインセンサ８０ａ、８０ｂ、８０ｃの各々を区別しないで説明する場合には、末尾の符号を省略してラインセンサ８０と呼称する。
【００４２】
ラインセンサ８０の各々は、複数の受光素子が配列された１次元のセンサであり、ライン方向の１つの画素列をまとめて処理している。具体的には、各受光素子は、入射光に応じたアナログの画像信号を出力する。該アナログの画像信号は、不図示のアナログデジタルコンバーターによりデジタルの画像信号に変換され、Ｉ／Ｏインタフェース１８を介して、ＲＡＭ１４やＨＤＤ３２等の記憶手段に記憶される。以下、１つのラインセンサ８０により読み取られる１つの画素列を１ラインと呼称する。
【００４３】
以下、本実施の形態に係る画像読取装置１０で行われる画像読取処理について説明する。なお、本実施の形態では、読取り対象の原稿が、一般的な定形の原稿（４つ角が直角の四角形となるように生成された原稿）である場合に限定して説明する。
【００４４】
まず、利用者は、スキャナ４０の原稿送り部５０に設けられた原稿置き部に原稿をセットした状態で、原稿読取りのためのスタートボタンを押下する。具体的には、ＣＰＵ１２は、ディスプレイ３８にスタートボタンを表示して、利用者にポインティングデバイス３６で選択（ディスプレイ３８がタッチパネルディスプレイの場合には、指などにより接触選択）させる。あるいは、画像読取装置１０にスタートボタンを設け、該スタートボタンを押下させるようにしてもよい。利用者がスタートボタンを選択（押下）すると、図３に示す処理が開始される。
【００４５】
図３は、ＣＰＵ１２が実行する画像読取時の傾き検出処理プログラムの流れの一例を示すフローチャートである。
【００４６】
ステップ１００では、ＣＰＵ１２は、スキャナ４０に対して原稿搬送を開始させるための制御信号を送信し、原稿置き部にセットされた原稿が原稿読取位置に搬送されるように制御する。
【００４７】
ステップ１０２では、原稿が原稿読取位置に搬送されたところで、ＣＰＵ１２は、原稿の読取りを行わせるための制御信号をスキャナ４０に送信し、３本のラインセンサ８０による原稿の読取りを行わせる。読み取って得られた各ラインの画像信号は、予め定められた記憶手段（例えばＲＡＭ１４やＨＤＤ３２）に記憶される。
【００４８】
ステップ１０４では、ＣＰＵ１２は、ステップ１０２で読み取って得られた画像信号を上記記憶手段から読み出し、エッジ検出処理を行う。エッジ検出処理は、画像処理により画像信号が急激に変化している部分を原稿のエッジ（縁）として検出する等、一般的に知られている技術を利用する。また、ここでは、原稿が原稿読取位置に到達してから予め定められた時間経過したときに３つのラインセンサ８０により読み取られた３本のラインの各々の画像信号に基づいてエッジ検出処理を行う。
【００４９】
ステップ１０６では、ＣＰＵ１２は、複数のラインセンサ８０で読み取られた各ラインの画像信号から検出されたエッジの位置に基づいて原稿の傾きを判定する。
【００５０】
図４は、３本のラインセンサ８０の読取結果に基づいて行われる傾き検出処理の一例を説明する説明図である。図４に示すように、３本のラインセンサ８０により、原稿のＬ１〜Ｌ３に示すラインの画像が読み取られる。
【００５１】
ラインＬ１の画像信号に基づいて検出されたラインＬ１上のエッジの位置（以下、エッジ位置）がＥ１１，Ｅ２１であり、ラインＬ２の画像信号に基づいて検出されたラインＬ２上のエッジ位置がＥ１２，Ｅ２２であり、ラインＬ３の画像信号に基づいて検出されたラインＬ３上のエッジ位置がＥ１３，Ｅ２３である。
【００５２】
なお、本実施の形態では、ライン方向の予め定められた位置が基準位置として設定されている。基準位置は１つであってもよいが、本実施の形態では、２つの基準位置が設定されている。
【００５３】
また、利用者は原稿を原稿置き部にセットするにあたり、通常は、原稿置き部に設けられた位置決め用の固定ガイド（不図示）に原稿の一辺を突き当ててセットする。以下、原稿を突き当てる側をレジ側と呼称し、逆側を逆レジ側と呼称する。図４では、上側をレジ側とし、下側を逆レジ側とする。また、レジ側の基準位置をレジ側基準位置Ｑ１と呼称し、逆レジ側の基準位置を逆レジ側基準位置Ｑ２と呼称し、区別して説明する。
【００５４】
原稿は、レジ側基準位置Ｑ１から逆レジ側基準位置Ｑ２までの範囲内を搬送されるものとし、各ラインセンサ８０は、少なくともレジ側基準位置Ｑ１から逆レジ側基準位置Ｑ２までの範囲の受光が可能に構成されているものとする。
【００５５】
ステップ１０６では、まず、ＣＰＵ１２は、レジ側のエッジ位置Ｅ１１，Ｅ１２，Ｅ１３の各々と、レジ側基準位置Ｑ１との距離Ｘ１１、Ｘ１２、Ｘ１３を求める。また、ＣＰＵ１２は、逆レジ側のエッジ位置Ｅ２１，Ｅ２２，Ｅ２３の各々と、逆レジ側基準位置Ｑ２との距離Ｘ２１、Ｘ２２、Ｘ２３を求める。
【００５６】
次に、ＣＰＵ１２は、求めた各々の距離を比較して、原稿が傾いているか否かを判定する。具体的には、Ｘ１１＝Ｘ１２＝Ｘ１３、かつＸ２１＝Ｘ２２＝Ｘ２３の場合には、原稿は傾いていない、と判定する。また、ＣＰＵ１２は、Ｘ１１＝Ｘ１２＝Ｘ１３でない場合、且つＸ２１＝Ｘ２２＝Ｘ２３でない場合には、原稿は傾いていると判定する。図４に示した例では、Ｘ１１≠Ｘ１３であって、Ｘ２１≠Ｘ２３であるため、原稿が傾いていると判定される。
【００５７】
なお、各ラインセンサ８０の読取り誤差等を考慮して、各距離が完全に一致していなくても、予め定められた範囲内の誤差であれば、原稿は傾いていないと判定するようにしてもよい。
【００５８】
また、ここではレジ側のエッジ位置及び逆レジ側のエッジ位置の双方を用いて、原稿が傾いているか否かを判定するようにしたが、レジ側のエッジ位置、及び逆レジ側のエッジ位置のいずれか一方を用いて原稿が傾いているか否かを判定するようにしてもよい。
【００５９】
ステップ１０６で、原稿が傾いていると判定された場合には、ステップ１０８に移行する。
【００６０】
ステップ１０８では、ＣＰＵ１２は、レジ側のエッジ位置及び逆レジ側のエッジ位置のいずれか一方を用いて、原稿がどの程度傾いているかを示す傾き角度θを算出する。ＣＰＵ１２は、各エッジ位置の各々が同一直線上に位置すると判断した側のエッジ位置のうち２つのエッジ位置と基準位置との距離（ＸＡ，ＸＢ）を用いて下記（１）式のように計算する。
【００６１】
θ＝ｔａｎ−１（（ＸＡ−ＸＢ）／Ｎ）    ・・・（１）
【００６２】
（１）式において、Ｎは、２つのエッジ位置のスキャン方向の距離（該２つのエッジを読み取った各ラインセンサ８０のスキャン方向の読取位置の間隔）を示す。
【００６３】
図４に示す例では、同一の辺から検出されたレジ側のエッジ位置Ｅ１１，Ｅ１２，Ｅ１３が、同一直線上に位置していると判断される。従って、ＣＰＵ１２は、エッジ位置Ｅ１１，Ｅ１２，Ｅ１３のうち２つのエッジ位置とレジ側基準位置Ｑ１との距離を用いて、上記（１）式により算出する。例えば、Ｘ１１及びＸ１３を用いて計算する場合には、θ＝ｔａｎ−１（（Ｘ１１−Ｘ１３）／Ｎ）と計算される。
【００６４】
例えば、ＣＣＤイメージセンサ２８のスキャン方向の読取ライン間隔が１０ラインの場合において、１０ラインで１画素原稿がずれていることが検知された場合には、原稿の傾き角度は約５．７度となる。
【００６５】
なお、図４に示すように、逆レジ側のエッジ位置については、各エッジ位置Ｅ２１，Ｅ２２，Ｅ２３は同一の直線上にはない。これは、Ｅ２２及びＥ２３を検出した辺と、Ｅ２１を検出した辺とが異なるためである。従って、Ｅ２２及びＥ２３の組み合わせでは、原稿の傾き角度θを得られるが、異なる辺で検出されたＥ２１及びＥ２２、またはＥ２１及びＥ２３の組み合わせでは、原稿の傾き角度θは得られない。これにより、本実施の形態では、エッジ位置の各々が同一直線上に位置する（同一の辺から検出された）と判断されたレジ側のエッジ位置と基準位置との距離を用いて計算するようにしている。
【００６６】
なお、ここではエッジ位置の各々が同一直線上に位置するか否かを判断することにより同一の辺から検出されたか否かを判断し、同一の辺から検出されたと判断した側のエッジ位置と基準位置との距離を用いて傾き角度を計算する例について説明したが、各ラインセンサ８０の読取り誤差等を考慮して、完全に同一直線上に位置していなくても、予め定められた範囲内の誤差であれば、同一の辺から検出されたと判断するようにしてもよい。
【００６７】
また、レジ側のエッジ位置の各々が同一直線上にあり且つ逆レジ側のエッジ位置の各々も同一直線上にあると判断された場合には、どちらを使用して計算してもよい。
【００６８】
ステップ１１０では、ＣＰＵ１２は、求めた傾き角度θが予め設定された閾値を超えているか否かを判断する。ＣＰＵ１２は、求めた傾き角度θが予め設定された閾値を超えていると判断した場合には、ステップ１１２で、傾き補正を行う。例えば、原稿の読取りにより得られた画像データに上記求めた傾き角度θだけ画像を回転させる回転処理を施す等の補正を行う。
【００６９】
一方、ステップ１１０で、ＣＰＵ１２は、求めた傾き角度θが予め設定した閾値を超えていないと判断した場合には、ステップ１１２の処理を行わずに終了する。
【００７０】
なお、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された発明の範囲内で様々な設計上の変更を行ってもよい。以下、様々な変形例について説明する。
【００７１】
（変形例１）
【００７２】
上記実施の形態では、原稿がどの程度傾いているかを示すデータとして傾き角度θを求めたが、傾きの度合いを示すデータであれば、傾き角度θに限定されない。例えば、tanθを傾きの度合いを示すデータとして求めても良い。
【００７３】
また、傾き角度θを求める場合に、（１）式を用いて求めたが、エッジ位置と傾き角度とを対応付けて記憶したテーブルを予め生成しておき、ＨＤＤ３２などの記憶手段に記憶しておくようにしてもよい。この場合には、ＣＰＵ１２は、該テーブルを参照して傾き角度θを求める。
【００７４】
（変形例２）
【００７５】
上記実施の形態では、レジ側のエッジ位置Ｅ１１，Ｅ１２，Ｅ１３の各々とレジ側基準位置Ｑ１との距離Ｘ１１、Ｘ１２、Ｘ１３を求めると共に、逆レジ側のエッジ位置Ｅ２１，Ｅ２２，Ｅ２３の各々と逆レジ側基準位置Ｑ２との距離Ｘ２１、Ｘ２２、Ｘ２３を求め、各距離の大小を比較して、原稿が傾いているか否かを判断し、傾いていると判断した場合に傾き角度θを求める例について説明した。しかしながら、本発明はこれに限定されるものではなく、例えば、傾いているか否かを判断することなく、まず傾き角度θを求め、該傾き角度θから傾いているか否か、又は補正するか否かを判断するようにしてもよい。
【００７６】
（変形例３）
【００７７】
また、上記実施の形態では、傾き角度θが予め設定された閾値を超えた場合に、傾き補正する例について説明したが、傾き補正せずに、傾いていることや傾き角度θを利用者に報知するようにしてもよい。また、傾き角度θが予め設定された閾値を超えなくても、傾き角度θを利用者に報知して、補正するか、再度読取りを行うかを利用者に判断させるようにしてもよい。また、傾き角度θがどのような値であっても、一律に傾き補正をするようにしてもよい。
【００７８】
また、ステップ１０６の判定結果（傾いているか否か）を利用者に報知するようにし、ステップ１０８〜１１０の傾き角度θの算出や傾き補正等を行わない構成としてもよい。
【００７９】
（変形例４）
【００８０】
また、上記実施の形態では、３本のラインセンサ８０を用いる例について説明したが、２本以上のラインセンサを用いる構成であればよく、例えば、２本でもよいし、４本でもよい。なお、２本のラインセンサを用いる場合には、以下のように傾き検出するようにしてもよい。
【００８１】
ここで、図３及び図５を参照しながら、２本のラインセンサ８０を用いる場合の傾き検出処理の一例について説明する。なお、図５は、２本のラインセンサ８０の読取結果に基づいて行われる傾き検出処理の一例を説明する説明図である。
【００８２】
ステップ１００〜１０２は、上記実施の形態と同様に行う。
【００８３】
ステップ１０４では、ＣＰＵ１２は、ステップ１０２で読み取って得られた画像信号から、エッジ検出処理を行う。ここでは、原稿が読み取り位置に到達してから予め定められた時間t1，およびt2経過したときに読み取られた各ラインの画像信号を用いてエッジ検出処理を行う。
【００８４】
図５では、時間t1が経過したときに読み取られた各ラインをＬ１ａ、Ｌ２ａで示し、時間t2が経過したときに読み取られた画像信号のラインをＬ１ｂ、Ｌ２ｂで示した。
【００８５】
また、ラインＬ１ａの画像信号に基づいてラインＬ１ａ上の検出されたエッジ位置がＥ１１ａ，Ｅ１２ａであり、ラインＬ２ａの画像信号に基づいてラインＬ２ａ上の検出されたエッジ位置がＥ１２ａ，Ｅ２２ａである。また、ラインＬ１ｂの画像信号に基づいて検出されたラインＬ１ｂ上のエッジの位置がＥ１１ｂ，Ｅ２１ｂであり、ラインＬ２ｂの画像信号に基づいて検出されたラインＬ２ｂ上のエッジの位置がＥ１２ｂ，Ｅ２２ｂである。
【００８６】
ステップ１０６では、ＣＰＵ１２は、時間t1が経過したときに２本のラインセンサ８０により読み取られた画像信号、または時間t2が経過したときに２本のラインセンサ８０により読み取られた画像信号から検出されたエッジ位置に基づいて、原稿の傾きを判定する。
【００８７】
Ｌ１ａ及びＬ２ａのエッジ位置を用いる場合には、ＣＰＵ１２は、レジ側のエッジ位置Ｅ１１ａ，Ｅ１２ａの各々と、レジ側基準位置Ｑ１と、の距離Ｘ１１ａ、Ｘ１２ａを求める。また、ＣＰＵ１２は、逆レジ側のエッジ位置Ｅ２１ａ，Ｅ２２ａの各々と、逆レジ側基準位置Ｑ２と、の距離Ｘ２１ａ、Ｘ２２ａを求める。
【００８８】
ＣＰＵ１２は、求めた各々の距離を比較して、原稿が傾いているか否かを判定する。具体的には、Ｘ１１ａ＝Ｘ１２ａ、且つＸ２１ａ＝Ｘ２２ａの場合には、原稿は傾いていない、と判定する。また、ＣＰＵ１２は、Ｘ１１ａ＝Ｘ１２ａでない場合、且つＸ２１ａ＝Ｘ２２ａでない場合には、原稿は傾いていると判定する。図５に示した例では、Ｘ１１ａ≠Ｘ１２ａであって、Ｘ２１ａ≠Ｘ２２ａであるため、原稿が傾いていると判定される。
【００８９】
なお、ここでは、レジ側のエッジ位置及び逆レジ側のエッジ位置の双方を用いて、原稿が傾いているか否かを判定するようにしたが、レジ側のエッジ位置、及び逆レジ側のエッジ位置のいずれか一方を用いて原稿が傾いているか否かを判定するようにしてもよい。
【００９０】
ステップ１０６で、原稿が傾いていると判定された場合には、ステップ１０８に移行する。
【００９１】
ステップ１０８では、ＣＰＵ１２は、レジ側のエッジ位置及び逆レジ側のエッジ位置のいずれか一方を用いて、原稿がどの程度傾いているかを示す傾き角度θを算出する。ここでは、ＣＰＵ１２は、上記読み取られた各ラインのエッジ位置の各々と基準位置との距離の各々の大小関係を比較し、スキャン方向上流側（または下流側）の距離ほど大きくなっている、又は小さくなっていると判断された側のエッジ位置であって、時間t1が経過したときに読み取られた画像信号、または時間t2が経過したときに読み取られた画像信号から検出されたエッジ位置（ＸＡ，ＸＢ）を用いて、上記（１）のように計算する。
【００９２】
例えば、図５に示す例では、同一の辺から検出されたレジ側のエッジ位置Ｅ１１ａ，Ｅ１２ａ，Ｅ１１ｂ，Ｅ１２ｂの各々とレジ側基準位置Ｑ１との距離は、スキャン方向の上流側の距離ほど小さくなっている（Ｘ１１ａ＞Ｘ１２ａ＞Ｘ１１ｂ＞Ｘ１２ｂ）。一方、逆レジ側のエッジ位置Ｅ２１ａ，Ｅ２２ａ，Ｅ２１ｂ，Ｅ２２ｂの各々と逆レジ側基準位置Ｑ２との距離は、Ｘ２１ａ＞Ｘ２２ａ＞Ｘ２１ｂ＞Ｘ２２ｂの関係、およびＸ２１ａ＜Ｘ２２ａ＜Ｘ２１ｂ＜Ｘ２２ｂの関係のいずれも満たしていない。これは、Ｅ２１ａを検出した辺と、Ｅ２２ａ，Ｅ２１ｂ，Ｅ２２ｂを検出した辺とが異なるためである。従って、ＣＰＵ１２は、レジ側のエッジ位置を用いて傾き角度θを算出する。
【００９３】
なお、レジ側及び逆レジ側の双方で、エッジ位置の各々と基準位置との距離の各々距離が、スキャン方向上流側（または下流側）にいくほど大きくなっている又は小さくなっている場合には、どちらを使用して算出してもよい。
【００９４】
ステップ１１０〜ステップ１１２の処理は、上記実施の形態と同様であるため、説明を省略する。
【００９５】
なお、２本のラインセンサ８０を用いる場合であっても、ステップ１０６の判定結果（傾いているか否か）を利用者に報知するようにし、ステップ１０８〜１１０の傾き角度θの算出や傾き補正等を行わない構成としてもよい。
【００９６】
また、傾き角度θを算出しない場合には、１箇所（上記時間t1が経過したとき、または時間t2が経過したとき、のいずれか）で読み取られた読取結果を用いてエッジ検出を行い、傾き検出を行うようにしてもよい。また、傾き角度θを算出する場合であっても、傾き角度θがあまり大きくならないと想定される場合等には、予め定められた箇所で読み取られた読取結果を用いてエッジ検出を行い、レジ側及び逆レジ側のうち予め定められた側のエッジ位置を用いて傾き角度θの算出を行うようにしてもよい。
【００９７】
（変形例５）
【００９８】
上記実施の形態や、変形例１〜４では、読取り対象の原稿が、一般的な定形の原稿（４つ角が直角の四角形となるように生成された原稿）である場合に限定して説明したが、形状が台形や三角形の場合など、非定形の原稿を考慮して判定するようにしてもよい。
【００９９】
非定形の原稿を考慮する場合には、上記ステップ１０６において、以下のように処理するようにしてもよい。
【０１００】
まず、ステップ１０６で、ＣＰＵ１２は、Ｘ１１＝Ｘ１２＝Ｘ１３、Ｘ２１＝Ｘ２２＝Ｘ２３の場合には、原稿は定形であり傾いていない、と判定する。また、ＣＰＵ１２は、Ｘ１１＝Ｘ１２＝Ｘ１３でない場合、且つＸ２１＝Ｘ２２＝Ｘ２３でない場合には、原稿は傾いているか非定形であると判定する。ＣＰＵ１２は、原稿は傾いているか非定形であると判定した場合には、更に、（Ｘ１１−Ｘ１３）と（Ｘ２３−Ｘ２１）との差をとって、原稿が傾いている、または否定形、のいずれであるのかを判定する。上記差分が、予め定められた範囲から外れるような場合（例えば、原稿がレジ側と逆レジ側とが逆の傾きであった場合など)には、ＣＰＵ１２は、原稿は傾いているのではなく非定形原稿であると判定する。非定形原稿であると判定した場合には、ステップ１０６で否定判定し、傾き角度θの算出や傾き補正は行わない。また、（Ｘ１１−Ｘ１３）と（Ｘ２３−Ｘ２１）との差が予め定められた範囲内である場合には、ＣＰＵ１２は、原稿は傾いていると判定し、後段のステップで、傾き角度θを算出し、閾値を越えていれば傾き補正を行う。
【０１０１】
（変形例６）
【０１０２】
また、上記実施の形態や変形例１〜５では、原稿が傾いているか否かをレジ側及び逆レジ側の双方のエッジ位置に基づいて判定するようにしたが、予め定められた側、例えばレジ側、のエッジ位置に基づいて判定してもよい。この場合には、傾き角度θも、予め定められた側のエッジ位置に基づいて算出する。
【０１０３】
例えば、一辺が変形している形状の原稿を読み取る場合には、利用者は、変形していない他の辺を、原稿置き部に設けられた位置決め用の固定ガイドに突き当てて原稿をセットすることが多いことから、原稿を突き当てる側（本実施の形態ではレジ側）のエッジ位置に基づいて傾きを判定するように設定しておいてもよい。
【０１０４】
（変形例７）
【０１０５】
上記実施の形態や変形例１〜５では、傾き角度θ等の傾きの度合いを示すデータを求めるにあたり、レジ側のエッジ位置とレジ側基準位置Ｑ１との距離、及び逆レジ側のエッジ位置と逆レジ側基準位置Ｑ２との距離のどちらを使用するかについては、各エッジ位置が同一直線上に位置する（同一の辺から検出された）か否か等を判定基準として判定するようにしたが、どちらを用いるかを予め設定しておいてもよい。
【０１０６】
例えば、利用者は原稿を原稿置き部にセットするにあたり、通常は、原稿置き部に設けられた位置決め用の固定ガイドに原稿の一辺を突き当ててセットする。そこで、原稿を突き当てる側（上記実施の形態ではレジ側）のエッジ位置と基準位置との距離を、上記傾き角度θなどの傾きの度合いを示すデータを求める際に用いるように予め設定しておいてもよい。
【０１０７】
また、レジ側及びエッジ側の双方の傾き角度θを算出し、双方の算出結果が異なる場合には、いずれか一方を傾き角度として選択するようにしてもよい。例えば、レジ側と逆レジ側とで傾き角度θが異なる場合には、傾き補正するにあたり過補正にならないよう傾きが小さい方を選択するようにしてもよい。また、予め定められた側（例えば、レジ側）の傾き角度θを選択するようにしてもよい。
【０１０８】
（変形例８）
【０１０９】
上記実施の形態や変形例１〜７では、レジ側基準位置Ｑ１、逆レジ側基準位置Ｑ２の２つの基準位置を用いて、検出された原稿のエッジ位置との距離を求めて、原稿の傾きを判定する例について説明したが、使用する基準位置は１つであってもよい。基準位置が１つの場合には、１ラインで検出された２箇所のエッジ位置のうち、基準位置に近い方のエッジ位置のグループと、基準位置に遠い方のエッジ位置のグループとで区別して各々距離を求め、少なくとも一方のグループのエッジ位置を用いて、原稿が傾いているか否かの判定や傾き角度θの算出を行う。
【図面の簡単な説明】
【０１１０】
【図１】本発明の一実施形態に係る画像読取装置の概略構成を示すブロック図である。
【図２】スキャナの構成図である。
【図３】ＣＰＵが実行する画像読取時の傾き検出処理プログラムの流れの一例を示すフローチャートである。
【図４】３本のラインセンサの読取結果に基づいて行われる傾き検出処理の一例を説明する説明図である。
【図５】２本のラインセンサの読取結果に基づいて行われる傾き検出処理の一例を説明する説明図である。
【符号の説明】
【０１１１】
１０   画像読取装置
１２   ＣＰＵ
１４   ＲＡＭ
１６   ＲＯＭ
１８   Ｉ／Ｏインタフェース
２０   通信インタフェース
２２   バス
２４   ＣＤ−ＲＯＭドライブ
２８   ＦＤドライブ
３４   キーボード
３６   ポインティングデバイス
３８   ディスプレイ
４０   スキャナ
７８   ＣＣＤイメージセンサ
【図１】
2010062924.tif 000003
【図２】
2010062924.tif 000004
【図３】
2010062924.tif 000005
【図４】
2010062924.tif 000006
【図５】
2010062924.tif 000007