(57)【特許請求の範囲】
【請求項１】
主走査方向に原稿を読み取って読取データを生成する読取部と、
制御部と、
を備え、
前記制御部は、
前記読取データにおいて、前記主走査方向と直行する副走査方向に平行な一対の検出ライン上からそれぞれ前記原稿の端となる点を検出し、前記点同士を結ぶ直線の傾きを検出する検出処理と、
傾きの大きさに応じて複数の範囲に分け、前記検出処理毎に、前記検出処理によって検出された傾きが、前記範囲のいずれに属した回数をカウントする計数処理と、
前記計数処理によって、前記複数の範囲のいずれのカウントが所定の基準を満たすまで、前記一対の検出ラインのうち、少なくとも一方の位置を前記主走査方向に変更しながら前記検出処理を行う位置変更処理と、
前記計数処理によって、前記複数の範囲のうち１つの範囲のカウントが前記所定の基準を満たした場合に、前記所定の基準を満たした範囲の傾きの中央値を前記原稿の傾きとして決定する決定処理と、
を実行する読取装置。
【請求項２】
請求項１に記載の読取装置において、
前記制御部は、前記位置変更処理において、前記検出処理を行う度に、前記一対の検出ライン間の前記主走査方向における距離を変更する、読取装置。
【請求項３】
請求項２に記載の読取装置において、
前記制御部は、前記位置変更処理において、前記検出処理を行う度に、前記一対の検出ラインのうち、前記一方の位置を他方の位置から離間する側に移動させ、前記他方の位置を前記一方の位置から離間する側に移動させるかまたは移動させない、読取装置。
【請求項４】
請求項２または請求項３に記載の読取装置において、
前記一対の検出ラインは、前記読取データにおける前記主走査方向の中央を挟んで両側に配置されている、読取装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載の読取装置において、
前記所定の基準は、前記検出処理によって検出された傾きが、２以上の所定回数連続して前記１つの範囲に属したことを条件として含む、読取装置。
【請求項６】
請求項１から請求項４のいずれか一項に記載の読取装置において、
前記所定の基準は、前記複数の範囲のカウントの総数が所定値以上で、かつ前記総数に対する前記１つの範囲のカウントの割合が第１値以上であることを条件として含む、読取装置。
【請求項７】
請求項６に記載の読取装置において、
前記制御部は、
前記位置変更処理において、前記変更後の一対の検出ラインによる前記点の検出ができない場合に、更に、前記カウントの割合が、前記第１値より小さい第２値以上である範囲の中で最大のカウントを有する範囲の傾きの中央値を前記原稿の傾きとして決定する第２決定処理と、
を実行する読取装置。
【請求項８】
請求項１から請求項４のいずれか一項に記載の読取装置において、
前記所定の基準は、前記検出処理によって検出された傾きが、２以上の所定回数連続して前記１つの範囲に属し、かつ前記１つの範囲が前記複数の範囲のうち最大のカウントを有し、かつ前記複数の範囲のカウントの総数に対する前記１つの範囲のカウントの割合が第１値以上であることを条件として含む、読取装置。
【請求項９】
請求項１から請求項８のいずれか一項に記載の読取装置において、
複数の原稿を１枚ずつ前記読取部の読取位置に供給する自動原稿供給装置を備える、読取装置。
【請求項１０】
主走査方向に原稿を読み取って読取データを出力する読取装置と接続された端末装置において実行されるプログラムであって、
前記端末装置に、
前記読取データにおいて、前記主走査方向と直行する副走査方向に平行な一対の検出ライン上からそれぞれ前記原稿の端となる点を検出し、前記点同士を結ぶ直線の傾きを検出する検出処理と、
傾きの大きさに応じて複数の範囲に分け、前記検出処理毎に、前記検出処理によって検出された傾きが、前記範囲のいずれに属した回数をカウントする計数処理と、
前記計数処理によって、前記複数の範囲のいずれのカウントが所定の基準を満たすまで、前記一対の検出ラインのうち、少なくとも一方の位置を前記主走査方向に変更しながら前記検出処理を行う位置変更処理と、
前記計数処理によって、前記複数の範囲のうち１つの範囲のカウントが前記所定の基準を満たした場合に、前記所定の基準を満たした範囲の傾きの中央値を前記原稿の傾きとして決定する決定処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される発明は、原稿を読み取って得られる読取データから原稿の傾きを求める技術に関する。
【背景技術】
【０００２】
従来より、読取装置等において、原稿を読み取って得られる読取データから原稿のエッジの位置を検出し、原稿の傾きを求める技術が知られている。例えば、読取データの副走査方向に沿った検出ライン上で周囲の画素との画素値の変化が閾値以上となるような点をエッジの候補として検出する処理を、検出ラインを主走査方向の一端から他端へ移動させながら繰り返す。そして、検出された点群を直線近似して原稿の傾きを検出結果として決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−５８３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、主走査方向の一端から他端まで多数の検出ラインについて検出を行うため、処理に時間がかかることがあった。
【０００５】
本発明は上記のような事情に基づいて完成されたものであって、原稿の傾きを速やかに検出する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本明細書によって開示される読取装置は、原稿を読み取って読取データを生成する読取部と、前記読取データにおいて、平行な一対の検出ライン上からそれぞれ前記原稿のエッジの候補となる点を検出し、前記点同士を結ぶ直線の傾きを求める検出処理を行う検出部と、前記傾きの大きさを複数の範囲に分け、各範囲内の傾きが前記検出処理によって求められた回数をカウントするカウント部と、前記複数の範囲のいずれのカウントも所定の基準を満たさない場合に、前記検出部により前記一対の検出ラインのうち少なくとも一方の位置を変更して前記検出処理を繰り返し、前記複数の範囲のうち１つの範囲のカウントが前記基準を満たす場合に、当該１つの範囲の傾きを前記原稿の傾きを示す検出結果として決定する決定部と、を備える。
【０００７】
また、上記読取装置は、前記検出部が、前記検出処理を行う度に、前記一対の検出ライン間の距離を変更する構成としてもよい。
【０００８】
また、上記読取装置は、前記検出部が、前記検出処理を行う際に、前回の検出処理における前記一対の検出ラインのうち一方を他方から離間する側に移動させ、前記他方を前記一方から離間する側に移動させるかまたは移動させない構成としてもよい。
【０００９】
また、上記読取装置は、前記検出部が、前記一対の検出ラインが前記読取データにおける前記一方向の中央を挟んで両側に配置して前記検出処理を行う構成としてもよい。
【００１０】
また、上記読取装置は、前記基準が、前記１つの範囲に２以上の所定回数連続して前記回数がカウントされることを条件として含む構成としてもよい。
【００１１】
また、上記読取装置は、前記基準が、前記複数の範囲のカウントの総数に対する前記１つの範囲のカウントの割合が第１値以上であることを条件として含む構成としてもよい。
【００１２】
また、上記読取装置は、前記決定部が、前記検出部により新たな検出ラインによる前記点の検出ができない場合に、前記複数の範囲のカウントの総数に対するカウントの割合が、前記第１値より小さい第２値以上である範囲の中で最大のカウントを有する範囲の傾きを検出結果として決定する構成としてもよい。
【００１３】
また、上記読取装置は、前記基準が、前記１つの範囲が前記複数の範囲のうち最大のカウントを有することを条件として含む構成としてもよい。
【００１４】
また、複数の原稿を１枚ずつ前記読取部の読取位置に供給する自動原稿供給装置を備える構成としてもよい。
【００１５】
なお、この発明は、読取装置、端末装置、原稿の傾き検出方法、これらの装置の機能または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の種々の態様で実現することができる。
【発明の効果】
【００１６】
本発明によれば、１つの範囲のカウントが基準を満たした場合には、その範囲内の傾きを原稿の傾きとして決定するため、基準を適宜設定することにより、一定数のラインについて常に検出を行う場合に比べて、速やかに検出結果を得ることができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態１における読取装置の電気的構成を概略的に示すブロック図
【図２】傾き検出処理のフローチャート
【図３】傾き検出処理の手順を説明する図
【図４】傾き検出処理の手順を説明する図
【図５】傾き検出処理の手順を説明する図
【図６】読取装置と接続される端末装置の電気的構成を概略的に示すブロック図
【発明を実施するための形態】
【００１８】
＜実施形態１＞
次に本発明の実施形態１について図１から図５を参照して説明する。
【００１９】
（読取装置の構成）
図１は、読取装置１０の電気的構成を概略的に示すブロック図である。同図に示すように、読取装置１０は、制御部１１、通信部１７、ＡＤＦ１８、読取部１９、操作部２０、表示部２１を備えている。
【００２０】
制御部１１は、特定用途向け集積回路（ＡＳＩＣ）などにより構成されており、ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、ＮＶＲＡＭ１５などを有している。ＲＯＭ１３は、後述する傾き検出処理など、読取装置１０の各種動作を実行するための制御プログラムを記憶している。ＣＰＵ１２（検出部、カウント部、決定部の一例）は、ＲＯＭ１３から読み出したプログラムに従って各部の動作を制御する。ＲＡＭ１４は、ＣＰＵ１２の作業領域として用いられる揮発性のメモリであり、ＮＶＲＡＭ１５は、読取データや各種の設定値などを記憶する不揮発性のメモリである。
【００２１】
通信部１７は、例えばＵＳＢ（Universal Serial Bus）やＬＡＮ（Local Area Network）などのインターフェースであり、外部の機器と通信を行う。
【００２２】
ＡＤＦ（自動原稿供給装置）１８は、複数の原稿３０を積載可能なトレイ（図示せず）を有し、そのトレイに積載される原稿３０を１枚ずつ読取部１９の読取位置に搬送する。読取部１９は、ＣＩＳ（Contact Image Sensor）やＣＣＤ（Charge Coupled Device）などのイメージセンサを有し、読取位置において主走査方向に１ラインずつ走査を行い、読取データを生成して制御部１１へ出力する。
【００２３】
操作部２０は、複数のボタンを備え、ユーザによる各種の指示の入力を受け付ける。表示部２１は、ディスプレイやランプ等を備え、各種のメッセージや設定画面等を表示する。
【００２４】
（傾き検出処理）
次に読取データから原稿３０の傾きを検出する傾き検出処理の動作について説明する。図２は、傾き検出処理のフローチャートであり、図３から図５は、傾き検出処理の手順を説明する図である。
【００２５】
この傾き検出処理は、ＡＤＦ１８により複数の原稿３０の読み取りを行う際に、各原稿３０を読み取る毎に各原稿３０を読み取った読取データに対して実行される。なお、傾き検出処理は、後述する検出エリアＡを少なくとも含む原稿の一部の読み取りが終了した後に実行してもよいし、全ての原稿３０の読み取りを終了した後に実行してもよい。
【００２６】
ＣＰＵ１２は、傾き検出処理を開始すると、まずＲＡＭ１４上に記憶された読取データから原稿３０の先端部を含む検出エリアＡの読取データを取得する（Ｓ１０１）。図３は、読取データに含まれる画像の一部を示している。検出エリアＡは、主走査方向の全幅にわたり、副走査方向には原稿３０の先端のエッジ３０Ａを含む長方形の領域である。検出エリアＡは、原稿の搬送開始後の所定時間Ｔ１から所定時間Ｔ２までの読取データを示すエリアである。所定時間Ｔ１は原稿の先端部が読取センサに到着する前の時間となるように予め設定されており、所定時間Ｔ２は原稿の先端部が読取センサを通過して一定時間経過した時点の時間となるように、予め設定されている。
【００２７】
ＣＰＵ１２は、検出エリアＡの主走査方向における中心線３１を右検出ラインＲ１と定める。なお、本実施形態では、原稿は傾きのない状態で搬送された場合にはその主走査方向の中心が中心線３１に沿うように搬送される。そして、この右検出ラインＲ１上で原稿３０の先端のエッジ３０Ａ（原稿３０と背景との境界部分）を表す点Ｐ１（以下、エッジ点ともいう）を検出する（Ｓ１０２）。ここでは、例えば、右検出ラインＲ１の上端から下端へ向けて順に、周囲の画素に対する画素値の変化が所定の閾値以上となる画素を探索し、そのような画素が発見された場合にはその画素の座標をエッジ点Ｐ１とする。
【００２８】
詳細には、ここで検出されるエッジ点は、エッジの候補となる画素であり、実際の原稿３０のエッジ３０Ａが検出されることもあれば、例えば、原稿３０や読取位置周辺に付着したゴミや汚れなど原稿３０のエッジ３０Ａ以外のものが検出されることもある。なお、エッジ点を検出するには、公知の技術を適宜用いることができ、例えば、検出エリアＡにエッジを強調するフィルタを適用し、続いてある閾値以上の画素を１、それ以外の画素を０とする２値化を行ってから、検出ライン上で値が１の画素を探索してもよい。
【００２９】
続いて、ＣＰＵ１２は、中心線３１から左にｄ［inch］の位置にある副走査方向に沿った直線を左検出ラインＬ１と定め、この左検出ラインＬ１上でエッジ点Ｐ２を検出する（Ｓ１０３）。
【００３０】
次に、ＣＰＵ１２は、上記左右の検出ラインＬ１，Ｒ１のうちいずれか少なくとも一方でエッジ点が検出されたかを判断する（Ｓ１０４）。そして、少なくとも一方のエッジ点の検出された場合（Ｓ１０４：ＹＥＳ）には、さらに左右両方のエッジ点Ｐ１，Ｐ２が検出されたかを判断する（Ｓ１０５）。
【００３１】
そして、ＣＰＵ１２は、左右両方のエッジ点Ｐ１，Ｐ２が検出された場合（Ｓ１０５：ＹＥＳ）には、それらのエッジ点Ｐ１，Ｐ２を結ぶ直線の主走査方向に対する傾きを求める（Ｓ１０６）。
【００３２】
次に、ＣＰＵ１２は、傾きの大きさを複数の範囲に分け、各範囲内の傾きが求められた回数をカウントするための領域をＲＡＭ１４上に確保し、各範囲の初期のカウントを０として、算出された直線の傾きが該当する範囲のカウントを１増加させる（Ｓ１０７）。
【００３３】
例えば、０．２５°刻みで範囲を分ける場合に、１つの範囲を「（０．２５ｘ−０．１２５）［°］以上（０．２５ｘ＋０．１２５）［°］未満（ｘは整数）」と定義し、以下のような範囲の傾きの検出回数をカウントする。
…
０．６２５°以上０．８７５°未満（中央値０．７５０°）
０．３７５°以上０．６２５°未満（中央値０．５００°）
０．１２５°以上０．３７５°未満（中央値０．２５０°）
−０．１２５°以上０．１２５°未満（中央値０．０００°）
−０．３７５°以上−０．１２５°未満（中央値−０．２５０°）
…
【００３４】
例えば、検出された傾きが例えば０．５００°である場合には、０．３７５°以上０．６２５°未満の範囲のカウントが１増加される。なお、ここでは、右側のエッジ点が左側のエッジ点より上側にある場合の傾きを正、下側にある場合の傾きを負で示している。また、中央値とは、各範囲の中央の値であり、言い換えれば、傾きを複数の階級に分けるときの階級値である。
【００３５】
次にＣＰＵ１２は、カウントを増加した範囲のカウントが所定の基準を満たすかを判断する（Ｓ１０８）。本実施形態では、この基準は、傾きが２以上の所定回数（例えば５回）連続で同じ範囲にカウントされ、かつその範囲のカウントが最多であり、かつその範囲のカウントの全カウントに対する割合が第１割合（第１値、例えば５０％）以上であること、である。
【００３６】
ＣＰＵ１２は、上記範囲のカウントが上記基準を満たさない場合（Ｓ１０８：ＮＯ）、あるいは、Ｓ１０５にて左右のエッジ点のうち一方が検出されない場合（Ｓ１０５：ＮＯ）には、直前に左検出ライン上でエッジ点の検出を行ったかを判断する（Ｓ１０９）。そして、直前に左検出ライン上で検出を行った場合（Ｓ１０９：ＹＥＳ）には、右検出ラインを右にｄ［inch］移動して、その右検出ライン上でエッジ点の検出を行う（Ｓ１１０）。また、直前に右検出ライン上で検出を行った場合（Ｓ１０９：ＮＯ）には、左検出ラインを左にｄ［inch］移動して、その左検出ライン上でエッジ点の検出を行う（Ｓ１１１）。
【００３７】
そして、ＣＰＵ１２は、Ｓ１０４に戻り、左右の検出ラインの検出について同様の動作を繰り返す。なお、Ｓ１１０またはＳ１１１において、検出ラインが検出エリアＡの端に達し、検出ラインを移動できない場合には、エッジ点は検出されなかったと判断する。
【００３８】
このように、傾き検出処理では、左右一対の検出ラインについてエッジ点を検出して傾きの算出する処理を行った後、Ｓ１０８の基準が満たされなければ左右いずれか一方の検出ラインを順に外側に移動させて、傾きを求める処理を繰り返し行う。
【００３９】
図３に示すように、最初に検出ラインＬ１，Ｒ１でエッジ点Ｐ１，Ｐ２を検出し、傾きを算出した後、図４に示すように、右検出ラインＲ１を右にｄ移動した検出ラインＲ２上でエッジ点Ｐ３を検出し、そのエッジ点Ｐ３と、先に左検出ラインＬ１で検出されたエッジ点Ｐ２とを結ぶ直線の傾きを算出し、該当する範囲のカウントを１増加する。
【００４０】
続いて図５に示すように、左検出ラインＬ１を左にｄ移動した検出ラインＬ２上でエッジ点Ｐ４を検出し、そのエッジ点Ｐ４と先に右検出ラインＲ２で検出されたＰ３との直線の傾きを算出し、該当する範囲のカウントを１増加する。このように、一回傾きを算出する度に、左右の検出ラインが交互に外側に移動され、左右のエッジ点間の主走査方向における間隔が徐々に広くなる。
【００４１】
ここで、例えば、原稿３０のエッジ３０Ａに傷３２がある場合には、本来のエッジ３０Ａと異なる位置にエッジ点Ｐ６が検出されることがある。この場合、そのエッジ点Ｐ６と、他のエッジ点Ｐ５またはＰ７とを結ぶ直線の傾きを求めると、本来のエッジ３０Ａ上にあるエッジ点を用いて求めた傾きと異なる範囲にカウントされることになる。なお、エッジ点としてゴミや汚れ等が検出された場合も同様である。
【００４２】
そこで、ＣＰＵ１２は、Ｓ１０８にて範囲のカウントが上述の基準を満たすかを判断し、その基準を満たす場合（Ｓ１０８：ＹＥＳ）には、その最多カウントの範囲の傾き（中央値）を検出結果として決定し（Ｓ１１２）、この傾き検出処理を終了する。このように、ある範囲のカウントが上記基準を満たす場合には、その範囲の傾きは、上記傷３２や汚れ等ではなく、本来の原稿３０のエッジ３０Ａから検出された傾きである可能性が高いため、検出の精度を確保することができる。また、ある範囲のカウントが上記基準を満たすと判断された時点で、傾き検出処理を終了するため、早期に処理を終えることができる。
【００４３】
また、ＣＰＵ１２は、図５のＬ７，Ｒ８のように、左右の検出ラインが原稿３０の端または検出エリアＡの端に至ると、Ｓ１０４にて左右の検出ラインが両方とも検出されないと判断し（Ｓ１０４：ＮＯ）、カウントが第２割合（第２値）以上の範囲が存在するかを判断する（Ｓ１１３）。この第２割合は、第１割合より小さい値であり、例えば３０％である。
【００４４】
そして、ＣＰＵ１２は、カウントが第２割合以上の範囲が存在する場合（Ｓ１１３：ＹＥＳ）には、カウントが最多の範囲の傾きを検出結果として決定し（Ｓ１１２）、この傾き検出処理を終了する。また、カウントが第２割合以上の範囲が存在しない場合（Ｓ１１３：ＮＯ）には、傾き検出が失敗したと判断し（Ｓ１１４）、この傾き検出処理を終了する。
【００４５】
上記傾き検出処理によって検出結果を得られた場合、ＣＰＵ１２は、対応する原稿３０の読取データに対し原稿３０の傾きを補正し、補正した読取データをＮＶＲＡＭ１５等に保存する。
【００４６】
（本実施形態の効果）
以上のように本実施形態によれば、一対の検出ライン上でそれぞれエッジ点を検出し、両エッジ点を結ぶ直線の傾きを求め（Ｓ１０６）、傾きを複数の範囲に分けたときに各範囲内の傾きが求められた回数をカウントする（Ｓ１０７）。そして、複数の範囲のいずれかのカウントが基準を満たさない場合（Ｓ１０８：ＮＯ）には、検出ラインの位置を変更して（Ｓ１１０，Ｓ１１１）傾きの検出を繰り返し、１つの範囲のカウントが上記基準を満たす場合（Ｓ１０８：ＹＥＳ）には、その範囲の傾きを検出結果として決定する（Ｓ１１２）。
【００４７】
これにより、１つの範囲のカウントが基準を満たした場合には、その範囲内の傾きを原稿３０の傾きとして決定するため、基準を適宜設定することにより、一定数のライン、例えば全ての検出ラインＬ１〜Ｌ７，Ｒ１〜Ｒ８について常に検出を行う場合に比べて、速やかに検出結果を得ることができる。
【００４８】
また、傾きの検出を行う度に、一対の検出ライン間の距離を拡大する。これにより、一対のエッジ点間の距離にバリエーションを持たせることができる。
【００４９】
また、傾きの検出を行う度に、一対の検出ラインのうち一方を内側から外側へ移動させる。例えば、読取データの主走査方向における一端から他端に向かって検出ラインを移動する場合、原稿３０の位置やサイズによっては、一端付近に原稿３０のエッジ３０Ａがないため、初期の段階でエッジ点を検出できないことがある。これに対し、一対の検出ラインを内側から外側に移動することで、初期の段階からエッジ点を検出でき、それにより、速やかに目的の検出結果を得ることができる。
【００５０】
また、一対の検出ラインが検出エリアＡの主走査方向における中心線３１を挟んで両側に配置されている。特にＡＤＦ１８による読み取りの際には、原稿３０が主走査方向の中央に位置することが多いため、初期の段階で原稿３０のエッジ点を検出できる可能性が高い。
【００５１】
また、上記基準が、１つの範囲に２以上の所定回数連続して回数がカウントされることを条件として含んでいる。これにより、１つの範囲に所定回数連続して回数がカウントされた場合には、ノイズ等ではなく原稿３０のエッジ３０Ａが検出された可能性が高いことから、検出の精度を確保することができる。
【００５２】
また、上記基準が、複数の範囲のカウントの総数に対する１つの範囲のカウントの割合が第１値以上であることを条件として含んでいる。これにより、１つの範囲のカウントの割合が高い場合には、その範囲で検出された傾きが原稿３０のエッジ３０Ａの傾きである可能性が高いことから、ノイズ等の影響を抑えて検出の精度を確保することができる。
【００５３】
また、新たな検出ラインによるエッジ点の検出ができない場合に、複数の範囲のカウントの総数に対するカウントの割合が、第１割合より小さい第２割合以上である範囲の中で最大のカウントを有する範囲の傾きを検出結果として決定する。これにより、カウントが第１割合以上という条件で検出結果が決定されなかった場合でも、検出結果を決定することができる。
【００５４】
また、上記基準が、１つの範囲が複数の範囲のうち最大のカウントを有することを条件として含む。これにより、１つの範囲のカウントが最大である場合には、その範囲で検出された傾きが原稿３０のエッジ３０Ａの傾きである可能性が高いことから、検出の精度を確保することができる。
【００５５】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００５６】
（１）上記実施形態では、本発明を読取装置に適用したものを示したが、本発明は、例えば、読取機能に加えて印刷機能やＦＡＸ通信機能を備えた複合機にも適用でき、また、端末装置などにも適用できる。
【００５７】
例えば図６は、既述の読取装置１０と接続される端末装置４０の電気的構成を示すブロック図である。端末装置４０は、汎用的なコンピュータであって、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、ＨＤＤ４４、操作部４５、表示部４６、通信部４７などを備えている。ＨＤＤ４４には、ＯＳや、スキャナドライバや傾き検出処理を行うプログラムなどが記憶されている。通信部４７は、ＵＳＢやＬＡＮなどのインターフェースであって読取装置１０と接続されている。
【００５８】
ユーザが読取装置１０に原稿３０をセットした後、操作部４５で読み取りの実行を選択すると、端末装置４０のＣＰＵ４１は、通信部４７を介して読取装置１０に読み取りの実行指示を送信する。読取装置１０のＣＰＵ１２は、読み取りの実行指示を受信すると、読取部１９により原稿３０を読み取って得られた読取データを端末装置４０に送信する。端末装置４０のＣＰＵ４１は、読取データを受信すると、図２の傾き検出処理を実行して原稿３０の傾きを検出し、読取データを補正する。
【００５９】
（２）原稿の傾きの検出結果を決定する基準は、上述のものに限らず、適宜変更することができる。例えば、
・２以上の所定回数連続で同じ範囲にカウントされたこと
・傾きの検出回数が所定値（例えば２０）以上で、かつある範囲のカウントが所定割合（例えば４０％）以上であること
・ある範囲のカウントが所定値（例えば１０）以上になったこと
などをそれぞれ単独で基準としてもよく、あるいはこれらを含む複数の条件を組み合わせて基準としてもよい。
【００６０】
（３）上記実施形態では、ＡＤＦによる読み取りを行うものを示したが、本発明は、ガラス面に載置された原稿を、読取部を移動しながら走査して読み取るいわゆるフラットベッド式の読取装置にも適用できる。
【００６１】
（４）検出ラインの数や、検出の順序、位置などは適宜変更できる。例えば、原稿を一端寄り位置に配置して搬送される場合には、傾きを検出する毎に、検出ラインを一端寄り位置から他端側へ移動させてもよい。また、上記実施形態では、左右の検出ラインを一方ずつ移動させて傾きを検出するものを示したが、１回の傾きの検出毎に左右両方の検出ラインを移動させてもよい。さらに、傾きの検出毎に、検出ラインを外側から内側に移動させてもよく、あるいは、一対の検出ラインを一定の間隔で移動させてもよい。
【００６２】
（５）上記実施形態では、検出部、カウント部、決定部をいずれも同じＣＰＵによって実現する例を示したが、本発明によれば、これらは、互いに別のＣＰＵ、若しくはＡＳＩＣやその他の回路によって構成することができる。
【符号の説明】
【００６３】
１０…読取装置、１２…ＣＰＵ、１８…ＡＤＦ、１９…読取部、４０…端末装置、４１…ＣＰＵ
【図１】
0005440580.tif 000002
【図２】
0005440580.tif 000003
【図３】
0005440580.tif 000004
【図４】
0005440580.tif 000005
【図５】
0005440580.tif 000006
【図６】
0005440580.tif 000007