(57)【要約】      （修正有）【課題】原稿の側辺の位置を、高精度に検出可能な技術を提供する。【解決手段】画像読取装置１は、原稿の側辺に対応する画素を主走査方向に検出することによって、側辺の位置を検出する検出動作を、ラインイメージセンサ１０の副走査方向への移動に応じて繰返し実行する。具体的に、画像読取装置１は、複数回の検出動作の内、初回の検出動作では、非基準角に対応する主走査方向の位置を検出基準位置に設定し、二回目以降の検出動作では、前回の検出動作により検出された側辺の位置に対応する主走査方向の位置を検出基準位置に設定することにより、検出基準位置を基準に定義される主走査方向に所定距離の範囲を、側辺の主走査方向検出範囲に設定する。そして、主走査方向検出範囲内で、側辺に対応する画素を主走査方向に検出する。【選択図】図１
2019080152.tif 000002
【特許請求の範囲】
【請求項１】
矩形状の原稿を支持するための原稿台であって、前記原稿が有する４つの角のうちの１つの角が基準角として前記原稿台の特定位置に配置される原稿台と、
前記原稿台上の前記原稿を主走査方向に読み取るためのラインイメージセンサと、
前記ラインイメージセンサを前記主走査方向とは直交する副走査方向に移動させるように構成される搬送機構と、
前記ラインイメージセンサ及び前記搬送機構を制御し、前記副走査方向に移動する前記ラインイメージセンサに、前記原稿を前記主走査方向に読み取る読取動作を繰返し実行させることにより、前記ラインイメージセンサに複数回の読取動作を実行させ、前記複数回の読取動作による前記原稿の読取画像に対応する画像データを生成するように構成される制御部と、
前記基準角から前記主走査方向に延びる前記原稿の上辺の前記基準角とは前記主走査方向に沿って反対側に位置する非基準角を検出するように構成される角検出部と、
前記複数回の読取動作の実行中に、前記画像データに対応する読取画像内で、前記非基準角から前記副走査方向に延びる前記原稿の側辺に対応する画素を前記主走査方向に検出することによって、前記側辺の位置を検出する検出動作を、前記ラインイメージセンサの前記副走査方向への移動に応じて繰返し実行するように構成される側辺検出部と、
を備え、
前記側辺検出部は、複数回の検出動作の内、初回の検出動作では、前記角検出部により検出された前記非基準角に対応する前記主走査方向の位置を検出基準位置に設定し、二回目以降の検出動作では、前回の検出動作により検出された前記側辺の位置に対応する前記主走査方向の位置を前記検出基準位置に設定することにより、前記検出基準位置を基準に定義される前記主走査方向に所定距離の範囲を、前記側辺の主走査方向検出範囲に設定し、前記主走査方向検出範囲内で、前記側辺に対応する画素を前記主走査方向に検出する画像読取装置。
【請求項２】
請求項１記載の画像読取装置であって、
前記側辺検出部は、前記副走査方向において所定長さ毎に前記検出動作を実行し、前記検出動作では、前記所定長さに対応する副走査方向検出範囲において、前記副走査方向に連続する前記側辺に対応する画素群を検出することによって、前記側辺の位置を検出する画像読取装置。
【請求項３】
請求項２記載の画像読取装置であって、
前記側辺検出部は、前記主走査方向検出範囲内で前記側辺に対応する画素を前記主走査方向に検出し、検出された画素を基準に前記副走査方向に複数画素を参照することにより、前記副走査方向に連続する前記側辺に対応する画素群を検出する画像読取装置。
【請求項４】
請求項３記載の画像読取装置であって、
前記原稿の傾きを検出する傾き検出部を備え、
前記側辺検出部は、前記傾き検出部により検出された傾きに応じて前記参照する複数画素を決定する画像読取装置。
【請求項５】
請求項２〜請求項４のいずれか一項記載の画像読取装置であって、
前記側辺検出部は、前記副走査方向に連続する前記側辺に対応する画素群を検出することができなかった場合、前記主走査方向検出範囲及び前記副走査方向検出範囲に対応する矩形領域内での黒画素の分布に基づき、前記側辺の位置を検出する画像読取装置。
【請求項６】
請求項５記載の画像読取装置であって、
前記側辺検出部は、前記分布を表す指標として、前記矩形領域内における中央領域の黒画素密度を判定し、更には、前記矩形領域内で前記中央領域より前記原稿の外側に位置する領域である外側領域、及び、前記矩形領域内で前記中央領域より前記原稿の内側に位置する内側領域、のそれぞれの黒画素密度を判定し、前記中央領域の黒画素密度、前記外側領域の黒画素密度、及び前記内側領域の黒画素密度に基づき、前記側辺の位置を検出する画像読取装置。
【請求項７】
請求項６記載の画像読取装置であって、
前記側辺検出部は、前記外側領域の黒画素密度が閾値より高い場合、前回の検出動作で検出された前記側辺の位置である前回位置から前記主走査方向において前記原稿の外側に移動した位置を、前記側辺の位置として検出し、前記内側領域の黒画素密度が閾値より高い場合、前記前回位置から前記主走査方向において前記原稿の内側に移動した位置を、前記側辺の位置として検出する画像読取装置。
【請求項８】
請求項７記載の画像読取装置であって、
前記側辺検出部は、前記前回位置から移動した位置を前記側辺の位置として検出する場合、その移動量を、前記中央領域の黒画素密度が基準より低い場合には、前記中央領域の黒画素密度が前記基準より高い場合よりも大きくする画像読取装置。
【請求項９】
請求項１〜請求項８のいずれか一項記載の画像読取装置であって、
前記側辺検出部は、前記非基準角から前記副走査方向に延びる前記原稿の側辺の位置を検出することができなかった場合には、前記読取画像内で、前記基準角から前記副走査方向に延びる前記原稿の側辺に対応する画素を検出することにより、前記側辺の位置を検出する画像読取装置。
【請求項１０】
請求項１〜請求項９のいずれか一項記載の画像読取装置であって、
前記制御部は、前記側辺検出部により前記側辺の位置が検出されなくなったことを条件に、前記ラインイメージセンサによる前記読取動作の繰返し実行を終了させる画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像読取装置に関する。
【背景技術】
【０００２】
ラインイメージセンサによる読取画像から原稿部分を切り出す画像読取装置が知られている（例えば、特許文献１参照）。この画像読取装置は、読取画像において、ライン毎に、左端から右端に向けて順に複数画素を参照し、白から黒へと急峻に変化する画素位置、及び、黒から白へ急峻に変化する画素位置を検出する。これにより、画像読取装置は、原稿の４辺に対応する画素位置を特定し、例えば原稿の傾き及びサイズを検出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１４２０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の画像読取装置では、左端から順にライン方向に沿う複数画素を参照したときに、最後に急峻に変化する画素位置を、原稿の右エッジとして特定するため、原稿の状態によっては、右エッジを誤検出する可能性があった。
【０００５】
即ち、インデックス紙を含む原稿又はクリップで綴じられた原稿を読み取る場合のように、タブ又はクリップの読取画像が含まれる画像データに基づいて原稿エッジを検出する場合、従来の画像読取装置では、タブ又はクリップの影響を受けて、原稿エッジを誤検出する可能性があった。
【０００６】
そこで、本開示の一側面によれば、読取画像にタブ及びクリップ等の画像が含まれる場合でも、原稿の側辺の位置を、高精度に検出可能な技術を提供できることが望ましい。
【課題を解決するための手段】
【０００７】
本開示の一側面に係る画像読取装置は、矩形状の原稿を支持するための原稿台と、ラインイメージセンサと、搬送機構と、制御部と、角検出部と、側辺検出部と、を備える。原稿台には、原稿が有する４つの角のうちの１つの角が基準角として原稿台の特定位置に配置される。
【０００８】
ラインイメージセンサは、原稿台上の原稿を主走査方向に読み取るように構成される。搬送機構は、ラインイメージセンサを主走査方向とは直交する副走査方向に移動させるように構成される。制御部は、ラインイメージセンサ及び搬送機構を制御し、副走査方向に移動するラインイメージセンサに、原稿を主走査方向に読み取る読取動作を繰返し実行させることにより、ラインイメージセンサに複数回の読取動作を実行させ、原稿の読取画像に対応する画像データを生成するように構成される。
【０００９】
角検出部は、基準角から主走査方向に延びる原稿の上辺の基準角とは主走査方向に沿って反対側に位置する非基準角を検出するように構成される。側辺検出部は、複数回の読取動作の実行中に、画像データに対応する読取画像内で、非基準角から副走査方向に延びる原稿の側辺に対応する画素を主走査方向に検出することによって、側辺の位置を検出する検出動作を、ラインイメージセンサの副走査方向への移動に応じて繰返し実行するように構成される。
【００１０】
具体的に、側辺検出部は、複数回の検出動作の内、初回の検出動作では、上記角検出部により検出された非基準角に対応する主走査方向の位置を検出基準位置に設定し、二回目以降の検出動作では、前回の検出動作により検出された側辺の位置に対応する主走査方向の位置を検出基準位置に設定することにより、検出基準位置を基準に定義される主走査方向に所定距離の範囲を、側辺の主走査方向検出範囲に設定し、主走査方向検出範囲内で、側辺に対応する画素を主走査方向に検出する。
【００１１】
この画像読取装置では、主走査方向において限定された範囲で、側辺に対応する画素が検出される。このため、画像データ内において、例えばタブ又はクリップの読取画像のような誤検出を誘発する画素が存在する場合でも、その画素を検出範囲から外して、側辺に対応する画素を検出することができる。しかも、前回の検出位置を基準に、主走査方向検出範囲を決定するため、真に側辺に対応する画素が検出範囲から外れてしまうのを抑制することができる。従って、本開示の一側面に係る画像読取装置によれば、読取画像にタブ及びクリップ等の画像が含まれる場合でも、原稿の側辺の位置を、高精度に検出することができる。
【００１２】
本開示の一側面によれば、側辺検出部は、副走査方向において所定長さ毎に検出動作を実行するように構成されてもよい。この場合、側辺検出部は、一つの検出動作において、上記所定長さに対応する副走査方向検出範囲で、副走査方向に連続する側辺に対応する画素群を検出することによって、側辺の位置を検出するように構成されてもよい。こうして連続する側辺に対応する画素群を検出することにより、ノイズによる影響を抑えて、側辺の位置を高精度に検出することができる。
【００１３】
本開示の一側面によれば、側辺検出部は、主走査方向検出範囲内で側辺に対応する画素を主走査方向に検出し、検出された画素を基準に副走査方向に複数画素を参照することにより、副走査方向に連続する側辺に対応する画素群を検出するように構成されてもよい。こうした検出によれば、副走査方向に連続する側辺に対応する画素群を効率的に検出することができる。
【００１４】
本開示の一側面によれば、側辺検出部は、原稿の傾きに応じて参照する複数画素を決定するように構成されてもよい。画像読取装置は、原稿の傾きを検出する傾き検出部を備えることができる。原稿の傾きに応じた参照画素の決定によれば、副走査方向に連続する側辺に対応する画素群を一層効率的に検出することができる。
【００１５】
本開示の一側面によれば、側辺検出部は、副走査方向に連続する側辺に対応する画素群を検出することができなかった場合、主走査方向検出範囲に対応する矩形領域内での黒画素の分布に基づき、側辺の位置を検出するように構成されてもよい。こうした検出によっても、側辺の位置を、精度よく検出することができる。
【００１６】
側辺検出部は、上記分布を表す指標として、矩形領域内における中央領域の黒画素密度を判定し、更には、矩形領域内で中央領域より原稿の外側に位置する領域である外側領域、及び、矩形領域内で中央領域より原稿の内側に位置する内側領域、のそれぞれの黒画素密度を判定し、中央領域の黒画素密度、外側領域の黒画素密度、及び内側領域の黒画素密度に基づき、側辺の位置を検出するように構成されてもよい。
【００１７】
側辺検出部は、外側領域の黒画素密度が閾値より高い場合、前回の検出動作で検出された側辺の位置である前回位置から主走査方向において原稿の外側に移動した位置を、側辺の位置として検出するように構成されてもよい。側辺検出部は、内側領域の黒画素密度が閾値より高い場合、前回位置から主走査方向において原稿の内側に移動した位置を、側辺の位置として検出するように構成されてもよい。
【００１８】
側辺検出部は、前回位置から移動した位置を側辺の位置として検出する場合、その移動量を、中央領域の黒画素密度が基準より低い場合には、中央領域の黒画素密度が基準より高い場合よりも大きくするように構成されてもよい。
【００１９】
側辺検出部は、非基準角から副走査方向に延びる原稿の側辺の位置を検出することができなかった場合、読取画像内で、基準角から副走査方向に延びる原稿の側辺に対応する画素を検出することにより、その側辺の位置を検出するように構成されてもよい。
【００２０】
制御部は、側辺検出部により側辺の位置が検出されなくなったことを条件に、ラインイメージセンサによる読取動作の繰返し実行を終了させるように構成されてもよい。こうした制御によれば、原稿の後端をラインイメージセンサが読み取り終えた後、迅速に読取動作の繰返し実行を終えて、次の処理ステップに移行することができる。
【図面の簡単な説明】
【００２１】
【図１】画像読取装置の構成を表す一部透過平面図である。
【図２】画像読取装置の詳細構成を表すブロック図である。
【図３】主制御部が実行する指令受付処理を表すフローチャートである。
【図４】原稿検出部が実行する原稿検出処理を表すフローチャートである。
【図５】原稿検出部が実行する先端検出処理を表すフローチャートである。
【図６】原稿検出部が実行する先端及び側辺検出処理に関する説明図である。
【図７】原稿検出部が実行する側辺検出処理を表すフローチャートである。
【図８】原稿検出部が実行するエッジ検出処理を表すフローチャート（その１）である。
【図９】エッジ検出処理を表すフローチャート（その２）である。
【図１０】原稿検出部が実行する連続性判定処理を表すフローチャートである。
【図１１】原稿検出部が実行する連続画素数算出処理を表すフローチャートである。
【図１２】図１２Ａは、原稿の傾きがないときの参照画素群を説明する図であり、図１２Ｂは、原稿が左回りに傾いているときの参照画素群を説明する図であり、図１２Ｃは、原稿が右回りに傾いているときの参照画素群を説明する図である。
【図１３】図１３Ａは、原稿の傾きがないときの参照画素群を説明する図であり、図１３Ｂは、原稿が左回りに傾いているときの参照画素群を説明する図であり、図１３Ｃは、原稿が右回りに傾いているときの参照画素群を説明する図である。
【図１４】原稿検出部が実行する密度判定処理を表すフローチャートである。
【図１５】中央領域、外側領域、及び、内側領域に関する説明図である。
【発明を実施するための形態】
【００２２】
以下に本開示の例示的実施形態を、図面を参照しながら説明する。図１に示す本実施形態の画像読取装置１は、フラットベッド型のスキャナ装置として構成される。この画像読取装置１は、主走査方向に長尺なラインイメージセンサ１０を、主走査方向に直交する副走査方向に移動させる一方、ラインイメージセンサ１０に、副走査方向への移動に合わせて主走査方向の読取動作を繰返し実行させることにより、原稿台２０に支持された原稿を読み取るように構成される。
【００２３】
繰返しの読取動作により生成される原稿の読取画像を表す画像データは、例えば、パーソナルコンピュータ等の外部装置に提供される。画像読取装置１がディジタル複合機の一部として構成される場合、画像データは、ディジタル複合機内で、原稿の複写等に用いられる。
【００２４】
原稿台２０には、原稿の位置合わせ用の特定の角部２０Ａが設けられている。矩形状の原稿Ｑは、この角部２０Ａに、原稿Ｑが有する４つの角のうちの一つの角ＱＡが位置合わせされるように配置される（図６参照）。
【００２５】
原稿台２０は、透明なプラテンガラスで構成される。図１において原稿台２０下方の構成は透過して表される。ラインイメージセンサ１０は、この透明なプラテンガラスの下方から上方に載置された原稿Ｑを主走査方向に読み取るように配置される。具体的に、ラインイメージセンサ１０は、原稿台２０の下方で、副走査方向に移動可能に配置される。
【００２６】
画像読取装置１は、図２に示すように、主制御部３０と、読取制御部４０と、ＡＤ変換器５１と、画像処理部５３と、二値化部５５と、原稿検出部５７と、搬送機構６０と、モータ６５と、モータ制御部７０と、検出器７５と、ユーザインタフェース８０と、通信インタフェース８５と、を更に備える。
【００２７】
主制御部３０は、装置全体を統括制御するように構成される。主制御部３０は、ＣＰＵ３１と、ＲＯＭ３３と、ＲＡＭ３５と、ＮＶＲＡＭ３７とを備える。ＣＰＵ３１は、ＲＯＭ３３に記憶されたプログラムに従う処理を実行する。ＲＡＭ３５は、ＣＰＵ３１による処理実行時に作業領域として使用される。ＮＶＲＡＭ３７は、電気的にデータ書換可能な不揮発性メモリであり、各種データを記憶する。ＮＶＲＡＭ３７は、フラッシュメモリ又はＥＥＰＲＯＭにより構成される。ＲＯＭ３３が記憶するプログラムに従ってＣＰＵ３１が各種処理を実行することにより、画像読取装置１に必要な各種機能が実現される。
【００２８】
読取制御部４０は、主制御部３０からの命令に従って、ラインイメージセンサ１０を制御し、ラインイメージセンサ１０に、ライン毎の読取動作を実行させる。ラインイメージセンサ１０は、コンタクトイメージセンサ（ＣＩＳ）であり、一つの読取動作として、原稿台２０に光を照射し、その反射光を受光し、受光量に応じた画素データの一群を、アナログ信号としてシリアル出力する動作を実行する。読取動作毎にシリアル出力される画素データの一群は、１ライン分の読取画像を表す画像データに対応する。
【００２９】
このようにしてラインイメージセンサ１０は、副走査方向に移動しながら、原稿台２０に載置された原稿Ｑをライン毎に光学的に読み取り、その読取画像を表す画像データを生成する。読取動作毎に生成される画像データは、ＡＤ変換器５１でディジタル信号に変換された後、画像処理部５３及び二値化部５５に入力される。
【００３０】
画像処理部５３は、ＡＤ変換器５１から入力されるディジタルの画像データに対し、ガンマ補正等の画像処理を施した後、画像処理後の画像データを、主制御部３０に入力する。これにより、主制御部３０のＲＡＭ３５には、各ラインの読取画像を表す画像データが、読取動作の繰返しに応じて蓄積され、最終的には、原稿Ｑ全体の読取画像を表す画像データが生成される。この画像データは、例えば原稿Ｑの読取画像をカラーで表すカラー画像データに対応する。
【００３１】
二値化部５５は、ＡＤ変換器５１から入力される画像データを二値化して、二値化後の画像データを原稿検出部５７に入力する。二値化後の画像データは、各画素を「０（黒）」又は「１（白）」の二値で表す。二値化は、微分処理を伴って実行されても良い。
【００３２】
原稿検出部５７は、二値化後の画像データに基づいて、画像データが表す読取画像内で原稿Ｑの上辺、左側辺、右側辺、下辺の位置を検出し、その検出結果を主制御部３０に入力する。原稿Ｑの上辺は、原稿台２０の角部２０Ａに位置合わせされる角ＱＡである基準角ＱＡを左端に有する原稿Ｑの主走査方向に沿う辺であって、原稿Ｑの読取方向上流である副走査方向の上流側に位置する辺に対応する。原稿Ｑの右辺は、上辺の基準角ＱＡとは主走査方向に沿って反対側に位置する非基準角ＱＢから副走査方向に沿って延びる原稿Ｑの側辺に対応する。
【００３３】
原稿検出部５７は、必要な処理を専用回路で実行するように構成されてもよいし、汎用のプロセッサ５７Ａ及びメモリ５７Ｂを備え、メモリ５７Ｂに記録されたプログラムに従って、プロセッサ５７Ａが必要な処理を実行するように構成されてもよい。必要な処理には、後述する原稿検出処理（図４）が含まれる。メモリ５７Ｂは、ＲＡＭ、ＲＯＭ、及びＮＶＲＡＭの少なくとも一つを含む。
【００３４】
主制御部３０は、原稿検出部５７から入力される原稿Ｑの検出結果に基づき、画像処理部５３からの画像データが表す読取画像において原稿領域を特定し、この画像データから原稿領域のデータ部分を抽出するトリミング処理等を実行する。
【００３５】
搬送機構６０は、ラインイメージセンサ１０を副走査方向に搬送する機構である。搬送機構６０は、モータ６５によって駆動される。図１に示される例示的な搬送機構６０は、無端ベルト６１を備える。ラインイメージセンサ１０は、無端ベルト６１に連結される。無端ベルト６１は、モータ６５からの動力を受けて回転し、ラインイメージセンサ１０を副走査方向に搬送する。ラインイメージセンサ１０は、図示しないガイドにより支持されながら、無端ベルト６１の回転に合わせて副走査方向に移動する。
【００３６】
モータ制御部７０は、主制御部３０からの命令に従って、モータ６５の回転を、検出器７５から入力される回転位置及び速度情報に基づきフィードバック制御し、これにより、搬送機構６０によるラインイメージセンサ１０の搬送を制御する。検出器７５は、例えば、モータ６５の回転軸に取り付けられたエンコーダ（図示せず）と、エンコーダからの入力信号をモータ６５の回転位置及び速度情報に変換する信号処理回路（図示せず）と、を備える。
【００３７】
ユーザインタフェース８０は、ユーザからの操作を受付可能及びユーザ向けの情報を表示可能に構成される。例えば、ユーザインタフェース８０は、液晶ディスプレイと、液晶ディスプレイ上のタッチパネルとを備え得る。ユーザからの操作信号は、ユーザインタフェース８０を介して主制御部３０に入力される。ユーザインタフェース８０は、例えば、主制御部３０に制御されて、ユーザに対して画面上に各種情報を表示する。
【００３８】
この他、通信インタフェース８５は、外部装置と通信可能に構成される。例えば、通信インタフェース８５は、外部装置からの指令を主制御部３０に伝達し、主制御部３０からの原稿Ｑの読取画像を表す画像データを、外部装置に送信する。この通信インタフェース８５の具体例には、ＬＡＮインタフェース及びＵＳＢインタフェースが含まれる。
【００３９】
主制御部３０は、外部装置又はユーザインタフェース８０を通じて外部から指令が入力されると、指令に対応した処理を実行する。具体的に、主制御部３０は、図３に示す指令受付処理を繰返し実行し、外部装置又はユーザインタフェース８０を通じたユーザからの読取命令の入力を待機する（Ｓ１１０）。そして、読取命令が入力されると、原稿Ｑの読取処理を開始する（Ｓ１２０）。
【００４０】
読取処理において、主制御部３０は、モータ制御部７０に、読取解像度に応じた一定速度でラインイメージセンサ１０を副走査方向に搬送させるためのモータ制御を実行するように命令し、読取制御部４０に、読取解像度に応じた一定時間間隔でラインイメージセンサ１０に読取動作を実行させるための読取制御を実行するように命令する。
【００４１】
主制御部３０は更に、画像処理部５３及び原稿検出部５７を起動させ、画像処理部５３から提供される画像データをＲＡＭ３５に蓄積し、原稿検出部５７から原稿Ｑの位置及び傾き等の情報を含む原稿Ｑの検出結果を取得する。
【００４２】
その後、原稿Ｑの後端までの読取が完了したことが原稿検出部５７から通知されると（Ｓ１３０でＹｅｓ）、主制御部３０は、読取処理を終了する（Ｓ１４０）。読取処理の終了時には、主制御部３０から読取制御部４０及びモータ制御部７０に停止命令が入力され、これにより、ラインイメージセンサ１０による繰返しの読取動作及びモータ制御部７０によるラインイメージセンサ１０の搬送動作は終了する。
【００４３】
その後、主制御部３０は、ＲＡＭ３５に蓄積された原稿Ｑ全体の読取画像を表す画像データに対し、トリミング処理等の加工処理を実行し（Ｓ１５０）、図３に示す指令受付処理を終了する。トリミング処理において、主制御部３０は、画像データから原稿領域を抽出する。
【００４４】
原稿検出部５７は、読取処理の開始に伴って起動すると、図４に示す原稿検出処理を開始する。そして、原稿検出部５７は、図５に示す先端検出処理を実行する（Ｓ２１０）。先端検出処理において、原稿検出部５７は、ラインイメージセンサ１０の読取開始位置から所定ライン数（ライン数Ｎ）の画像データを取得する（Ｓ３１０）。この画像データのことを、以下では先端画像データとも表現する。例えば、先端画像データは、ラインイメージセンサ１０の読取開始位置から副走査方向に数センチメートル（例えば３ｃｍ）進んだ位置までの読取画像を表す画像データに対応する。原稿検出部５７は、ラインイメージセンサ１０による所定ライン数の読取動作が完了することによって、二値化部５５からの先端画像データの取得が完了すると、Ｓ３２０に移行する。
【００４５】
Ｓ３２０において、原稿検出部５７は、取得した先端画像データが表す読取画像内で、原稿Ｑの上辺に対応するエッジ点群を検出し、原稿Ｑの上辺に対応する近似直線として、これらエッジ点群に対応する近似直線を算出する。原稿Ｑが傾いていない場合、原稿Ｑの上辺は、主走査方向に平行であり、副走査方向に直交する。
【００４６】
続くＳ３３０において、原稿検出部５７は、原稿Ｑの左辺に対応するエッジ点群を検出し、原稿Ｑの左辺に対応する近似直線として、これらエッジ点群に対応する近似直線を算出する。続くＳ３４０において、原稿検出部５７は、原稿Ｑの右辺に対応するエッジ点群を検出し、原稿Ｑの右辺に対応する近似直線として、これらエッジ点群に対応する近似直線を算出する。原稿Ｑが傾いていない場合、原稿Ｑの左辺及び右辺は、主走査方向に直交し、副走査方向に平行である。
【００４７】
その後、原稿検出部５７は、上辺に対応する近似直線と左辺に対応する近似直線との交点位置を、原稿Ｑの上辺の左端に位置する基準角ＱＡの位置として検出し、上辺に対応する近似直線と右辺に対応する近似直線との交点位置を、上辺の右端に位置する非基準角ＱＢの位置として検出する（Ｓ３５０）。原稿検出部５７は更に、上辺に対応する近似直線の傾きから、原稿Ｑの傾きを検出する（Ｓ３６０）。その後、先端検出処理を終了する。
【００４８】
原稿検出部５７は、先端検出処理（Ｓ２１０）を終えると、側辺検出処理（Ｓ２２０）を実行する。側辺検出処理（Ｓ２２０）では、図６に示すように、副走査方向に所定ライン数（ライン数Ｍ）の読取動作が完了する度に、エッジ検出処理が実行される。エッジ検出処理では、二値化部５５から得られる所定ライン数（ライン数Ｍ）の読取画像を表す画像データ（以下、「側辺画像データ」という。）に基づき、原稿Ｑの右辺に対応する原稿エッジである右エッジを検出するための処理が実行される。
【００４９】
側辺画像データのライン数Ｍは、先端画像データのライン数Ｎよりかなり少ない。ライン数Ｍは、例えば、３２で有り得る。ライン数Ｍが小さいのは、ラインイメージセンサ１０が原稿Ｑの後端を副走査方向に通過した後、迅速にそれ以降の不要な読取動作を終了するためである。図６に示されるエッジ検出処理の実行間隔（ライン数Ｍ）は、単に概念的な例示であり、その大きさは、図６に描写される原稿Ｑの大きさや、先端検出処理が扱う読取画像の副走査方向の幅（ライン数Ｎ）と比較されるべきではない。
【００５０】
側辺画像データには、先端検出処理のように右辺に対応する近似直線を精度よく算出するのに十分なライン数がないため、エッジ検出処理では、後述する手法で右エッジを検出する。
【００５１】
具体的に、原稿検出部５７は、Ｓ２２０において図７に示す側辺検出処理を開始する。この側辺検出処理において、原稿検出部５７は、所定ライン数（ライン数Ｍ）の読取動作が完了し、それにより、Ｓ４１０で二値化部５５から処理対象の側辺画像データを取得する度に、図８及び図９に示すエッジ検出処理を実行する（Ｓ４２０）。エッジ検出処理では、原稿Ｑの右辺又は左辺に対応する原稿エッジが検出されると原稿フラグがオンされ、原稿エッジが検出されなかった場合には原稿フラグがオフに維持される。
【００５２】
原稿検出部５７は、エッジ検出処理（Ｓ４２０）において原稿フラグがオンされたと判断すると（Ｓ４３０でＹｅｓ）、画像読取装置１の最大読取範囲の終端まで読取動作が行われたか否かを判断する（Ｓ４４０）。そして、最大読取範囲の終端まで行われていないと判断した場合には（Ｓ４４０でＮｏ）、原稿フラグをオフにリセットした後（Ｓ４５０）、Ｓ４１０に移行する。これにより、次の所定ライン数（ライン数Ｍ）の読取動作に基づく側辺画像データを用いたエッジ検出処理を実行する（Ｓ４２０）。
【００５３】
即ち、原稿検出部５７は、原稿エッジが検出されなくなるか、最大読取範囲の終端までの読取動作が完了するまでエッジ検出処理（Ｓ４２０）を繰返し実行する。原稿エッジが検出されなくなり原稿フラグがオンされなくなるか（Ｓ４３０でＮｏ）、又は、最大読取範囲の終端までの読取動作が完了すると（Ｓ４４０でＹｅｓ）、原稿検出部５７は、側辺検出処理（Ｓ２２０）を終了し、Ｓ２３０に移行する。
【００５４】
Ｓ２３０において、原稿検出部５７は、原稿Ｑの後端までの読取が完了したことを主制御部３０に通知する。この通知により、ラインイメージセンサ１０の繰返しの読取動作、及び、搬送機構６０によるラインイメージセンサ１０の搬送動作は終了する。
【００５５】
続くＳ２４０において、原稿検出部５７は、後端検出処理を実行する。後端検出処理において、原稿検出部５７は、最後に取得された側辺画像データに基づき、原稿Ｑの後端、即ち、原稿Ｑの下辺に対応するエッジ点群を検出し、原稿Ｑの下辺に対応する近似直線として、これらエッジ点群に対応する近似直線を算出する。ここでは、例えば、側辺画像データが表す読取画像内で副走査方向の下流から上流に向けて画素を参照することにより上記エッジ点群を検出し、近似直線を算出する。その後、原稿検出部５７は、図４に示す原稿検出処理を終了する。
【００５６】
原稿検出部５７は、このように検出された原稿Ｑの下辺の位置情報、先端検出処理で検出された基準角ＱＡおよび非基準角ＱＢの位置情報、先端検出処理で検出された原稿Ｑの上辺の位置情報を、主制御部３０に提供することによって、主制御部３０でのトリミング処理を実現する。適切なトリミング処理のために、側辺検出処理で検出された原稿エッジの位置情報（右辺及び左辺の位置情報）が更に提供され得る。
【００５７】
続いて、エッジ検出処理（Ｓ４２０）の詳細を説明する。図８及び図９に示すエッジ検出処理を開始すると、原稿検出部５７は、既に実行したエッジ検出処理において、原稿Ｑの右辺の原稿エッジである右エッジ位置が検出されているか否かを判断する（Ｓ５１０）。原稿検出部５７は、読取処理の開始後、初回のエッジ検出処理のＳ５１０において、右エッジ位置を検出する場合に、Ｓ５１０で否定判断する。一方、原稿検出部５７は、二回目以降のエッジ検出処理のＳ５１０であって、前回までのエッジ検出処理において、右エッジ位置が検出されている場合には、Ｓ５１０で肯定判断する。別例として、Ｓ５１０では、前回のエッジ検出処理で右エッジ位置が検出されている場合には、肯定判断し、前回より前のエッジ検出処理で右エッジ位置が検出されていても、前回のエッジ検出処理で右エッジ位置が検出されていない場合には、否定判断してもよい。
【００５８】
Ｓ５１０で否定判断すると、原稿検出部５７は、右エッジに関する主走査方向検出範囲の中心点を、先端検出処理において検出された非基準角ＱＢ及び原稿Ｑの傾きに基づき設定する。具体的には、原稿検出部５７は、非基準角ＱＢを通る直線であって、原稿Ｑの傾きに一致する傾きを有する直線の、処理対象の側辺画像データが表す読取画像内の位置（例えば主走査方向中心位置）を特定する。そして、特定した位置を、主走査方向検出範囲の中心点に設定する（Ｓ５２０）。
【００５９】
一方、原稿検出部５７は、Ｓ５１０で肯定判断すると、これまでに検出された右エッジの最新位置（前回のエッジ検出処理で検出された右エッジ位置）に基づき、主走査方向検出範囲の中心点を設定する。原稿検出部５７は、最新位置を主走査方向検出範囲の中心点に設定することができる（Ｓ５３０）。あるいは、原稿検出部５７は、最新位置を通る直線であって、原稿Ｑの傾きに一致する傾きを有する直線の、処理対象の側辺画像データが表す読取画像内の位置（例えば主走査方向中心位置）を特定し、当該特定した位置を、主走査方向検出範囲の中心点に設定することができる（Ｓ５３０）。
【００６０】
その後、原稿検出部５７は、Ｓ５２０又はＳ５３０で設定した中心点から主走査方向に沿う左右方向にＬ画素離れた位置までの主走査方向の領域を、主走査方向検出範囲に設定し（Ｓ５４０）、Ｓ５５０で図１０に示す連続性判定処理を実行する。値Ｌは、例えば、１２８画素で有り得る。主走査方向左側は、原稿左側に対応し、主走査方向右側は、原稿右側に対応し、右エッジ位置を基準としたとき、主走査方向左側は、原稿内側に対応し、主走査方向右側は、原稿外側に対応する。
【００６１】
Ｓ５５０での連続性判定処理は、主走査方向検出範囲内で右エッジに対応する画素を主走査方向に検出し、検出された画素を基準に副走査方向に複数画素を参照することにより、副走査方向に連続する右エッジに対応する画素群を検出する処理である。
【００６２】
Ｓ５５０において、図１０に示す連続性判定処理を開始すると、原稿検出部５７は、まず、副走査方向検出範囲の先頭ラインを注目ラインに設定する（Ｓ７１０）。副走査方向検出範囲の先頭ラインは、処理対象の側辺画像データの先頭ラインに対応する。副走査方向検出範囲は、処理対象の側辺画像データの先頭ライン（第１ライン）から、第４ラインまでの範囲で有り得る。
【００６３】
その後、原稿検出部５７は、注目ラインの主走査方向検出範囲右端を始点画素に設定し（Ｓ７２０）、始点画素が黒画素であるか否かを判断する（Ｓ７３０）。始点画素が黒画素であるか否かを判断することは、始点画素が右エッジに対応する画素であるか否かを判断することに対応する。
【００６４】
始点画素が黒画素ではないと判断すると（Ｓ７３０でＮｏ）、原稿検出部５７は、始点画素を、注目ライン内の左隣の画素に再設定し（Ｓ７４０）、再設定された始点画素が主走査方向範囲内にあるか否かを判断する（Ｓ７５０）。そして、始点画素が主走査方向範囲内にあると判断した場合には（Ｓ７５０でＹｅｓ）、Ｓ７３０に移行し、上記再設定された始点画素が黒画素であるか否かを判断する。
【００６５】
このようにして、原稿検出部５７は、主走査方向検出範囲において注目ラインに沿って右端から左に順に各画素を始点画素に設定し（Ｓ７２０，Ｓ７４０）、始点画素が黒画素であるか否かを判断する（Ｓ７３０）。そして、始点画素が主走査方向検出範囲外にあると判断すると（Ｓ７５０でＮｏ）、即ち、始点画素が主走査方向検出範囲の左端を超えたと判断すると（Ｓ７５０でＮｏ）、注目ラインを１ライン下の位置に変更する（Ｓ７６０）。注目ラインを１ライン下の位置に変更することは、注目ラインを副走査方向下流側、即ち原稿Ｑの下辺側に隣接するラインに変更することに対応する。
【００６６】
その後、原稿検出部５７は、変更された注目ラインが副走査方向検出範囲内にあるか否かを判断する（Ｓ７７０）。副走査方向検出範囲の最終ラインは、側辺画像データの最終ラインより右エッジの副走査方向連続性を判定するのに必要なライン数上流のラインである。
【００６７】
原稿検出部５７は、変更された注目ラインが副走査方向検出範囲内にあると判断すると（Ｓ７７０でＹｅｓ）。Ｓ７２０に移行し、当該変更された注目ラインの主走査方向検出範囲内における右端の画素を始点画素に設定し、Ｓ７３０以降の処理を実行する。
【００６８】
原稿検出部５７は、始点画素が黒画素であると判断すると（Ｓ７３０でＹｅｓ）、図１１に示す連続画素数算出処理を実行する（Ｓ７９０）。この連続画素数算出処理を開始すると、原稿検出部５７は、先端検出処理から得られた原稿Ｑの傾きの情報に基づいて、原稿Ｑが傾いているか否かを判断する（Ｓ９１０）。原稿Ｑが傾いていないと判断すると（Ｓ９１０でＮｏ）、原稿検出部５７は、始点画素を基準に、傾きのない原稿用に定められた規則に従って、副走査方向に参照画素群を設定する（Ｓ９２０）。具体的には、図１２Ａに示すように参照画素群を設定する。
【００６９】
図１２Ａに示す矩形ブロックのそれぞれは、画素を示す。文字「Ｓ」で示される矩形ブロックは、始点画素に対応し、具体的には、連続画素数算出処理（Ｓ７９０）を実行する前の処理Ｓ７２０，Ｓ７４０で設定された最新の始点画素に対応する。
【００７０】
参照画素群は、数字１〜６で示される合計６つの画素に対応する。図１２Ａの下方は、原稿Ｑの下辺側、即ち副走査方向下流側に対応する。数字１〜６は、参照順を示す。後述するように参照画素群は、その数字順に参照される。
【００７１】
即ち、Ｓ９２０において、参照画素群は、始点画素より１ライン下の画素群であって、始点画素より右側に１画素ずれた位置から左側に４画素ずれた位置までの合計６つの画素群に設定される。
【００７２】
原稿検出部５７は、原稿が傾いていると判断すると（Ｓ９１０でＹｅｓ）、傾きが左回りであるか否かを判断する（Ｓ９３０）。左回りであると判断すると（Ｓ９３０でＹｅｓ）、原稿検出部５７は、左回りに傾いた原稿用に定められた規則に従って、始点画素を基準とした参照画素群を設定する（Ｓ９４０）。具体的には、図１２Ｂに示すように参照画素群を設定する。文字「Ｓ」及び数字１〜６の意味は、図１２Ａと同様である。即ち、Ｓ９４０において、参照画素群は、始点画素より１ライン下の画素群であって、始点画素より右側に２画素ずれた位置から左側に３画素ずれた位置までの合計６つの画素群に設定される。
【００７３】
原稿検出部５７は、原稿の傾きが右回りであると判断すると（Ｓ９３０でＮｏ）、右回りに傾いた原稿用に定められた規則に従って、始点画素を基準とした参照画素群を設定する（Ｓ９５０）。具体的には、図１２Ｃに示すように参照画素群を設定する。文字「Ｓ」及び数字１〜６の意味は、図１２Ａと同様である。即ち、Ｓ９５０において、参照画素群は、始点画素より１ライン下の画素群であって、始点画素の真下の画素から左側に５画素ずれた位置までの合計６つの画素群に設定される。
【００７４】
Ｓ９２０、Ｓ９４０、又はＳ９５０で参照画素群を設定すると、原稿検出部５７は、第１参照画素から第４参照画素までを順に参照し、第１から第４参照画素のいずれかが黒画素であるか否かを判断する（Ｓ９６０）。第ｉ参照画素と表現するときの数字ｉは、図１２Ａから図１２Ｃに示される参照画素群の数字に対応する。Ｓ９６０での判断は、始点画素から副走査方向に連続する画素を検出することに対応する。
【００７５】
第１から第４参照画素のいずれかが黒画素であると判断すると（Ｓ９６０）、原稿検出部５７は、Ｓ９９０に移行し、連続画素数Ｃを１増やした後（Ｃ←Ｃ＋１）、連続画素数Ｃが予め定められた閾値ＴＨ１を超えたか否かを判断する（Ｓ１０００）。例えば、閾値ＴＨ１は、ライン数Ｍ＝３２に対応して値２４に設定され得る。
【００７６】
原稿検出部５７は、連続画素数Ｃが閾値ＴＨ１を超えたと判断すると（Ｓ１０００でＹｅｓ）、連続画素数算出処理を終了する。原稿検出部５７は、連続画素数Ｃが閾値ＴＨ１以下である場合（Ｓ１０００でＮｏ）、Ｓ１０１０に移行し、１ライン下の参照画素群を設定する。具体的には、参照画素群内の黒画素のうち、参照順が最も若い黒画素、即ち、数字ｉの最も小さい黒の参照画素を基準に、Ｓ９２０、Ｓ９４０、又はＳ９５０と同様の規則で新たな参照画素群を設定する（Ｓ１０１０）。
【００７７】
例えば、原稿Ｑが傾いていない場合、参照順が最も若い黒画素を始点画素と同様に取り扱って、この黒画素の真下より右側に１画素ずれた位置から左側に４画素ずれた位置までの合計６つの画素群を、参照画素群に設定する。図１３Ａに示される例によれば、参照順が最も若い黒画素が第１参照画素であることから、その第１参照画素を基準に、下方の参照画素群が設定されている。図１３Ａにおいて、ハッチングされた枠で囲まれた画素が「参照順が最も若い黒画素」に対応する。図１３Ｂ及び１３Ｃについても同様である。
【００７８】
同様に、原稿Ｑが左回りに傾いている場合、Ｓ１０１０において、原稿検出部５７は、参照画素群のうち参照順が最も若い黒画素を、始点画素と同様に取り扱って、この黒画素の真下より右側に２画素ずれた位置から左側に３画素ずれた位置までの合計６つの画素群を、新たな参照画素群に設定する。図１３Ｂに示される例によれば、始点画素の１ライン下において参照順が最も若い黒画素が第２参照画素であることから、その第２参照画素を基準に、下方の参照画素群が設定されている。
【００７９】
原稿が右回りに傾いている場合、Ｓ１０１０において、原稿検出部５７は、参照画素群のうち参照順が最も若い黒画素を、始点画素と同様に取り扱って、始点画素の真下の画素から左側に５画素ずれた位置までの合計６つの画素群を、新たな参照画素群に設定する。図１３Ｃに示される例によれば、始点画素の１ライン下において参照順が最も若い黒画素が第２参照画素であることから、その第２参照画素を基準に、下方の参照画素群が設定されている。
【００８０】
このようにしてＳ１０１０で新たな参照画素群を設定すると、原稿検出部５７は、Ｓ９６０に移行し、上記設定した新たな参照画素群について、第１から第４参照画素のいずれかが黒画素であるか否かを判断する。
【００８１】
そして、第１から第４参照画素のいずれもが黒画素ではないと判断すると（Ｓ９６０でＮｏ）、原稿検出部５７は、連続画素数Ｃが、予め定められた閾値ＴＨ２以上であるか否かを判断する（Ｓ９７０）。Ｓ９７０で用いられる閾値ＴＨ２は、Ｓ１０００で用いられる閾値ＴＨ１より小さい値として定められる。閾値ＴＨ２は、例えば値５であり得る。
【００８２】
連続画素数Ｃが閾値ＴＨ２以上であると判断すると（Ｓ９７０でＹｅｓ）、原稿検出部５７は、第５及び第６参照画素のいずれかが黒画素であるか否かを判断する（Ｓ９８０）。このようにして、Ｓ９８０では、始点画素から副走査方向に黒画素の連続性が認められる場合には、第１から第４参照画素の中に黒画素がない場合でも、参照画素を第５及び第６参照画素まで広げて、黒画素の有無を判断する。
【００８３】
原稿検出部５７は、第５及び第６参照画素のいずれかが黒画素であると判断すると（Ｓ９８０でＹｅｓ）、Ｓ９９０に移行する。一方、第５及び第６参照画素のいずれもが黒画素ではないと判断すると（Ｓ９８０でＮｏ）、連続画素数算出処理を終了する。連続画素数Ｃが閾値ＴＨ２未満であると判断した場合にも（Ｓ９７０でＮｏ）、原稿検出部５７は、連続画素数算出処理を終了する。
【００８４】
このようにしてＳ７９０（図１０参照）での連続画素数算出処理を終えると、原稿検出部５７は、その連続画素数算出処理で算出された連続画素数Ｃが、閾値ＴＨ１を超えているか否かを判断する（Ｓ８００）。Ｓ８００での判断は、Ｓ１０００での判断と同様である。
【００８５】
そして、連続画素数Ｃが閾値ＴＨ１を超えていると判断すると（Ｓ８００でＹｅｓ）、原稿検出部５７は、原稿フラグをオンに設定し（Ｓ８１０）、右エッジ位置を確定する（Ｓ８２０）。確定される右エッジ位置は、右エッジの検出位置に対応する。Ｓ８２０では、始点画素の主走査方向位置を、右エッジの主走査方向位置として確定することができる。あるいは、最後の参照画素群における参照順が最も若い黒画素、又は、最後の参照画素群の設定基準となった黒画素の主走査方向位置を、右エッジの主走査方向位置として確定することができる。その後、原稿検出部５７は、連続性判定処理を終了する。
【００８６】
一方、原稿検出部５７は、連続画素数Ｃが閾値ＴＨ１以下であると判断すると（Ｓ８００でＮｏ）、始点画素を再設定し（Ｓ７４０）、Ｓ７５０以降の処理を実行する。連続画素数Ｃが閾値ＴＨ１を超えるような始点画素を検出できないまま注目ラインが副走査方向検出範囲を超えると（Ｓ７７０でＮｏ）、原稿検出部５７は、原稿フラグをオフに設定し（Ｓ７８０）、連続性判定処理を終了する。
【００８７】
Ｓ５５０における連続性判定処理を終えると、原稿検出部５７は、原稿フラグがオンに設定されているか否かを判断する（図８のＳ５６０）。そして、原稿フラグがオンに設定されていると判断すると（Ｓ５６０でＹｅｓ）、エッジ検出処理を終了する。一方、原稿フラグがオンに設定されていないと判断すると（Ｓ５６０でＮｏ）、図１４に示す密度判定処理を実行する（Ｓ５７０）。
【００８８】
図１４に示す密度判定処理を開始すると、原稿検出部５７は、主走査方向検出範囲に対応する矩形領域内を、図１５に示すように、外側領域、内側領域、及び、中央領域に分割する（Ｓ１１１０）。矩形領域は、処理対象の側辺画像データの先頭ラインから最終ラインまでの副走査方向の幅を有し、更には、主走査方向検出範囲を含み、主走査方向検出範囲と同じ主走査方向の画素数を有する領域に対応する。
【００８９】
外側領域は、中央領域よりも原稿Ｑの外側（右側）に位置する領域であり、内側領域は、中央領域よりも原稿Ｑの内側（左側）に位置する領域である。
具体的には、原稿検出部５７は、矩形領域を主走査方向に４等分し、中央に位置する２つの分割領域を中央領域に設定し、その中央領域に隣接する二つの分割領域をそれぞれ外側領域及び内側領域に設定することができる。
【００９０】
Ｓ１１１０での処理を終えると、原稿検出部５７は、中央領域の黒画素密度Ｄ１を算出する（Ｓ１１２０）。黒画素密度Ｄ１は、中央領域内の黒画素の画素数を、中央領域内の全画素数で除算した値である。原稿検出部５７は、このように算出した黒画素密度Ｄ１が予め定められた閾値ＴＨ３を超えているか否かを判断する。閾値ＴＨ３は、例えば、２．３４％で有り得る。
【００９１】
原稿検出部５７は、中央領域の黒画素密度Ｄ１が閾値ＴＨ３を超えていると判断すると（Ｓ１１３０でＹｅｓ）、原稿フラグをオンに設定すると共に（Ｓ１１４０）、後述する変更量Ａを、予め定められた第一変更量Ａ１に設定して（Ｓ１１５０）、Ｓ１１７０に移行する。
【００９２】
原稿検出部５７は、中央領域の黒画素密度Ｄ１が閾値ＴＨ３以下であると判断すると（Ｓ１１３０でＮｏ）、変更量Ａを、予め定められた第二変更量Ａ２に設定し（Ｓ１１６０）、Ｓ１１７０に移行する。第二変更量Ａ２は、第一変更量Ａ１より大きい値である。
【００９３】
例えば、第一変更量Ａ１は、外側領域又は内側領域の主走査方向の画素数に一致し、第二変更量Ａ２は、中央領域の主走査方向の画素数に一致する。中央領域の主走査方向画素数は、外側領域又は内側領域の主走査方向の画素数の二倍である。例えば矩形領域の主走査方向画素数が２５６画素である場合、第一変更量Ａ１は、値６４で有り得て、第二変更量Ａ２は、値１２８で有り得る。
【００９４】
Ｓ１１５０又はＳ１１６０で変更量Ａを設定すると、原稿検出部５７は、外側領域の黒画素密度Ｄ２を算出する（Ｓ１１７０）。黒画素密度Ｄ２は、外側領域内の黒画素の画素数を、外側領域内の全画素数で除算した値である。原稿検出部５７は、このように算出した黒画素密度Ｄ２が予め定められた閾値ＴＨ４を超えているか否かを判断する（Ｓ１１８０）。閾値ＴＨ４は、例えば、４．６８％で有り得る。
【００９５】
原稿検出部５７は、黒画素密度Ｄ２が閾値ＴＨ４を超えていると判断すると（Ｓ１１８０でＹｅｓ）、右エッジ位置を、今回の主走査方向検出範囲の中心点から外側に変更量Ａだけ変更して確定する（Ｓ１１９０）。その後、原稿フラグをオンに設定し（Ｓ１２３０）、密度判定処理を終了する。
【００９６】
原稿検出部５７は、黒画素密度Ｄ２が閾値ＴＨ４以下であると判断すると（Ｓ１１８０でＮｏ）、内側領域の黒画素密度Ｄ３を算出する（Ｓ１２００）。黒画素密度Ｄ３は、内側領域内の黒画素の画素数を、内側領域内の全画素数で除算した値である。原稿検出部５７は、このように算出した黒画素密度Ｄ３が予め定められた閾値ＴＨ５を超えており、且つ、原稿フラグがオフであるか否かを判断する。閾値ＴＨ５は、例えば、４．６８％で有り得る。
【００９７】
ここで、黒画素密度Ｄ３が閾値ＴＨ５を超えており、且つ、原稿フラグがオフであると判断すると（Ｓ１２１０でＹｅｓ）、原稿検出部５７は、右エッジ位置を、今回の主走査方向検出範囲の中心点から内側に変更量Ａだけ変更して確定する（Ｓ１２２０）。その後、原稿フラグをオンに設定し（Ｓ１２３０）、密度判定処理を終了する。
【００９８】
この他、原稿検出部５７は、原稿フラグがオンであるか、又は、黒画素密度Ｄ３が閾値ＴＨ５以下であると判断すると（Ｓ１２１０でＮｏ）、右エッジ位置を、今回の主走査方向検出範囲の中心点と同一位置に確定する（Ｓ１２４０）。但し、原稿フラグがオフであるとき、Ｓ１２４０の処理は、右エッジ位置を実質的には検出（確定）するものではなく、実行されなくてもよい。その後、密度判定処理を終了する。
【００９９】
図８に示すように、Ｓ５７０において密度判定処理を終了すると、原稿検出部５７は、原稿フラグがオンに設定されているか否かを判断し（Ｓ５８０）、原稿フラグがオンに設定されていると判断すると（Ｓ５８０でＹｅｓ）、エッジ検出処理を終了する。一方、原稿フラグがオフに設定されていると判断すると（Ｓ５８０でＮｏ）、Ｓ５９０に移行する。そして、原稿検出部５７は、左エッジに関して、Ｓ５１０〜Ｓ５７０と同様の処理を、Ｓ５９０〜Ｓ６５０において実行する。
【０１００】
具体的に、Ｓ５９０において、原稿検出部５７は、既に実行したエッジ検出処理において、左エッジの位置が検出されているか否かを判断する（Ｓ５９０）。Ｓ５９０で否定判断すると、原稿検出部５７は、左エッジに関する主走査方向検出範囲の中心点を、先端検出処理において検出された基準角ＱＡ及び原稿Ｑの傾きに基づき設定する。具体的には、基準角ＱＡを通る直線であって、原稿Ｑの傾きに一致する傾きを有する直線の、処理対象の側辺画像データが表す読取画像内の位置（例えば主走査方向中心位置）を特定し、当該特定した位置を、主走査方向検出範囲の中心点に設定する（Ｓ６００）。
【０１０１】
原稿検出部５７は、Ｓ５９０で肯定判断すると、これまでに検出された左エッジの最新位置（前回のエッジ検出処理実行時に検出された左エッジ位置）に基づき、主走査方向検出範囲の中心点を設定する。原稿検出部５７は、最新位置を主走査方向検出範囲の中心点に設定することができる（Ｓ６１０）。あるいは、原稿検出部５７は、最新位置を通る直線であって、原稿Ｑの傾きに一致する傾きを有する直線の、処理対象の側辺画像データが表す読取画像内の位置（例えば主走査方向中心位置）を特定し、当該特定した位置を、主走査方向検出範囲の中心点に設定することができる（Ｓ６１０）。
【０１０２】
その後、原稿検出部５７は、Ｓ６００又はＳ６１０で設定した中心点から主走査方向に沿う左右方向にＬ画素離れた位置までの主走査方向の領域を、主走査方向検出範囲に設定し（Ｓ６２０）、Ｓ６３０で図１０に示す連続性判定処理を実行する。
【０１０３】
Ｓ６３０での連続性判定処理は、図１０及び図１１に示される通りである。但し、図１０及び図１１のフローチャート及びＳ５５０，Ｓ７９０に関連する説明における用語「左」を「右」に、用語「右」を「左」に読み替えた処理が、Ｓ６３０で実行される連続性判定処理である。即ち、Ｓ６３０で実行される連続性判定処理の内容は、Ｓ５５０で実行される連続性判定処理において左右を逆にした処理に対応する。
【０１０４】
原稿検出部５７は、この連続性判定処理の実行により、Ｓ６３０では、主走査方向検出範囲内で左エッジに対応する画素を主走査方向に検出し、検出された画素を基準に副走査方向に複数画素を参照することにより、副走査方向に連続する左エッジに対応する画素群を検出する。連続する左エッジに対応する画素群が検出された場合には、原稿フラグがオンに設定され、それ以外の場合には原稿フラグがオフに維持される。
【０１０５】
原稿検出部５７は、Ｓ６３０の連続性判定処理において原稿フラグがオンに設定されると（Ｓ６４０でＹｅｓ）、エッジ検出処理を終了し、原稿フラグがオフに維持された場合には（Ｓ６４０でＮｏ）、Ｓ６５０で密度判定処理を実行する。Ｓ６５０で実行される密度判定処理は、図１４に示される通りである。但し、図１４のフローチャート及びＳ５７０に関連する説明における用語「左」を「右」に、用語「右」を「左」に読み替えた処理が、Ｓ６５０で実行される密度判定処理である。図１４で言及される「外側」は、中央領域に対して「左側」であり、「内側」は、中央領域に対して「右側」である。
【０１０６】
原稿検出部５７は、このような密度判定処理の実行により、Ｓ６５０では、主走査方向検出範囲に対応する矩形領域内での黒画素の分布に基づき、左エッジの位置を検出する。そして、左エッジの位置を検出することができた場合には、原稿フラグをオンに設定し、左エッジの位置を検出することができなかった場合には、原稿フラグをオフに維持する。その後、原稿検出部５７は、エッジ検出処理を終了し、Ｓ４３０に移行する。原稿フラグがオンに設定されている場合（Ｓ４３０でＹｅｓ）、原稿検出部５７は、Ｓ４４０に移行し、原稿フラグがオフに維持されている場合には（Ｓ４３０でＮｏ）、側辺検出処理を終了する。
【０１０７】
以上に説明した本実施形態の画像読取装置１は、エッジ検出処理において、主走査方向において限定された範囲（主走査方向検出範囲）で、原稿エッジに対応する画素を検出するように動作する。このため、画像データ内において、例えばタブ又はクリップの読取画像のような誤検出を誘発する画素が存在する場合でも、その画素を検出範囲から外して、側辺に対応する画素を検出することができる。
【０１０８】
しかも、一回目のエッジ検出処理では、先端検出処理により得られた非基準角ＱＢの位置に基づいて、主走査方向検出範囲を決定する。例えば、原稿Ｑの傾きがない場合には、主走査方向検出範囲の中心点を、非基準角ＱＢの主走査方向位置に設定する。また、二回目以降のエッジ検出処理では、基本的に前回の検出位置を基準に、主走査方向検出範囲を決定する。このため、本実施形態の画像読取装置１によれば、原稿エッジの検出範囲を制限しながら、真に原稿エッジに対応する画素が検出範囲から外れてしまうのを抑制することができる。
【０１０９】
従って、本実施形態の画像読取装置１によれば、タブ及びクリップ等の読取画像が画像データ内に存在する場合でも、原稿の側辺に対応する原稿エッジの位置を、高精度に検出して、例えばトリミング処理等の後続処理を適切に実行することができる。
【０１１０】
特に、本実施形態によれば、副走査方向に所定ライン毎（例えば３２ライン毎）に、エッジ検出処理を実行する。そして、エッジ検出処理では、主走査方向検出範囲内で原稿エッジに対応する画素を主走査方向に検出し、検出された画素（始点画素）を基準に副走査方向に複数画素を参照することにより、副走査方向に連続する側辺に対応する画素群を検出する。そして、副走査方向に連続する画素群が検出されたことを条件に、原稿エッジの位置を確定（検出）する。従って、ノイズに影響されて原稿エッジの位置を誤検出するのを抑制しつつ、副走査方向に連続する原稿エッジに対応する画素群を効率的に検出することができる。
【０１１１】
更に言えば、本実施形態では、原稿Ｑに傾きが生じている可能性を考慮し、先端検出処理にて原稿Ｑのゼロではない傾きが検出された場合には、傾きに応じて参照画素群を決定する。従って、原稿Ｑの傾きが生じている場合にも、始点画素から効率的に且つ適切に、副走査方向に連続する原稿エッジに対応する画素群を検出することができる。
【０１１２】
この他、本実施形態では、副走査方向に連続する原稿エッジに対応する画素群を検出することができなかった場合、主走査方向検出範囲に対応する矩形領域内での黒画素の分布に基づき、原稿エッジの位置を確定（検出）する。従って、連続する原稿エッジに対応する画素群の検出に失敗した場合にも、原稿エッジの位置を、精度よく検出することができる。
【０１１３】
本実施形態では更に、エッジ検出処理において、右エッジの位置を検出することができなかった場合には、同様の方式で、左エッジの位置を検出する。そして、原稿検出部５７は、これらの手法で原稿エッジとして右エッジ及び左エッジのいずれの位置も検出することができなくなったことを条件に、側辺検出処理を終えて、原稿Ｑの後端までの読取が完了したことを主制御部３０に通知する。主制御部３０は、この通知を受けて、ラインイメージセンサ１０による読取動作の繰返し実行、及び、搬送機構６０によるラインイメージセンサ１０の搬送を終了させる。
【０１１４】
こうした制御によれば、画像読取装置１は、原稿Ｑの後端をラインイメージセンサ１０が読み取り終えた後、迅速に不要な読取動作を終えて、次の処理ステップに移行することができる。次の処理ステップとしては、トリミング処理、画像データの出力処理等を一例に挙げることができる。従って、本実施形態によれば、非常に有用な画像読取装置１を提供することが可能である。
【０１１５】
本開示は、上記実施形態に限定されるものではなく、種々の態様を採ることができる。例えば、画像読取装置１は、左エッジを検出するためのＳ５９０〜Ｓ６５０の処理を実行しないように構成されてもよい。画像読取装置１は、密度判定処理を実行しないように構成されてもよい。
【０１１６】
この他、上記実施形態における１つの構成要素が有する機能は、複数の構成要素に分散して設けられてもよい。複数の構成要素が有する機能は、１つの構成要素に統合されてもよい。上記実施形態の構成の一部は、省略されてもよい。上記実施形態の構成の少なくとも一部は、他の上記実施形態の構成に対して付加又は置換されてもよい。特許請求の範囲に記載の文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【０１１７】
最後に用語間の対応関係を説明する。主制御部３０が実行する読取処理、及び、主制御部３０からの命令を受けて動作する読取制御部４０及びモータ制御部７０が実行する処理は、制御部により実現される処理の一例に対応する。原稿検出部５７が実行する原稿検出処理は、角検出部及び傾き検出部によって実現される処理の一例に対応する。原稿検出部５７が実行する側辺検出処理は、側辺検出部によって実現される処理の一例に対応する。
【符号の説明】
【０１１８】
１…画像読取装置、１０…ラインイメージセンサ、２０…原稿台、２０Ａ…角部、３０…主制御部、４０…読取制御部、５１…ＡＤ変換器、５３…画像処理部、５５…二値化部、５７…原稿検出部、５７Ａ…プロセッサ、５７Ｂ…メモリ、６０…搬送機構、６５…モータ、７０…モータ制御部、７５…検出器、８０…ユーザインタフェース、８５…通信インタフェース、Ｑ…原稿、ＱＡ…基準角、ＱＢ…非基準角。
【図１】
2019080152.tif 000003
【図２】
2019080152.tif 000004
【図３】
2019080152.tif 000005
【図４】
2019080152.tif 000006
【図５】
2019080152.tif 000007
【図６】
2019080152.tif 000008
【図７】
2019080152.tif 000009
【図８】
2019080152.tif 000010
【図９】
2019080152.tif 000011
【図１０】
2019080152.tif 000012
【図１１】
2019080152.tif 000013
【図１２】
2019080152.tif 000014
【図１３】
2019080152.tif 000015
【図１４】
2019080152.tif 000016
【図１５】
2019080152.tif 000017