"原稿を読み取って読取データを生成する読取部と、前記読取データにおいて、平行な一対の検出ライン上からそれぞれ前記原稿のエッジの候補となる点を検出し、前記点同士を結ぶ直線の傾きを求める検出処理を行う検出部と、前記傾きの大きさを複数の範囲に分け、各範囲内の傾きが前記検出処理によって求められた回数をカウントするカウント部と、前記複数の範囲のいずれのカウントも所定の基準を満たさない場合に、前記検出部により前記一対の検出ラインのうち少なくとも一方の位置を変更して前記検出処理を繰り返し、前記複数の範囲のうち1つの範囲のカウントが前記基準を満たす場合に、当該1つの範囲の傾きを前記原稿の傾きを示す検出結果として決定する決定部と、を備える読取装置。請求項1に記載の読取装置において、前記検出部は、前記検出処理を行う度に、前記一対の検出ライン間の距離を変更する、読取装置。請求項2に記載の読取装置において、前記検出部は、前記検出処理を行う際に、前回の検出処理における前記一対の検出ラインのうち一方を他方から離間する側に移動させ、前記他方を前記一方から離間する側に移動させるかまたは移動させない、読取装置。請求項2または請求項3に記載の読取装置において、前記検出部は、前記一対の検出ラインが前記読取データにおける前記一方向の中央を挟んで両側に配置して前記検出処理を行う、読取装置。請求項1から請求項4のいずれか一項に記載の読取装置において、前記基準は、前記1つの範囲に2以上の所定回数連続して前記回数がカウントされることを条件として含む、読取装置。請求項1から請求項5のいずれか一項に記載の読取装置において、前記基準は、前記複数の範囲のカウントの総数に対する前記1つの範囲のカウントの割合が第1値以上であることを条件として含む、読取装置。請求項6に記載の読取装置において、前記決定部は、前記検出部により新たな検出ラインによる前記点の検出ができない場合に、前記複数の範囲のカウントの総数に対するカウントの割合が、前記第1値より小さい第2値以上である範囲の中で最大のカウントを有する範囲の傾きを検出結果として決定する、読取装置。請求項1から請求項7のいずれか一項に記載の読取装置において、前記基準は、前記1つの範囲が前記複数の範囲のうち最大のカウントを有することを条件として含む、読取装置。請求項1から請求項8のいずれか一項に記載の読取装置において、複数の原稿を1枚ずつ前記読取部の読取位置に供給する自動原稿供給装置を備える、読取装置。原稿を読み取って読取データを出力する読取装置と接続された端末装置において実行されるプログラムであって、前記端末装置に、前記読取データにおいて、平行な一対の検出ライン上からそれぞれ前記原稿のエッジの候補となる点を検出し、前記点同士を結ぶ直線の傾きを求める検出処理と、前記傾きの大きさを複数の範囲に分け、各範囲内の傾きが前記検出処理によって求められた回数をカウントする処理と、前記複数の範囲のいずれのカウントも所定の基準を満たさない場合に、前記一対の検出ラインのうち少なくとも一方の位置を変更して前記検出処理を繰り返し、前記複数の範囲のうち1つの範囲のカウントが前記基準を満たす場合に、当該1つの範囲の傾きを前記原稿の傾きを示す検出結果として決定する決定処理と、を実行させるプログラム。しかしながら、上記技術では、主走査方向の一端から他端まで多数の検出ラインについて検出を行うため、処理に時間がかかることがあった。本発明は上記のような事情に基づいて完成されたものであって、原稿の傾きを速やかに検出する技術を提供することを目的とする。本明細書によって開示される読取装置は、原稿を読み取って読取データを生成する読取部と、前記読取データにおいて、平行な一対の検出ライン上からそれぞれ前記原稿のエッジの候補となる点を検出し、前記点同士を結ぶ直線の傾きを求める検出処理を行う検出部と、前記傾きの大きさを複数の範囲に分け、各範囲内の傾きが前記検出処理によって求められた回数をカウントするカウント部と、前記複数の範囲のいずれのカウントも所定の基準を満たさない場合に、前記検出部により前記一対の検出ラインのうち少なくとも一方の位置を変更して前記検出処理を繰り返し、前記複数の範囲のうち1つの範囲のカウントが前記基準を満たす場合に、当該1つの範囲の傾きを前記原稿の傾きを示す検出結果として決定する決定部と、を備える。また、上記読取装置は、前記検出部が、前記検出処理を行う度に、前記一対の検出ライン間の距離を変更する構成としてもよい。また、上記読取装置は、前記検出部が、前記検出処理を行う際に、前回の検出処理における前記一対の検出ラインのうち一方を他方から離間する側に移動させ、前記他方を前記一方から離間する側に移動させるかまたは移動させない構成としてもよい。また、上記読取装置は、前記検出部が、前記一対の検出ラインが前記読取データにおける前記一方向の中央を挟んで両側に配置して前記検出処理を行う構成としてもよい。また、上記読取装置は、前記基準が、前記1つの範囲に2以上の所定回数連続して前記回数がカウントされることを条件として含む構成としてもよい。また、上記読取装置は、前記基準が、前記複数の範囲のカウントの総数に対する前記1つの範囲のカウントの割合が第1値以上であることを条件として含む構成としてもよい。また、上記読取装置は、前記決定部が、前記検出部により新たな検出ラインによる前記点の検出ができない場合に、前記複数の範囲のカウントの総数に対するカウントの割合が、前記第1値より小さい第2値以上である範囲の中で最大のカウントを有する範囲の傾きを検出結果として決定する構成としてもよい。また、上記読取装置は、前記基準が、前記1つの範囲が前記複数の範囲のうち最大のカウントを有することを条件として含む構成としてもよい。また、複数の原稿を1枚ずつ前記読取部の読取位置に供給する自動原稿供給装置を備える構成としてもよい。なお、この発明は、読取装置、端末装置、原稿の傾き検出方法、これらの装置の機能または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の種々の態様で実現することができる。本発明によれば、1つの範囲のカウントが基準を満たした場合には、その範囲内の傾きを原稿の傾きとして決定するため、基準を適宜設定することにより、一定数のラインについて常に検出を行う場合に比べて、速やかに検出結果を得ることができる。<実施形態1>次に本発明の実施形態1について図1から図5を参照して説明する。読取装置の構成図1は、読取装置10の電気的構成を概略的に示すブロック図である。同図に示すように、読取装置10は、制御部11、通信部17、ADF18、読取部19、操作部20、表示部21を備えている。制御部11は、特定用途向け集積回路ASICなどにより構成されており、CPU12、ROM13、RAM14、NVRAM15などを有している。ROM13は、後述する傾き検出処理など、読取装置10の各種動作を実行するための制御プログラムを記憶している。CPU12検出部、カウント部、決定部の一例は、ROM13から読み出したプログラムに従って各部の動作を制御する。RAM14は、CPU12の作業領域として用いられる揮発性のメモリであり、NVRAM15は、読取データや各種の設定値などを記憶する不揮発性のメモリである。通信部17は、例えばUSBUniversalSerialBusやLANLocalAreaNetworkなどのインターフェースであり、外部の機器と通信を行う。ADF自動原稿供給装置18は、複数の原稿30を積載可能なトレイ図示せずを有し、そのトレイに積載される原稿30を1枚ずつ読取部19の読取位置に搬送する。読取部19は、CISContactImageSensorやCCDChargeCoupledDeviceなどのイメージセンサを有し、読取位置において主走査方向に1ラインずつ走査を行い、読取データを生成して制御部11へ出力する。操作部20は、複数のボタンを備え、ユーザによる各種の指示の入力を受け付ける。表示部21は、ディスプレイやランプ等を備え、各種のメッセージや設定画面等を表示する。傾き検出処理次に読取データから原稿30の傾きを検出する傾き検出処理の動作について説明する。図2は、傾き検出処理のフローチャートであり、図3から図5は、傾き検出処理の手順を説明する図である。この傾き検出処理は、ADF18により複数の原稿30の読み取りを行う際に、各原稿30を読み取る毎に各原稿30を読み取った読取データに対して実行される。なお、傾き検出処理は、後述する検出エリアAを少なくとも含む原稿の一部の読み取りが終了した後に実行してもよいし、全ての原稿30の読み取りを終了した後に実行してもよい。CPU12は、傾き検出処理を開始すると、まずRAM14上に記憶された読取データから原稿30の先端部を含む検出エリアAの読取データを取得するS101。図3は、読取データに含まれる画像の一部を示している。検出エリアAは、主走査方向の全幅にわたり、副走査方向には原稿30の先端のエッジ30Aを含む長方形の領域である。検出エリアAは、原稿の搬送開始後の所定時間T1から所定時間T2までの読取データを示すエリアである。所定時間T1は原稿の先端部が読取センサに到着する前の時間となるように予め設定されており、所定時間T2は原稿の先端部が読取センサを通過して一定時間経過した時点の時間となるように、予め設定されている。CPU12は、検出エリアAの主走査方向における中心線31を右検出ラインR1と定める。なお、本実施形態では、原稿は傾きのない状態で搬送された場合にはその主走査方向の中心が中心線31に沿うように搬送される。そして、この右検出ラインR1上で原稿30の先端のエッジ30A原稿30と背景との境界部分を表す点P1以下、エッジ点ともいうを検出するS102。ここでは、例えば、右検出ラインR1の上端から下端へ向けて順に、周囲の画素に対する画素値の変化が所定の閾値以上となる画素を探索し、そのような画素が発見された場合にはその画素の座標をエッジ点P1とする。詳細には、ここで検出されるエッジ点は、エッジの候補となる画素であり、実際の原稿30のエッジ30Aが検出されることもあれば、例えば、原稿30や読取位置周辺に付着したゴミや汚れなど原稿30のエッジ30A以外のものが検出されることもある。なお、エッジ点を検出するには、公知の技術を適宜用いることができ、例えば、検出エリアAにエッジを強調するフィルタを適用し、続いてある閾値以上の画素を1、それ以外の画素を0とする2値化を行ってから、検出ライン上で値が1の画素を探索してもよい。続いて、CPU12は、中心線31から左にd[inch]の位置にある副走査方向に沿った直線を左検出ラインL1と定め、この左検出ラインL1上でエッジ点P2を検出するS103。次に、CPU12は、上記左右の検出ラインL1,R1のうちいずれか少なくとも一方でエッジ点が検出されたかを判断するS104。そして、少なくとも一方のエッジ点の検出された場合S104:YESには、さらに左右両方のエッジ点P1,P2が検出されたかを判断するS105。そして、CPU12は、左右両方のエッジ点P1,P2が検出された場合S105:YESには、それらのエッジ点P1,P2を結ぶ直線の主走査方向に対する傾きを求めるS106。次に、CPU12は、傾きの大きさを複数の範囲に分け、各範囲内の傾きが求められた回数をカウントするための領域をRAM14上に確保し、各範囲の初期のカウントを0として、算出された直線の傾きが該当する範囲のカウントを1増加させるS107。例えば、0.25°刻みで範囲を分ける場合に、1つの範囲を0.25x-0.125[°]以上0.25x0.125[°]未満xは整数と定義し、以下のような範囲の傾きの検出回数をカウントする。...0.625°以上0.875°未満中央値0.750°0.375°以上0.625°未満中央値0.500°0.125°以上0.375°未満中央値0.250°-0.125°以上0.125°未満中央値0.000°-0.375°以上-0.125°未満中央値-0.250°...例えば、検出された傾きが例えば0.500°である場合には、0.375°以上0.625°未満の範囲のカウントが1増加される。なお、ここでは、右側のエッジ点が左側のエッジ点より上側にある場合の傾きを正、下側にある場合の傾きを負で示している。また、中央値とは、各範囲の中央の値であり、言い換えれば、傾きを複数の階級に分けるときの階級値である。次にCPU12は、カウントを増加した範囲のカウントが所定の基準を満たすかを判断するS108。本実施形態では、この基準は、傾きが2以上の所定回数例えば5回連続で同じ範囲にカウントされ、かつその範囲のカウントが最多であり、かつその範囲のカウントの全カウントに対する割合が第1割合第1値、例えば50以上であること、である。CPU12は、上記範囲のカウントが上記基準を満たさない場合S108:NO、あるいは、S105にて左右のエッジ点のうち一方が検出されない場合S105:NOには、直前に左検出ライン上でエッジ点の検出を行ったかを判断するS109。そして、直前に左検出ライン上で検出を行った場合S109:YESには、右検出ラインを右にd[inch]移動して、その右検出ライン上でエッジ点の検出を行うS110。また、直前に右検出ライン上で検出を行った場合S109:NOには、左検出ラインを左にd[inch]移動して、その左検出ライン上でエッジ点の検出を行うS111。そして、CPU12は、S104に戻り、左右の検出ラインの検出について同様の動作を繰り返す。なお、S110またはS111において、検出ラインが検出エリアAの端に達し、検出ラインを移動できない場合には、エッジ点は検出されなかったと判断する。このように、傾き検出処理では、左右一対の検出ラインについてエッジ点を検出して傾きの算出する処理を行った後、S108の基準が満たされなければ左右いずれか一方の検出ラインを順に外側に移動させて、傾きを求める処理を繰り返し行う。図3に示すように、最初に検出ラインL1,R1でエッジ点P1,P2を検出し、傾きを算出した後、図4に示すように、右検出ラインR1を右にd移動した検出ラインR2上でエッジ点P3を検出し、そのエッジ点P3と、先に左検出ラインL1で検出されたエッジ点P2とを結ぶ直線の傾きを算出し、該当する範囲のカウントを1増加する。続いて図5に示すように、左検出ラインL1を左にd移動した検出ラインL2上でエッジ点P4を検出し、そのエッジ点P4と先に右検出ラインR2で検出されたP3との直線の傾きを算出し、該当する範囲のカウントを1増加する。このように、一回傾きを算出する度に、左右の検出ラインが交互に外側に移動され、左右のエッジ点間の主走査方向における間隔が徐々に広くなる。ここで、例えば、原稿30のエッジ30Aに傷32がある場合には、本来のエッジ30Aと異なる位置にエッジ点P6が検出されることがある。この場合、そのエッジ点P6と、他のエッジ点P5またはP7とを結ぶ直線の傾きを求めると、本来のエッジ30A上にあるエッジ点を用いて求めた傾きと異なる範囲にカウントされることになる。なお、エッジ点としてゴミや汚れ等が検出された場合も同様である。そこで、CPU12は、S108にて範囲のカウントが上述の基準を満たすかを判断し、その基準を満たす場合S108:YESには、その最多カウントの範囲の傾き中央値を検出結果として決定しS112、この傾き検出処理を終了する。このように、ある範囲のカウントが上記基準を満たす場合には、その範囲の傾きは、上記傷32や汚れ等ではなく、本来の原稿30のエッジ30Aから検出された傾きである可能性が高いため、検出の精度を確保することができる。また、ある範囲のカウントが上記基準を満たすと判断された時点で、傾き検出処理を終了するため、早期に処理を終えることができる。また、CPU12は、図5のL7,R8のように、左右の検出ラインが原稿30の端または検出エリアAの端に至ると、S104にて左右の検出ラインが両方とも検出されないと判断しS104:NO、カウントが第2割合第2値以上の範囲が存在するかを判断するS113。この第2割合は、第1割合より小さい値であり、例えば30である。そして、CPU12は、カウントが第2割合以上の範囲が存在する場合S113:YESには、カウントが最多の範囲の傾きを検出結果として決定しS112、この傾き検出処理を終了する。また、カウントが第2割合以上の範囲が存在しない場合S113:NOには、傾き検出が失敗したと判断しS114、この傾き検出処理を終了する。上記傾き検出処理によって検出結果を得られた場合、CPU12は、対応する原稿30の読取データに対し原稿30の傾きを補正し、補正した読取データをNVRAM15等に保存する。本実施形態の効果以上のように本実施形態によれば、一対の検出ライン上でそれぞれエッジ点を検出し、両エッジ点を結ぶ直線の傾きを求めS106、傾きを複数の範囲に分けたときに各範囲内の傾きが求められた回数をカウントするS107。そして、複数の範囲のいずれかのカウントが基準を満たさない場合S108:NOには、検出ラインの位置を変更してS110,S111傾きの検出を繰り返し、1つの範囲のカウントが上記基準を満たす場合S108:YESには、その範囲の傾きを検出結果として決定するS112。これにより、1つの範囲のカウントが基準を満たした場合には、その範囲内の傾きを原稿30の傾きとして決定するため、基準を適宜設定することにより、一定数のライン、例えば全ての検出ラインL1~L7,R1~R8について常に検出を行う場合に比べて、速やかに検出結果を得ることができる。また、傾きの検出を行う度に、一対の検出ライン間の距離を拡大する。これにより、一対のエッジ点間の距離にバリエーションを持たせることができる。また、傾きの検出を行う度に、一対の検出ラインのうち一方を内側から外側へ移動させる。例えば、読取データの主走査方向における一端から他端に向かって検出ラインを移動する場合、原稿30の位置やサイズによっては、一端付近に原稿30のエッジ30Aがないため、初期の段階でエッジ点を検出できないことがある。これに対し、一対の検出ラインを内側から外側に移動することで、初期の段階からエッジ点を検出でき、それにより、速やかに目的の検出結果を得ることができる。また、一対の検出ラインが検出エリアAの主走査方向における中心線31を挟んで両側に配置されている。特にADF18による読み取りの際には、原稿30が主走査方向の中央に位置することが多いため、初期の段階で原稿30のエッジ点を検出できる可能性が高い。また、上記基準が、1つの範囲に2以上の所定回数連続して回数がカウントされることを条件として含んでいる。これにより、1つの範囲に所定回数連続して回数がカウントされた場合には、ノイズ等ではなく原稿30のエッジ30Aが検出された可能性が高いことから、検出の精度を確保することができる。また、上記基準が、複数の範囲のカウントの総数に対する1つの範囲のカウントの割合が第1値以上であることを条件として含んでいる。これにより、1つの範囲のカウントの割合が高い場合には、その範囲で検出された傾きが原稿30のエッジ30Aの傾きである可能性が高いことから、ノイズ等の影響を抑えて検出の精度を確保することができる。また、新たな検出ラインによるエッジ点の検出ができない場合に、複数の範囲のカウントの総数に対するカウントの割合が、第1割合より小さい第2割合以上である範囲の中で最大のカウントを有する範囲の傾きを検出結果として決定する。これにより、カウントが第1割合以上という条件で検出結果が決定されなかった場合でも、検出結果を決定することができる。また、上記基準が、1つの範囲が複数の範囲のうち最大のカウントを有することを条件として含む。これにより、1つの範囲のカウントが最大である場合には、その範囲で検出された傾きが原稿30のエッジ30Aの傾きである可能性が高いことから、検出の精度を確保することができる。<他の実施形態>本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。1上記実施形態では、本発明を読取装置に適用したものを示したが、本発明は、例えば、読取機能に加えて印刷機能やFAX通信機能を備えた複合機にも適用でき、また、端末装置などにも適用できる。例えば図6は、既述の読取装置10と接続される端末装置40の電気的構成を示すブロック図である。端末装置40は、汎用的なコンピュータであって、CPU41、ROM42、RAM43、HDD44、操作部45、表示部46、通信部47などを備えている。HDD44には、OSや、スキャナドライバや傾き検出処理を行うプログラムなどが記憶されている。通信部47は、USBやLANなどのインターフェースであって読取装置10と接続されている。ユーザが読取装置10に原稿30をセットした後、操作部45で読み取りの実行を選択すると、端末装置40のCPU41は、通信部47を介して読取装置10に読み取りの実行指示を送信する。読取装置10のCPU12は、読み取りの実行指示を受信すると、読取部19により原稿30を読み取って得られた読取データを端末装置40に送信する。端末装置40のCPU41は、読取データを受信すると、図2の傾き検出処理を実行して原稿30の傾きを検出し、読取データを補正する。2原稿の傾きの検出結果を決定する基準は、上述のものに限らず、適宜変更することができる。例えば、2以上の所定回数連続で同じ範囲にカウントされたこと傾きの検出回数が所定値例えば20以上で、かつある範囲のカウントが所定割合例えば40以上であることある範囲のカウントが所定値例えば10以上になったことなどをそれぞれ単独で基準としてもよく、あるいはこれらを含む複数の条件を組み合わせて基準としてもよい。3上記実施形態では、ADFによる読み取りを行うものを示したが、本発明は、ガラス面に載置された原稿を、読取部を移動しながら走査して読み取るいわゆるフラットベッド式の読取装置にも適用できる。4検出ラインの数や、検出の順序、位置などは適宜変更できる。例えば、原稿を一端寄り位置に配置して搬送される場合には、傾きを検出する毎に、検出ラインを一端寄り位置から他端側へ移動させてもよい。また、上記実施形態では、左右の検出ラインを一方ずつ移動させて傾きを検出するものを示したが、1回の傾きの検出毎に左右両方の検出ラインを移動させてもよい。さらに、傾きの検出毎に、検出ラインを外側から内側に移動させてもよく、あるいは、一対の検出ラインを一定の間隔で移動させてもよい。5上記実施形態では、検出部、カウント部、決定部をいずれも同じCPUによって実現する例を示したが、本発明によれば、これらは、互いに別のCPU、若しくはASICやその他の回路によって構成することができる。"