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