(57)【特許請求の範囲】
【請求項１】
原稿画像を含む読取画像を入力する入力部と、
制御部と、
を備え、
前記制御部は、
前記読取画像の一方の辺から当該一方の辺と直交する第１方向に前記原稿画像の端の一点を検索して特定し、その一点を基準として前記読取画像から前記読取画像の変化点を検索する検索範囲を決定する検索範囲決定処理と、
前記検索範囲のうち、前記第１方向と逆方向における端辺である逆方向端辺を開始点とし、前記開始点から前記第１方向に前記変化点を検索する変化点検索処理と、
前記変化点検索処理によって検索された前記変化点から前記原稿画像の前記一方の辺に対する傾きを検出する傾き検出処理と、
を実行し、
前記第１方向における前記一点から前記端辺までの距離は、前記第１方向における前記一点から前記一方の辺までの距離よりも短く設定されている、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記検索範囲決定処理では、前記一点を前記検索範囲の前記第１方向における中心と決定する、画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記検索範囲決定処理では、前記読取画像のうち、前記入力部によって先に入力された側の辺から前記一点を特定する、画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
前記入力部は、原稿に対して相対移動しながら、前記第１方向と直交する主走査方向に前記原稿を読み取る読取部であり、
前記読取部は、前記原稿よりも広い範囲に設定された読取範囲で前記原稿を読み取る、画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記一点は、前記検索範囲の前記主走査方向における中心に配置されており、
前記変化点検索処理は、
前記検索範囲の前記主走査方向における中心から前記検索範囲の前記主走査方向一端側に向けて前記開始点を移動させて、前記開始点から前記主走査方向と直交する副走査方向に前記変化点の検索を行う第１変化点検索処理と、
前記検索範囲の前記主走査方向における中心から前記検索範囲の前記主走査方向他端側に向けて前記開始点を移動させて、前記開始点から前記副走査方向に前記変化点の検索を行う第２変化点検索処理と、
を含む、画像処理装置。
【請求項６】
請求項１ないし請求項５のいずれか一項に記載の画像処理装置であって、
前記読取画像は、前記第１方向及び前記第１方向と直交する方向に複数の読取データが並んで配置されて構成され、
前記制御部は、
前記読取画像において閾値よりも低い輝度を有する前記読取データを第１データとし、前記読取画像において前記閾値よりも高い輝度を有する前記読取データを第２データとした２値化されたデータであるエッジ画像として前記読取画像を抽出する画像抽出処理を更に実行し、
前記検索範囲決定処理及び前記変化点検索処理では、画像抽出処理によって抽出された前記エッジ画像を用いて処理を行う、画像処理装置。
【請求項７】
請求項１ないし請求項６のいずれか一項に記載の画像処理装置であって、
前記制御部は、
前記傾き検出処理が検出した傾きから前記読取画像に含まれる前記原稿画像の頂点位置を検出し、前記原稿画像の大きさを求めるサイズ検出処理を更に実行する、画像処理装置。
【請求項８】
請求項１ないし請求項７のいずれか一項に記載の画像処理装置であって、
前記制御部は、
前記傾き検出処理が検出した傾きから前記読取画像の傾き補正を行う傾き補正処理を更に実行する、画像処理装置。
【請求項９】
請求項４に記載の画像処理装置であって、
前記制御部は、
前記傾き検出処理が検出した傾きから前記読取画像の傾き補正を行う傾き補正処理を実行可能であり、
前記読取画像に前記傾き補正を行うことができる最大の傾きである最大傾きが予め決定されており、
前記検索範囲決定処理では、前記読取部により先に読み取られた側の辺から前記主走査方向と直交する副走査方向に前記一点を特定し、前記読取部の前記主走査方向における読取幅と前記最大傾きの正接値の積から前記検索範囲の前記副走査方向における幅を決定する、画像処理装置。
【請求項１０】
請求項９に記載の画像処理装置であって、
前記一点は、前記検索範囲の前記主走査方向における中心に配置されており、
前記変化点検索処理は、
前記検索範囲の前記主走査方向における中心から前記検索範囲の前記主走査方向一端側に向けて前記開始点を移動させて、前記開始点から前記主走査方向と直交する副走査方向に前記変化点の検索を行う第１変化点検索処理と、
前記検索範囲の前記主走査方向における中心から前記検索範囲の前記主走査方向他端側に向けて前記開始点を移動させて、前記開始点から前記副走査方向に前記変化点の検索を行う第２変化点検索処理と、
を含む、画像処理装置。
【請求項１１】
請求項９または請求項１０に記載の画像処理装置であって、
前記読取画像は、前記第１方向及び前記第１方向と直交する方向に複数の読取データが並んで配置されて構成され、
前記制御部は、
前記読取画像において閾値よりも低い輝度を有する前記読取データを第１データとし、前記読取画像において前記閾値よりも高い輝度を有する前記読取データを第２データとした２値化されたデータであるエッジ画像として前記読取画像を抽出する画像抽出処理を更に実行し、
前記検索範囲決定処理及び前記変化点検索処理では、画像抽出処理によって抽出された前記エッジ画像を用いて処理を行う、画像処理装置。
【請求項１２】
請求項９ないし請求項１１のいずれか一項に記載の画像処理装置であって、
前記制御部は、
前記傾き検出処理が検出した傾きから前記読取画像に含まれる前記原稿画像の頂点位置を検出し、前記原稿画像の大きさを求めるサイズ検出処理を更に実行する、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される発明は、搬送される原稿の傾きを求めて傾き補正を行う画像処理装置に用いられる技術に関する。
【背景技術】
【０００２】
従来から、搬送される原稿の傾きを求めて傾き補正を行う装置が知られている（例えば、特許文献１）。この装置では、読取ユニットを用いて原稿の先端部を含む範囲に対しプレスキャン動作を実行して画像データを生成し、この画像データに対してエッジ検出処理を実行して生成したエッジ画像データを用いて原稿推定処理を実行する。原稿推定処理では、原稿の先端側のエッジを意味する下エッジを検出する下エッジ検出処理において、検査位置をエッジ画像データの先端、つまりのエッジ画像データ副走査方向と逆方向における端から副走査方向に移動させてエッジ点の抽出を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１６４８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のように、従来技術では、副走査方向において、エッジ画像データの先端からエッジ点の検出が行われていた。しかし、エッジ画像データでは、その先端においてエッジ点が存在しないことがあるため、従来技術のエッジ点の検出方法では、必要以上にエッジ点の検出が行われ、原稿の傾きを求めるまでの時間が長期化してしまう問題が生じていた。
【０００５】
本発明は、搬送される原稿の傾きを求めて傾き補正を行う画像処理装置において、原稿の傾きを求めるまでの時間を短縮する技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される画像処理装置は、原稿画像を含む読取画像を入力する入力部と、制御部と、を備え、前記制御部は、前記読取画像の一方の辺から当該一方の辺と直交する第１方向に前記原稿画像の端の一点を検索して特定し、その一点を基準として前記読取画像から前記読取画像の変化点を検索する検索範囲を決定する検索範囲決定処理と、前記検索範囲のうち、前記第１方向と逆方向における端辺である逆方向端辺を開始点とし、前記開始点から前記第１方向に前記変化点を検索する変化点検索処理と、前記変化点検索処理によって検索された前記変化点から前記原稿画像の前記一方の辺に対する傾きを検出する傾き検出処理と、を実行し、前記第１方向における前記一点から前記端辺までの距離は、前記第１方向における前記一点から前記一方の辺までの距離よりも短く設定されている。
【０００７】
また、上記の画像処理装置では、前記検索範囲決定処理において、前記一点を前記検索範囲の前記第１方向における中心と決定する構成としても良い。
【０００８】
また、上記の画像処理装置では、前記検索範囲決定処理において、前記読取画像のうち、前記入力部によって先に入力された側の辺から前記一点を特定する構成としても良い。
【０００９】
また、上記の画像処理装置では、前記入力部は、原稿に対して相対移動しながら、前記第１方向と直交する主走査方向に前記原稿を読み取る読取部であり、前記読取部は、前記原稿よりも広い範囲に設定された読取範囲で前記原稿を読み取る構成としても良い。
【００１０】
また、上記の画像処理装置では、前記制御部は、前記傾き検出処理が検出した傾きから前記読取画像の傾き補正を行う傾き補正処理を実行可能であり、前記読取画像に前記傾き補正を行うことができる最大の傾きである最大傾きが予め決定されており、前記検索範囲決定処理では、前記読取部により先に読み取られた側の辺から前記主走査方向と直交する副走査方向に前記一点を特定し、前記読取部の前記主走査方向における読取幅と前記最大傾きの正接値の積から前記検索範囲の前記副走査方向における幅を決定する構成としても良い。
【００１１】
また、上記の画像処理装置では、前記変化点検索処理は、前記検索範囲の前記主走査方向における中心から前記検索範囲の前記主走査方向一端側に向けて前記開始点を移動させて、前記開始点から前記主走査方向と直交する副走査方向に前記変化点の検索を行う第１変化点検索処理と、前記検索範囲の前記主走査方向における中心から前記検索範囲の前記主走査方向他端側に向けて前記開始点を移動させて、前記開始点から前記副走査方向に前記変化点の検索を行う第２変化点検索処理と、を含む構成としても良い。
【００１２】
また、上記の画像処理装置では、前記読取画像は、前記第１方向及び前記第１方向と直交する方向に複数の読取データが並んで配置されて構成され、前記制御部は、前記読取画像において閾値よりも低い輝度を有する前記読取データを第１データとし、前記読取画像において前記閾値よりも高い輝度を有する前記読取データを第２データとした２値化されたデータであるエッジ画像として前記読取画像を抽出する画像抽出処理を更に実行し、前記検索範囲決定処理及び前記変化点検索処理では、画像抽出処理によって抽出された前記エッジ画像を用いて処理を行う構成としても良い。
【００１３】
また、上記の画像処理装置では、前記制御部は、前記傾き検出処理が検出した傾きから前記読取画像に含まれる前記原稿画像の頂点位置を検出し、前記原稿画像の大きさを求めるサイズ検出処理を更に実行する構成としても良い。
【００１４】
また、上記の画像処理装置では、前記制御部は、前記傾き検出処理が検出した傾きから前記読取画像の傾き補正を行う傾き補正処理を更に実行する構成としても良い。
【発明の効果】
【００１５】
本明細書によって開示される画像処理装置では、読取画像の変化点を検索する際に、第１方向において、原稿画像の端の一点に対して読取画像の一方の辺よりも近接して設定される検索範囲の逆方向端辺から第１方向に変化点を検索する。そのため、読取画像の一方の辺から変化点を検索していた従来技術に比べて、検索に必要な時間、特に変化点が検索される場合の検索に必要な時間を短縮することができ、原稿画像の傾き、つまり原稿の傾きを求めるまでの時間を短縮することができる。
【図面の簡単な説明】
【００１６】
【図１】画像読取装置の概略的な断面図
【図２】画像読取装置の電気的構成を概略的に示すブロック図
【図３】読取処理を示すフローチャート
【図４】解析処理を示すフローチャート
【図５】中心先端エッジデータ探索処理を示すフローチャート
【図６】中心先端エッジデータ探索処理を説明する図
【図７】左側先端エッジデータ検索処理を示すフローチャート
【図８】左側先端エッジデータ検索処理を示すフローチャート
【図９】左側先端エッジデータ検索処理を説明する図
【図１０】変換処理を示すフローチャート
【発明を実施するための形態】
【００１７】
＜実施形態＞
本発明の一実施形態を、図１ないし図１０を用いて説明する。
【００１８】
１．画像読取装置の機械的構成
図１は、本実施形態の画像読取装置１の概略的な断面図である。画像読取装置１は、画像処理装置の一例である。画像読取装置１は、給紙トレイ２と、本体部３と、排紙トレイ４と、を含む。画像読取装置１は、ユーザにより給紙トレイ２に載置された複数の原稿Ｇを排紙トレイ４に搬送するとともに、搬送中の原稿Ｇを本体部３に含まれるＣＩＳ２４を用いて読み取るシートフィードスキャナである。
【００１９】
本体部３には、給紙トレイ２と排紙トレイ４を接続する搬送経路２２が設けられており、この搬送経路２２の周辺に、給紙ローラ２０と、分離パッド２１と、搬送ローラ２３と、ＣＩＳ２４と、フロントセンサ（以下、Ｆセンサ）２５と、リアセンサ（以下、Ｒセンサ）２６と、を備える。ＣＩＳ２４は、入力部及び読取部の一例である。
【００２０】
給紙ローラ２０は、給紙トレイ２に載置された原稿Ｇに当接しており、摩擦力により、給紙トレイ２に載置された複数枚の原稿Ｇを本体部３の内部へと引き込む。分離パッド２１は、摩擦力により、複数枚の原稿Ｇを１枚の原稿Ｇに分離する。給紙トレイ２に載置された複数枚の原稿Ｇは、これらによって、１枚の原稿Ｇに分離されて本体部３の内部へと引き込まれる。
【００２１】
搬送ローラ２３は、モータＭ（図２参照）により駆動され、本体部３の内部へと引き込まれた原稿Ｇを搬送経路２２上に搬送する。ＣＩＳ２４は、その読取方向である主走査方向Ｄ１が搬送経路２２に沿った搬送方向Ｄ２に直交する姿勢で搬送経路２２上に位置し、読取位置Ｌ１を通過する原稿Ｇを読み取る。
【００２２】
次に、ＣＩＳ２４の構造について説明する。ＣＩＳ２４は、複数の受光素子が主走査方向Ｄ１に直線状に配列されているリニアイメージセンサ３３、発光ダイオードなどで構成される光源３１、光源から照射される光を搬送経路２２上を搬送される原稿Ｇ等へと導く導光体３６、原稿Ｇ等で反射された反射光をリニアイメージセンサ３３の各受光素子に結像させるロッドレンズアレイ３２、これらが搭載されるキャリッジ３４を含む。なお、本実施形態では、ＣＩＳを用いて画像読取装置が構成される例を用いて説明を行ったが、ＣＣＤを用いて画像読取装置が構成されていても良い。
【００２３】
また、搬送ローラ２３は、搬送経路２２上に搬送された原稿Ｇを排紙トレイ４に送り出す。搬送ローラ２３により排紙トレイ４に排紙された原稿Ｇは、排紙トレイ４に積層される。つまり、給紙ローラ２０と搬送ローラ２３とによって、給紙トレイ２に載置された原稿Ｇを搬送経路２２に沿って搬送する搬送部３０が形成されている。
【００２４】
Ｆセンサ２５は、給紙トレイ２に配置され、給紙トレイ２に原稿Ｇが載置された場合にオンし、給紙トレイ２に原稿Ｇが載置されていない場合にオフするように設定されている。Ｒセンサ２６は、搬送経路２２上のＣＩＳ２４よりも上流側に配置され、搬送経路２２上の検出位置Ｌ２を原稿Ｇが通過する場合にオンし、検出位置Ｌ２を原稿Ｇが通過していない場合にオフするように設定されている。
【００２５】
また、本体部３には、この他に、電源スイッチや各種設定ボタンからなり、ユーザからの操作指令等を受け付ける操作部５（図２参照）や、ＬＥＤからなり画像読取装置１の状況を表示する表示部６（図２参照）、及び入出力装置９等が含まれる。入出力装置９は、例えば、ＵＳＢメモリの接続部等からなり、ＣＩＳ２４を用いて原稿Ｇを読み取った画像を画像読取装置１外に持ち出すとともに、他の装置において読み取られた画像を画像読取装置１内のＲＡＭ１３に記憶するためのものである。
【００２６】
２．画像読取装置の電気的構成
図２は、画像読取装置１の電気的構成を概略的に示すブロック図である。図２に示すように、画像読取装置１は、画像読取装置１の各部を制御するＡＳＩＣ（特定用途向け集積回路）１０を含む。ＡＳＩＣ１０は、中央処理装置（以下、ＣＰＵ）１１と、ＲＯＭ１２と、ＲＡＭ１３と、デバイス制御部１４と、アナログフロントエンド（以下、ＡＦＥ）１５と、駆動回路１６と、画像処理回路１７と、を備え、これらにバス１８を介して、Ｆセンサ２５、Ｒセンサ２６などが接続されている。ＡＳＩＣ１０のうち、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、デバイス制御部１４と、を含む構成群１９は、制御部の一例である。
【００２７】
ＲＯＭ１２には、画像読取装置１の動作を制御するための各種のプログラムが記憶されており、ＣＰＵ１１は、ＲＯＭ２６から読み出したプログラムに従って、各部の制御を行う。デバイス制御部１４は、ＣＩＳ２４に接続されており、ＣＰＵ１１からの命令に基づいて、光源３１の点灯／消灯、及びリニアイメージセンサ３３による読み取りを制御する信号をＣＩＳ２４に送信する。ＣＩＳ２４は、デバイス制御部１４からの信号に基づいて、予め定められた読取領域に亘って原稿Ｇを読み取る。
【００２８】
ＣＩＳ２４は、搬送経路２２上を搬送される原稿Ｇに対して、リニアイメージセンサ３３の各受光素子を用いて読取領域に亘って繰り返し読取データを取得する。これにより、ＣＩＳ２４は、主走査方向Ｄ１及び主走査方向Ｄ１と直交する副走査方向Ｄ３に複数の読取データが並んで配置されて構成される読取画像を読み取ると、読取画像をＡＦＥ１５に出力する。読取領域は、原稿Ｇよりも広い範囲に設定されており、通常、読取画像には、原稿Ｇを読み取った原稿画像が含まれる。図６に示すように、読取画像の各読取データには、当該読取データが読み取られた受光素子及びタイミングに基づいて、主走査方向Ｄ１のＸ座標、及び副走査方向Ｄ３のＹ座標が設定される。副走査方向Ｄ３は、第１方向の一例である。
【００２９】
ＡＦＥ１５は、ＣＩＳ２４に接続されており、ＣＰＵ１１からの命令に基づいて、ＣＩＳ２４から出力されるアナログ信号である読取データをデジタル信号である階調データに変換する。ＡＦＥ１５は、変換したこの階調データを、バス１８を介してＲＡＭ１３に記憶する。画像処理回路１７は、ＲＡＭ１３に記憶された階調データに２値化処理やエンハンス処理等のエッジ抽出処理を行い、エッジ画像に変換する。画像処理回路１７は、２値化処理において、予め記憶された閾値と各読取データを比較し、閾値よりも低い輝度を有する読取データを「１」に変換し、閾値よりも高い輝度を有する読取データを「０」に変換する。そのため、エッジ画像は、「０」と「１」で表される２値化データとなる。「１」は、第１データの一例であり、「０」は、第２データの一例である。また、画像処理回路１７は、ＲＡＭ１３に記憶された階調データに傾き補正やトリミング処理等の補正処理を行う。画像処理回路１７により変換されたエッジ画像は、ＲＡＭ１３に記憶される。
【００３０】
駆動回路１６は、モータＭに接続されており、ＣＰＵ１１からの命令に基づいてパルス信号をモータＭに送信する。モータＭは、パルス信号の１パルスで、１ステップの回転角度分、回転駆動する。モータＭが１ステップ分駆動すると、搬送ローラ２３が駆動し、搬送経路２２上を原稿Ｇが所定距離の分だけ搬送される。ＣＰＵ１１は、原稿Ｇを搬送する際に、駆動回路１６を介してパルス信号をモータＭに送信し、これに従って搬送部３０は、そのパルス信号のパルスの数に規定距離を掛けた距離だけ原稿Ｇを搬送する。以後、駆動回路１６がモータＭに送信するパルス信号のパルスの数を、ステップ数と呼ぶ。
【００３１】
３．読取処理
次に、図３ないし図１０を参照して、原稿Ｇの画像を読み取る読取処理について説明する。本実施形態では、原稿Ｇとして長方形や正方形等の原稿角が直角である原稿Ｇを用いて読み取りを実行する。
【００３２】
図３は、ＣＰＵ１１が所定のプログラムに従って実行する読取処理のフローチャートを示す。ＣＰＵ１１は、Ｆセンサ２５を用いて画像読取装置１の給紙トレイ２に原稿Ｇが載置されたことが確認され、操作部５を介して原稿Ｇの読取指示が入力されると、処理を開始する。
【００３３】
ＣＰＵ１１は、処理を開始すると、駆動回路１６に指示を行う。すると、駆動回路１６は、ＣＰＵ１１の指示に基づいてモータＭにパルス信号を送信し、搬送部３０が原稿Ｇの搬送を開始する。ＣＰＵ１１は、ステップ数のカウントを開始する（Ｓ２）。ＣＰＵ１１は、Ｒセンサ２６を用いて搬送中の原稿Ｇの位置を検出し（Ｓ４：ＮＯ）、Ｒセンサ２６のオンによって、搬送経路２２上の検出位置Ｌ２に原稿Ｇが到達したことを検出する（Ｓ４：ＹＥＳ）。ＣＰＵ１１は、Ｒセンサ２６がオンしてから所定ステップ数がカウントされた後に原稿Ｇの読み取りを開始するようにデバイス制御部１４を用いてＣＩＳ２４を指示する（Ｓ６）。
【００３４】
ＣＰＵ１１は、原稿Ｇの読み取りの開始を指示すると、まず、ＣＩＳ２４によって、読取領域の先端側に設定された先端読取領域ＳＨの先端読取画像が読み取られる。図６に、ＣＩＳ２４によって読み取られた先端読取画像に後述するエッジ抽出処理を実行した先端エッジ画像ＳＧ示す。図６に示すように、先端読取領域ＳＨは、その副走査方向Ｄ３における幅Ｗが、原稿Ｇの先端を含む範囲に設定されている。そのため、先端読取画像には原稿を読み取った原稿画像が含まれ、先端エッジ画像ＳＧには、原稿画像の先端辺を示す先端エッジを読み取った画像が含まれる。
【００３５】
また、ＣＰＵ１１は、原稿Ｇの読み取りの開始を指示すると、画像処理回路１７を用いて先端読取画像を含む読取画像にエッジ抽出処理を実行する（Ｓ８）。エッジ抽出処理は、画像抽出処理の一例である。ＣＰＵ１１は、原稿Ｇの読取開始から幅Ｗに相当する所定ステップ数がカウントされるまで、先端読取画像の読み取り及びエッジ抽出処理を繰り返す（Ｓ１０：ＮＯ）。ＣＰＵ１１は、所定ステップ数がカウントされると（Ｓ１０：ＹＥＳ）、先端読取画像をエッジ抽出処理した先端エッジ画像ＳＧをＲＡＭ１３に記憶し、解析処理（Ｓ１２）に移行する。ＣＰＵ１１は、解析処理移行後も読取領域に亘って原稿Ｇの読み取り及びエッジ抽出処理を継続する。
【００３６】
（解析処理）
図５に、解析処理のフローチャートを示す。解析処理において、ＣＰＵ１１は、ＲＡＭ１３から先端エッジ画像ＳＧを読み出し、画像処理回路１７を用いてエッジ画像の先端エッジの読取データである先端エッジデータを検索する処理を実行する。以下の説明では、先端エッジデータのうち、読取領域の主走査方向Ｄ１の中心に存在する先端エッジデータを中心先端エッジデータと称し、読取領域の主走査方向Ｄ１の中心よりも主走査方向Ｄ１と逆方向に存在する先端エッジデータを左側先端エッジデータと称し、読取領域の主走査方向Ｄ１の中心よりも主走査方向Ｄ１に存在する先端エッジデータを右側先端エッジデータと称する。当該処理において、ＣＰＵ１１は、まず、中心先端エッジデータを検索する中心先端エッジデータ検索処理を実行する（Ｓ３２）。中心先端エッジデータは、原稿画像の端の一点の一例であり、中心先端エッジデータ検索処理は、検索範囲決定処理の一例である。
【００３７】
（中心先端エッジデータ検索処理）
図５に、中心先端エッジデータ検索処理のフローチャートを示す。中心先端エッジデータ検索処理において、ＣＰＵ１１は、先端エッジ画像ＳＧにおける主走査方向Ｄ１の中心に存在する読取データを検索点として選出し、この検索点を副走査方向Ｄ３に移動させて先端エッジデータを検索する。ＣＰＵ１１は、まず、検索点の開始点を（ＸＭ、Ｙ０）に設定する（Ｓ６２）。
【００３８】
図６に示すように、先端エッジ画像ＳＧにおいて、図面左上角の座標は（Ｘ０、Ｙ０）で表され、図面右下角の座標は（ＸＭＡＸ、ＹＴ）で表される。ＸＭは、Ｘ０とＸＭＡＸの中間値を意味しており、Ｘ０とＸＭＡＸの間の距離がＣＩＳ２４の主走査方向Ｄ１における読取幅Ｌを意味している。Ｙ０は、ＣＩＳ２４によって副走査方向Ｄ３に先に読み取られた側の辺における読取データのＹ座標、すなわち、先端エッジ画像ＳＧの副走査方向Ｄ３と逆方向における端辺、つまり先端辺のＹ座標を意味している。先端エッジ画像ＳＧの副走査方向Ｄ３における先端辺は、読取画像の一方の辺の一例である。
【００３９】
次に、ＣＰＵ１１は、開始点から副走査方向Ｄ３に検索点を移動させて先端エッジデータを検索する。ＣＰＵ１１は、まず、検索点が「１」であるか否かを確認する（Ｓ６４）。図６の下部に、先端エッジ画像ＳＧの主走査方向Ｄ１の中心に存在するエッジ画像を拡大して示す。図６に拡大して示すように、先端エッジ画像ＳＧでは、通常、原稿Ｇが存在しない領域を読み取ったエッジ画像は「０」で表され、先端エッジデータは「１」で表される。そのため、先端エッジデータは、読取データが変化する点、つまり読取画像の変化点ということができる。図６では、「０」のエッジ画像を白点で表示し、「１」のエッジ画像を黒点で表示している。先端エッジデータは、副走査方向Ｄ３において連続した２個の読取データによって表される。そのため、先端エッジ画像ＳＧにおいて、先端エッジデータは、副走査方向Ｄ３に「１」のエッジ画像が２個並んだものとして表される。
【００４０】
ＣＰＵ１１は、検索点が「０」である場合（Ｓ６４：ＮＯ）、検索点のＹ座標に１を加え、図６に矢印８３で示すように、今回の検索点に副走査方向Ｄ３に隣接する読取データを次回の検索点とする（Ｓ６６）。ＣＰＵ１１は、次回の検索点のＹ座標とＹＴを比較し（Ｓ６８）、次回の検索点のＹ座標がＹＴでない場合（Ｓ６８：ＮＯ）、Ｓ６４からの処理を繰り返す。一方、次回の検索点のＹ座標がＹＴである場合（Ｓ６８：ＹＥＳ）、つまり、中心先端エッジデータが検索されない場合には、解析処理を失敗したと判断し、表示部６等を用いてユーザに報知するとともに、読取処理を停止する。
【００４１】
また、ＣＰＵ１１は、検索点が「１」である場合（Ｓ６４：ＹＥＳ）、前回の検索点が「１」であったかを否かを確認する（Ｓ７０）。先端エッジ画像ＳＧでは、検索点が「１」となる場合として、検索点が先端エッジデータである場合の他に、原稿Ｇが存在しない領域を読み取った読取データにおいてもノイズ等の理由で「１」となる場合がある。図６では、ノイズ等の理由で「１」となった読取データを孤立点Ｂで示し、先端エッジデータを丸８４で囲って示す。丸８４には、先端エッジデータとして、副走査方向Ｄ３に２つ並んだ「１」の読取データが含まれる。一方、孤立点Ｂは、通常、副走査方向Ｄ３に連続して発生しない。
【００４２】
ＣＰＵ１１は、前回の検索点が「０」である場合（Ｓ７０：ＮＯ）、今回の検索点が先端エッジデータと孤立点Ｂのいずれに位置するかを区別することができないことから、先端エッジデータと判断しない。この場合、ＣＰＵ１１は、今回の検索点の座標を一端記憶し（Ｓ７２）、検索点のＹ座標に１を加え（Ｓ７４）、Ｓ６４からの処理を繰り返す。
【００４３】
一方、ＣＰＵ１１は、前回の検索点が「１」である場合（Ｓ７０：ＹＥＳ）、つまり前回及び今回の検索点が連続して「１」である場合、前回及び今回の検索点が先端エッジデータに位置していると判断する。この場合、中心先端エッジデータが検索されたと判断し、前回記憶した検索点の座標を中心先端エッジデータの座標としてＲＡＭ１３に記憶して特定する（Ｓ７６）。以下の説明では、中心先端エッジデータの座標を（ＸＭ、ＹＮ）で表す（Ｙ０＜ＹＮ＜ＹＴ）。
【００４４】
次に、ＣＰＵ１１は、中心先端エッジデータを基準として、検索範囲Ｅを決定する（Ｓ７８）。後述する左側先端エッジデータ検索処理及び右側先端エッジデータ検索処理では、この検索範囲Ｅにおいて左側先端エッジデータ及び右側先端エッジデータが検索される。図６に示すように、検索範囲Ｅは、主走査方向Ｄ１において、先端読取領域ＳＨと同一範囲に決定される。そのため、中心先端エッジデータは、検索範囲Ｅにおいても主走査方向Ｄ１の中心に配置される。その一方、検索範囲Ｅは、副走査方向Ｄ３において、先端読取領域ＳＨよりも狭い範囲に決定される。具体的には、下記のように、検索範囲Ｅの副走査方向Ｄ３における幅及び位置が決定される。
【００４５】
（検索範囲の副走査方向の幅の決定）
ＣＰＵ１１には、原稿Ｇを読み取るためのＣＩＳ２４の読取幅Ｌが伝達されており、ＲＯＭ１３には、後述する変換処理（Ｓ２２）において読取画像に傾き補正処理（Ｓ１４４）を行うことができる最大の傾きである最大傾きθＫが予め設定されて記憶されている。ＣＰＵ１１は、読取幅Ｌと最大傾きθＫの正接値の積から、検索範囲Ｅの副走査方向Ｄ３における幅である２αを決定する（図６参照）。
２α＝Ｌ×ｔａｎθＫ
【００４６】
（検索範囲の副走査方向の位置の決定）
ＣＰＵ１１は、検索範囲Ｅの副走査方向Ｄ３における位置の中心を、中心先端エッジデータのＹ座標と等しくなるように決定し、中心先端エッジデータ検索処理を終了する。これにより、検索範囲Ｅの副走査方向Ｄ３における範囲が、下記のように決定される。図６に示すように、検索範囲Ｅの副走査方向Ｄ３と逆方向における端辺、つまり先端辺のＹ座標は、Ｙ０よりも大きい値に設定され、検索範囲Ｅの副走査方向Ｄ３における端辺、つまり後端辺のＹ座標は、ＹＴよりも小さい値に設定される。検索範囲Ｅの先端辺は、逆方向端辺の一例である。
Ｙ０≦ＹＮ−α≦検索範囲ＥのＹ座標の範囲≦ＹＮ＋α≦ＹＴ
【００４７】
（左側先端エッジデータ検索処理）
次に、ＣＰＵ１１は、左側先端エッジデータを検索する左側先端エッジデータ検索処理を実行する（Ｓ３４）。左側先端エッジデータ検索処理は、第２変化点検索処理の一例である。図７、８に、左側先端エッジ検索処理のフローチャートを示す。左側先端エッジ探索処理において、ＣＰＵ１１は、検索範囲Ｅにおける先端エッジ画像ＳＧの主走査方向Ｄ１における中心より主走査方向Ｄ１と逆方向の範囲に存在する読取データを検索点として選出し、当該範囲において検索点を移動させて先端エッジデータを検索する。ＣＰＵ１１は、まず、検索を失敗した数を示す失敗カウンタＮをゼロとし（Ｓ８２）、検索点の開始点を（ＸＭ−Ｔ１、Ｙ０−α）、つまり、検索範囲Ｅの先端辺に設定する（Ｓ８４）。Ｔ１とは、２以上の整数に設定された規定数である。
【００４８】
次に、ＣＰＵ１１は、開始点から副走査方向Ｄ３に検索点を移動させて先端エッジデータを検索する。ＣＰＵ１１は、検索点が「１」であるか否かを確認し（Ｓ８６）、検索点が「０」である場合（Ｓ８６：ＮＯ）、検索点のＹ座標に１を加え、今回の検索点に副走査方向Ｄ３に隣接する読取データを次回の検索点とする（Ｓ８８）。ＣＰＵ１１は、次回の検索点のＹ座標と（ＹＮ＋α）を比較し（Ｓ９０）、次回の検索点のＹ座標が（ＹＮ＋α）、つまり、検索範囲Ｅの後端辺でない場合（Ｓ９０：ＮＯ）、Ｓ８６からの処理を繰り返す。
【００４９】
一方、ＣＰＵ１１は、検索点が「１」である場合（Ｓ８６：ＹＥＳ）、前回の検索点が「１」であったかを否かを確認する（Ｓ９２）。ＣＰＵ１１は、前回の検索点が「０」である場合（Ｓ９２：ＮＯ）、今回の検索点が先端エッジデータに位置していると判断しない。この場合、ＣＰＵ１１は、今回の検索点の座標を一端記憶する（Ｓ９４）とともに、図９に矢印８１で示すように、検索点のＹ座標に１を加え（Ｓ９６）、Ｓ８６からの処理を繰り返す。
【００５０】
一方、ＣＰＵ１１は、前回の検索点が「１」である場合（Ｓ９２：ＹＥＳ）、前回及び今回の検索点が先端エッジデータに位置していると判断する。この場合、左側先端エッジデータが検索されたと判断し、前回記憶した検索点の座標を左側先端エッジデータの座標としてＲＡＭ１３に記憶する（Ｓ９８）。ＣＰＵ１１は、失敗カウンタＮをゼロとし（Ｓ１００）、現在の開始点からの副走査方向Ｄ３における検索を終了する。
【００５１】
ＣＰＵ１１は、開始点を主走査方向Ｄ１と逆方向に移動させて、副走査方向Ｄ３における検索を繰り返す。ＣＰＵ１１は、図９に矢印８５に示すように、現在の開始点から主走査方向Ｄ１と逆方向に規定数Ｔ１移動させて、つまり、現在の開始点のＸ座標から規定数Ｔ１を減じて次回の開始点を設定する（Ｓ１０２）。ＣＰＵ１１は、次回の開始点のＸ座標とＸ０を比較し（Ｓ１０４）、次回の開始点のＸ座標がＸ０以上である場合（Ｓ１０４：ＮＯ）、Ｓ８６からの処理、つまり副走査方向Ｄ３における検索を繰り返す。
【００５２】
また、ＣＰＵ１１は、図８に矢印８６に示すように、先端エッジデータが検索される前に次回の検索点のＹ座標が（ＹＮ＋α）となった場合（Ｓ９０：ＹＥＳ）、現在の開始点からの副走査方向Ｄ３における検索において先端エッジデータが検索されなかったと判断する。この場合、ＣＰＵ１１は、失敗カウンタＮに１を加え（Ｓ１０６）、失敗カウンタＮを２と比較する（Ｓ１０８）。ＣＰＵ１１は、失敗カウンタＮが２でない場合（Ｓ１０８：ＮＯ）、Ｓ１０２からの処理を行う。
【００５３】
一方、ＣＰＵ１１は、失敗カウンタＮが２である場合（Ｓ１０８：ＹＥＳ）、つまり、図８に矢印８７に示すように、前回の開始点からの副走査方向Ｄ３における検索で先端エッジデータが検索されず、更に、現在の開始点からの副走査方向Ｄ３における検索で先端エッジデータが検索されない場合、左側先端エッジデータの検索を終了する。ＣＰＵ１１は、前回の開始点のＸ座標を左側外部座標Ｔ３としてＲＡＭ１３に記憶し（Ｓ１１０）、後述するＳ１１６からの処理に進む。また、ＣＰＵ１１は、先端エッジデータが検索されなくなる前に次回の開始点のＸ座標がＸ０よりも小さくなった場合（Ｓ１０４：ＹＥＳ）、後述するＳ１１６からの処理に進む。
【００５４】
Ｓ１１６からの処理において、ＣＰＵ１１は、図９にカッコ８８に示すように、検索された左側先端エッジデータを当該左側先端エッジデータが検索された順に３個毎の組とする（Ｓ１１６）。ＣＰＵ１１は、各組に含まれる先端エッジデータをそのＹ座標でソートし（Ｓ１１８）、これらの先端エッジデータのうち、Ｙ座標が中間値となる先端エッジデータを各組の代表先端エッジデータとして選出する（Ｓ１２０）。ＣＰＵ１１は、代表先端エッジデータの座標をＲＡＭ１３に記憶し（Ｓ１２２）、左側先端エッジデータ検索処理を終了する。
【００５５】
（右側原稿先端エッジ検索処理）
次に、ＣＰＵ１１は、右側先端エッジデータ検索処理を実行する（Ｓ３６）。右側先端エッジデータ検索処理は、第１変化点検索処理の一例である。右側先端エッジデータ検索処理は、処理開始時に開始点を（ＸＭ＋Ｔ１、Ｙ０−α）に設定する点、開始点を主走査方向Ｄ１に規定数Ｔ２移動させて副走査方向Ｄ３における検索を繰り返す点、次回の開始点のＸ座標がＸＭＡＸ以下であるか否かを確認する点、を除いて他、左側先端エッジデータ検索処理と同一であり、重複した説明を省略する。規定数Ｔ２は、２以上の整数に設定されている。
【００５６】
ＣＰＵ１１は、左側先端エッジデータ検索処理と、右側先端エッジデータ検索処理とによって、それぞれ検索された代表先端エッジデータの座標をＲＡＭ１３から読み出し（Ｓ３８）、代表先端エッジデータが全体として複数個存在する場合（Ｓ４０：ＹＥＳ）、これらの座標を用いて代表先端エッジデータを直線近似し（Ｓ４２）、算出された直線式を先端エッジデータの直線式としてＲＡＭ１３に記憶する。算出された直線式は、Ｘ軸及びＹ軸を用いて表わすことができ、図９に示すように、直線式の傾きθは、Ｘ軸方向、つまり、先端エッジ画像ＳＧの先端辺に対する傾きを表す。一方、代表先端エッジデータが１つしか存在しない場合（Ｓ４０：ＮＯ）、解析処理を失敗したと判断し、ユーザに報知するとともに読取処理を停止する。
【００５７】
次に、ＣＰＵ１１は、左先端頂点データＬＴ１を検索する処理を実行する（Ｓ４６〜Ｓ５０）。左先端頂点データＬＴ１とは、先端エッジデータのうち、副走査方向Ｄ３と逆方向における端部の先端エッジデータを意味する。左先端頂点データＬＴ１の検索において、ＣＰＵ１１は、ＲＡＭ１３に左側外部座標Ｔ３が記憶されているか否かを確認し（Ｓ４６）、ＲＡＭ１３に左側外部座標Ｔ３が記憶されている場合（Ｓ４６：ＹＥＳ）、原稿Ｇの左端エッジの読取データである左端エッジデータを検索する。
【００５８】
ＣＰＵ１１は、検索点の開始点を（Ｔ３、ＹＮ＋α）に設定し、開始点から主走査方向Ｄ１に検索点を移動させて左端エッジデータを検索する。ＣＰＵ１１は、上述した先端エッジデータの直線式と直交する直線式であり、かつ左端エッジデータを通過する直線式を算出し（Ｓ４８）、算出された直線式を左端エッジデータの直線式としてＲＡＭ１３に記憶する。そして、先端エッジデータの直線式と左端エッジデータの直線式の交点を左先端頂点データＬＴ１として検出し（Ｓ５０）、その座標をＲＡＭ１３に記憶する。
【００５９】
一方、ＣＰＵ１１は、ＲＡＭ１３に左側外部座標Ｔ３が記憶されていない場合（Ｓ４６：ＮＯ）、先端エッジデータの直線式の、Ｘ座標がＸ０となる点を左先端頂点データＬＴ１として検出し、その座標をＲＡＭ１３に記憶する。
【００６０】
次に、ＣＰＵ１１は、右先端頂点データＲＴ１を検索する処理を実行する（Ｓ５２〜Ｓ５６）。右先端頂点データＲＴ１とは、先端エッジデータのうち、副走査方向Ｄ３における端部の先端エッジデータを意味する。右先端頂点データＲＴ１の検索において、ＣＰＵ１１は、ＲＡＭ１３に右側外部座標Ｔ４が記憶されているか否かを確認し（Ｓ５２）、ＲＡＭ１３に右側外部座標Ｔ４が記憶されている場合（Ｓ５２：ＹＥＳ）、原稿Ｇの右端エッジの読取データである右端エッジデータを検索する。
【００６１】
ＣＰＵ１１は、検索点の開始点を（Ｔ４、ＹＮ＋α）に設定し、開始点から主走査方向Ｄ１と逆方向に検索点を移動させて右端エッジデータを検索する。ＣＰＵ１１は、上述した先端エッジデータの直線式と直交する直線式であり、かつ右端エッジデータを通過する直線式を算出し（Ｓ５４）、算出された直線式を右端エッジデータの直線式としてＲＡＭ１３に記憶する。そして、先端エッジデータの直線式と右端エッジデータの直線式の交点を右先端頂点データＲＴ１として検出し（Ｓ５６）、その座標をＲＡＭ１３に記憶する。
【００６２】
一方、ＣＰＵ１１は、ＲＡＭ１３に右側外部座標Ｔ４が記憶されていない場合（Ｓ５２：ＮＯ）、先端エッジデータの直線式のうち、Ｘ座標がＸＭＡＸとなる点を右先端頂点データＲＴ１として検出し、その座標をＲＡＭ１３に記憶する。ＣＰＵ１１は、右先端頂点データＲＴ１の座標がＲＡＭ１３に記憶されると、解析処理を終了する。
【００６３】
ＣＰＵ１１は、解析処理の実行中、さらには解析処理の終了後も原稿Ｇの読み取り及びエッジ抽出処理を継続しており（Ｓ１４：ＮＯ）、Ｒセンサ２６がオフすると（Ｓ１４：ＹＥＳ）、Ｒセンサ２６がオフしてから所定ステップ数がカウントされた後に原稿Ｇの読み取りを終了する（Ｓ１６）とともに原稿Ｇの搬送を終了する（Ｓ１８）。以下、この搬送を終了した原稿Ｇを対象原稿Ｇと呼ぶ。ＣＰＵ１１は、対象原稿Ｇを読み取る際に、ＣＩＳ２４のリニアイメージセンサ３３の各受光素子が繰り返し読取データを取得した回数である全読取ライン数ＰＬを取得する（Ｓ２０）。ＣＰＵ１１は、取得した全読取ライン数ＰＬをＲＡＭ１３に記憶すると、変換処理（Ｓ２２）に移行する。
【００６４】
（変換処理）
図１０に、変換処理のフローチャートを示す。変換処理において、ＣＰＵ１１は、まず、対象原稿Ｇの後端エッジの読取データである後端エッジデータの直線式を算出する（Ｓ１３２）。ＣＰＵ１１は、ＲＡＭ１３から全読取ライン数ＰＬを読み出すと、上述した先端エッジデータの直線式をＹ軸方向に全読取ライン数ＰＬだけ平行移動させた直線式を算出し、算出された直線式を後端エッジデータの直線式としてＲＡＭ１３に記憶する。そして、左端エッジデータの直線式と後端エッジデータの直線式の交点を左後端頂点データＬＴ２として検出し（Ｓ１３４）、その座標をＲＡＭ１３に記憶する。また、右端エッジデータの直線式と後端エッジデータの直線式の交点を右後端頂点データＲＴ２として検出し（Ｓ１３６）、その座標をＲＡＭ１３に記憶する。ここで、左後端頂点データとは、後端エッジデータのうち、副走査方向Ｄ３と逆方向における端部の後端エッジデータを意味し、右後端頂点データとは、後端エッジデータのうち、副走査方向Ｄ３における端部の後端エッジデータを意味する。
【００６５】
次に、ＣＰＵ１１は、先端エッジデータの直線式の傾きθを、原稿画像の先端エッジ画像ＳＧの先端辺に対する傾き、つまり、対象原稿Ｇの先端エッジ画像ＳＧの先端辺に対する傾きとして検出する傾き検出処理を実行する（Ｓ１３８）。更に、ＣＰＵ１１は、左先端頂点データＬＴ１、右先端頂点データＲＴ１、左後端頂点データＬＴ２、右後端頂点データＲＴ２の各頂点の座標から、対象原稿Ｇの原稿サイズＺを検出するサイズ検出処理を実行する（Ｓ１４０）。
【００６６】
ＣＰＵ１１は、検出された対象原稿Ｇの傾きθと最大傾きθＫとを比較し（Ｓ１４２）、原稿Ｇの傾きθが最大傾きθＫ以内である場合（Ｓ１４２：ＹＥＳ）、画像処理回路１７を用いてＲＡＭ１３に記憶されている読取画像に対して、トリミング及び傾き補正処理を実行する（Ｓ１４４）。ＣＰＵ１１は、検出された原稿サイズＺから出力用データのサイズを決定し、ＲＡＭ１３に記憶されている読取画像から原稿Ｇの傾きθに沿った方向に読取データを読み出し、出力用データを完成させ、変換処理を終了するとともに、読取処理を終了する。
【００６７】
一方、ＣＰＵ１１は、原稿Ｇの傾きθが最大傾きθＫよりも大きい場合（Ｓ１４２：ＮＯ）、ＲＡＭ１３に記憶されている読取画像に対して、トリミング処理を実行する（Ｓ１４６）。ＣＰＵ１１は、検出された原稿サイズＺから出力用データのサイズを決定し、ＲＡＭ１３に記憶されている読取画像から主走査方向Ｄ１に沿った方向に読取データを読み出し、出力用データを完成させ、変換処理を終了するとともに、読取処理を終了する。
【００６８】
４．本実施形態の効果
（１）本実施形態の画像読取装置１では、先端エッジ画像ＳＧの左側先端エッジデータ及び右側先端エッジデータを検索する際に、先端読取領域ＳＨと異なる検索範囲Ｅを決定し、この範囲でこれら先端エッジデータを検索する。
【００６９】
一般に、先端読取領域ＳＨの副走査方向Ｄ３における幅Ｗは、原稿Ｇが最大傾きθＫよりも傾いた場合でも画像欠落が生じることなく原稿Ｇを読み取ることができるように設定されている。そのため、最大傾きθＫを用いて決定される検索範囲Ｅは、先端読取領域ＳＨを用いて読み取られた先端エッジ画像ＳＧよりも副走査方向Ｄ３において狭い範囲に設定される。また、一般に、画像読取装置１では、先端読取領域ＳＨの副走査方向Ｄ３における位置は、原稿Ｇの先端エッジを基準として決定される。そのため、同じく原稿Ｇの先端エッジを基準として設定される検索範囲Ｅは、その全範囲が先端エッジ画像ＳＧに含まれることとなる。この結果、副走査方向Ｄ３において、検索範囲Ｅの先端辺が、中心先端エッジデータに対して先端エッジ画像ＳＧの先端辺よりも近接して設定されることとなる。
【００７０】
この画像読取装置１では、副走査方向Ｄ３において、副走査方向Ｄ３に左側先端エッジデータ及び右側先端エッジデータを検索する際に、先端エッジ画像ＳＧの先端辺からでなはく、検索範囲Ｅの先端辺から検索を開始する。そのため、先端エッジ画像ＳＧの先端辺から左側先端エッジデータ及び右側先端エッジデータを検索していた従来技術に比べて、検索に必要な時間、特に図９に矢印８１に示すように、これらの先端エッジデータが検索される場合の検索に必要な時間を短縮することができ、読取画像の傾き、つまり原稿Ｇの傾きを求めるまでの時間を短縮することができる。
【００７１】
（２）本実施形態の画像読取装置１では、検索範囲Ｅの副走査方向Ｄ３における幅２αを先端読取領域ＳＨの副走査方向Ｄ３における幅Ｗよりも縮小して設定することができ、検索に必要な時間、特に図９に矢印８６、８７に示すように、左側先端エッジデータ及び右側先端エッジデータが検索されない場合の検索に必要な時間を短縮することができる。
【００７２】
（３）本実施形態の画像読取装置１では、ＣＩＳ２４により先に読み取られた側の先端エッジ画像ＳＧの先端辺から中心先端エッジデータを特定し、この中心先端エッジデータを用いて検索範囲Ｅを決定する。そのため、ＣＩＳ２４により早期に読み取られた読取データを用いて検索範囲Ｅを決定することができ、検索範囲Ｅを用いて左側先端エッジデータ及び右側先端エッジデータを検索するのに必要な時間を短縮することができる。
【００７３】
（４）本実施形態の画像読取装置１では、原稿Ｇよりも広い範囲に設定された読取領域を用いて原稿Ｇを読み取るので、読取画像において原稿画像の画像欠落が発生することがない。
【００７４】
（５）本実施形態の画像読取装置１では、ＣＩＳ２４の読取幅ＬとＲＯＭ１３に記憶された最大傾きθＫから検索範囲Ｅの副走査方向Ｄ３における幅２αを決定するので、解析処理において全範囲における先端エッジデータが検索範囲Ｅ内において検索された場合には、傾き補正処理において読取画像の傾き補正を確実に行うことができる。
【００７５】
（６）本実施形態の画像読取装置１では、左側先端エッジデータ及び右側先端エッジデータ検索処理において、検索範囲Ｅの主走査方向Ｄ１における中心から主走査方向Ｄ１又は主走査方向Ｄ１と逆方向に向けて検索点を移動させて検索を実行し、これらの先端エッジデータが存在しないことがある先端エッジ画像ＳＧの主走査方向Ｄ１における端部からこれらの先端エッジデータの検索を開始しない。そのため、読取画像の主走査方向における端から端まで移動させて検索を行う従来技術に比べて、これら先端エッジデータの検索に必要な時間を短縮することができる。
【００７６】
（７）本実施形態の画像読取装置１では、先端読取画像に２値化処理等のエッジ抽出処理を施した先端エッジ画像ＳＧを用いて中心先端エッジデータを特定し、左側先端エッジデータ及び右側先端エッジデータを検索する。２値化処理等が実行された先端エッジ画像ＳＧでは、先端読取画像に比べて先端エッジデータを検索しやすく、各処理に必要な時間を短縮することができる。
【００７７】
（８）本実施形態の画像読取装置１では、エッジ画像の原稿画像の先端、後端、右端、左端に対応する各エッジデータから、左先端、右先端、左後端、右後端の各頂点データを検出し、原稿サイズＺを検出するので、原稿Ｇの大きさを正確に求めることができる。
【００７８】
（９）本実施形態の画像読取装置１では、先端エッジデータの傾きθを用いて読取画像の傾き補正を行うので、傾きが補正された原稿画像を出力等することができる。
【００７９】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような種々の態様も本発明の技術的範囲に含まれる。
（１）上記実施形態では、スキャナ機能を有する画像読取装置１を用いて説明を行ったが、本発明はこれに限られない。例えば、プリンタ機能、コピー機能、ファクシミリ機能などの他の機能を備えた複合機であっても良い。
【００８０】
（２）また、スキャナ機能を必ずしも有していなくても良い。例えば、他の画像読取装置を用いて読み取られた読取画像を入出力装置９を解してＲＡＭ１３に記憶し、この読取画像に対してエッジ抽出処理、解析処理、又は変換処理を実行しても良い。入出力装置９は、入力部の他の一例である。この場合、中心先端エッジデータ検索処理では、ＲＡＭ１３に先に記憶された側の読取画像の端辺を先端辺として先端エッジ画像ＳＧを決定することで、先端エッジデータを検索するのに必要な時間を短縮することができる。
【００８１】
（３）上記実施形態では、制御部がＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、デバイス制御部１４と、を含む構成群１９である例を用いて説明を行ったが、制御部がお互いに異なるＣＰＵ、ＡＳＩＣや、各種処理を実行する専用の機器などを用いて構成されていても良い。
【００８２】
（４）また、ＣＰＵ１１が実行するプログラムが必ずしもＲＯＭ１３に記憶されている必要はなく、ＣＰＵ１１自身に記憶されていてもよければ、他の記憶装置に記憶されていても良い。
【００８３】
（５）上記実施形態では、左端エッジデータ及び右端エッジデータを検索する際に、検索点の開始点を検索範囲Ｅの後端辺上に設定してこれらのエッジデータを検索する例を用いて説明を行ったが、検索点の開始点は、そのＸ座標が左側外部座標Ｔ３（右側外部座標Ｔ４）であれば、Ｙ座標は特に限定されない。また、左端エッジデータ及び右端エッジデータを検索する回数も特に限定されるものではなく、左端エッジデータ及び右端エッジデータの検索が各々複数回行われ、その平均値や代表値を用いて左端エッジデータの直線式及び右端エッジデータの直線式が算出されても良い。
【００８４】
（６）また、左側先端エッジデータの検索及び右側先端エッジデータの検索を終了する際の失敗カウンタＮの個数や、代表先端エッジデータを選出する際の組の個数も適宜設定することができる。
【００８５】
（７）上記実施形態では、搬送経路２２を搬送される原稿ＧをＣＩＳ２４で読み取る例を用いて説明をおこなったが、フラットベット方式のように、プラテンガラス等に静止して載置された原稿ＧをＣＩＳ２４が移動して読み取る場合にも用いることができる。
【００８６】
（８）上記実施形態では、左側先端エッジデータ検索処理と右側先端エッジデータ検索処理とを実行し、それぞれ検索された先端エッジデータを用いて原稿画像の傾きθを求める例を用いて説明を行ったが、いずれか一方の先端エッジデータ検索処理のみを実行し、その処理において検索された先端エッジデータを用いて原稿の傾きθを求めても良い。
【符号の説明】
【００８７】
１：画像読取装置、１０：ＡＳＩＣ、１１：ＣＰＵ、１２：ＲＯＭ、１３：ＲＡＭ、１７：画像処理回路、１９：構成群、２４：ＣＩＳ、Ｄ１：主走査方向、Ｄ２：搬送方向、Ｄ３：副走査方向、Ｅ：検索範囲、Ｇ：原稿、ＳＧ：先端エッジ画像、ＳＨ：先端読取領域、Ｌ：読取幅、Ｚ：原稿サイズ、θＫ：最大傾き
【図１】
0005783418.tif 000002
【図２】
0005783418.tif 000003
【図３】
0005783418.tif 000004
【図４】
0005783418.tif 000005
【図５】
0005783418.tif 000006
【図６】
0005783418.tif 000007
【図７】
0005783418.tif 000008
【図８】
0005783418.tif 000009
【図９】
0005783418.tif 000010
【図１０】
0005783418.tif 000011