(57)【特許請求の範囲】
【請求項１】
原稿が載置されるトレイと、
前記トレイに載置された前記原稿を搬送する搬送手段と、
前記原稿の搬送方向に直交する幅方向の該原稿のサイズを検出する原稿幅検出手段と、
前記搬送手段によって搬送されている前記原稿の画像を読み取り、画像データを出力する画像読取手段と、
前記原稿幅検出手段で検出した前記原稿の前記幅方向のサイズに基づいて、前記原稿の２つのエッジ部分があると推定される前記幅方向における異なる２つの位置に対応する２つのエッジ検出範囲を設定して、前記２つのエッジ検出範囲内の前記画像データに基づき前記原稿のエッジ部分を検出し、前記エッジ部分に基づき前記原稿の幅方向からの斜行量を検知する斜行量検知手段と、
前記斜行量に基づき、前記画像データに対して斜行補正を行う斜行補正手段と、を備えることを特徴とする、
画像読取装置。
【請求項２】
前記斜行量検知手段は、前記エッジ部分から、前記幅方向に異なる２頂点を結ぶ直線の傾きを前記斜行量として算出し、
前記斜行補正手段は、前記２頂点の位置に応じて前記画像データをアフィン変換することで斜行補正を行うことを特徴とする、
請求項１記載の画像読取装置。
【請求項３】
前記画像読取手段は、同一のサイズの複数の前記原稿から連続して画像を読み取り、
前記斜行量検知手段は、前記原稿の２つのエッジ部分があると推定される前記幅方向における異なる２つの位置に対応する２カ所に分かれて前記２つのエッジ検出範囲に設定することを特徴とする、
請求項１記載の画像読取装置。
【請求項４】
前記斜行量検知手段は、前記エッジ部分から、第１のエッジ検出範囲の範囲内を搬送方向に伸びる第１の直線、第２のエッジ検出範囲の範囲内を搬送方向に伸びる第２の直線、及び前記第１のエッジ検出範囲及び前記第２のエッジ検出範囲の各々の幅方向の中央部側のエッジ部分の位置を通る第３の直線を算出し、前記第１の直線と前記第３の直線との交点及び前記第２の直線と前記第３の直線の交点を結ぶ直線の傾きを前記斜行量として算出することを特徴とする、
請求項３記載の画像読取装置。
【請求項５】
前記斜行量検知手段は、前記原稿の前記幅方向のサイズと前記２つのエッジ検出範囲との関係を表すテーブルに応じて、前記２つのエッジ検出範囲を設定することを特徴とする、
請求項１記載の画像読取装置。
【請求項６】
前記トレイに載置される複数の前記原稿のサイズが同一か或いは異なるかが入力される入力手段と、
複数の前記原稿のサイズが同一の場合の前記原稿の幅方向のサイズと前記２つのエッジ検出範囲との関係を表す第１のテーブル、及び複数の前記原稿のサイズが異なる場合の前記原稿の最大の幅方向のサイズと前記２つのエッジ検出範囲との関係を表す第２のテーブルを記憶する記憶手段とを備えており、
前記斜行量検知手段は、前記入力手段による入力に応じて、前記第１のテーブル及び前記第２のテーブルのいずれかを用いて前記２つのエッジ検出範囲を設定することを特徴とする、
請求項５記載の画像読取装置。
【請求項７】
ユーザの指示を受け付ける入力手段をさらに備えており、
前記斜行量検知手段は、前記入力手段により、前記トレイに前記幅方向のサイズが異なる原稿を混載していることが指定されたときと指定されなかったときとで、異なるエッジ検出範囲を設定することを特徴とする、
請求項１記載の画像読取装置。
【請求項８】
前記トレイは、載置された前記原稿を挟み込んで整合する２つの原稿ガイドを備えており、
前記原稿幅検出手段は、前記２つの原稿ガイドの間隔によって前記原稿の前記幅方向のサイズを検出することを特徴とする、
請求項１記載の画像読取装置。
【請求項９】
前記斜行量検知手段は、前記斜行量を検知できなければ、前記２つのエッジ検出範囲を再設定して、前記エッジ部分を取得することを特徴とする、
請求項１記載の画像読取装置。
【請求項１０】
前記斜行補正手段は、前記斜行量が検知されなければ、斜行補正を行わないことを特徴とする、
請求項１記載の画像読取装置。
【請求項１１】
原稿が載置されるトレイ、前記トレイに載置された前記原稿を搬送する搬送手段、前記搬送手段によって搬送されている前記原稿の画像を読み取り、画像データを出力する画像読取手段、及び前記原稿の搬送方向に直交する幅方向の該原稿のサイズを検出する原稿幅検出手段を備える画像読取装置により実行される方法であって、
前記原稿幅検出手段で検出した前記原稿の前記幅方向のサイズに基づいて、前記原稿の２つのエッジ部分があると推定される前記幅方向における異なる２つの位置に対応する２つのエッジ検出範囲を設定し、
前記２つのエッジ検出範囲内の前記画像データに基づき前記原稿のエッジ部分を検出し、
前記エッジ部分に基づき前記原稿の幅方向からの斜行量を検知し、
前記斜行量に基づき、前記画像データに対して斜行補正を行う、ことを特徴とする、
画像読取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿の画像（以下、「原稿画像」という。）を読み取るスキャナ等の画像読取装置に関する。
【背景技術】
【０００２】
画像読取装置は、例えば複写機や複合機等の画像形成装置に設けられ、複写やファクシミリ送信の際の原稿画像の読み取りに用いられる。また、画像読取装置は、パーソナルコンピュータ等の情報処理装置に接続されて、スキャナとして用いられることもある。画像読取装置は、ＡＤＦ（Automatic Document Feeder）のような原稿搬送装置を備えることもある。原稿搬送装置を備えた画像読取装置は、原稿搬送装置から原稿を１枚ずつ連続して取り込み、取り込んだ原稿を搬送しながら原稿画像を連続して読み取る。画像読取装置は、原稿搬送装置から原稿を連続して取り込むことで、効率的に原稿画像の読み取りを行うことができる。
【０００３】
画像読取装置は、原稿画像の読み取り時に、搬送される原稿に光を照射し、その反射光を受光する。画像読取装置は、受光した反射光を電気信号に変換して、読み取った原稿画像を表す画像データを生成する。画像読取装置は、原稿の搬送方向に対して直交する方向を主走査方向として原稿に光を照射し、原稿画像を読み取る。原稿が主走査方向に対して傾いて搬送される場合、画像読取装置は、傾いた状態の原稿画像を読み取ることになる。原稿画像の傾きを補正するために、搬送される原稿の傾きを検出して、傾き補正を行う画像読取装置が提案されている（特許文献１）。また、原稿画像の傾き量を検出する際の原稿画像のエッジ部分の検出の信頼性を高める画像読取装置が提案されている（特許文献２）。特許文献２の画像読取装置は、原稿よりも広い領域の画像を読み取り、原稿のサイズ及び読み取った画像のエッジ部分の検出結果に基づいて読み取り結果から原稿画像の領域を類推することで、原稿画像の傾き量を検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１６４８０７号公報
【特許文献２】特開２０１３−１２３１１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
原稿画像の読取位置において原稿の領域外である背景部分にゴミ、汚れ等が付着する場合、画像読取装置は、背景部分のゴミ、汚れ等を画像として読み取ってしまう。画像読取装置は、ゴミ、汚れ等を含む画像から原稿画像のエッジ部分の検出を行うと、ゴミ、汚れ等を原稿画像のエッジ部分に誤認識することがある。原稿画像のエッジ部分の誤認識は、原稿の傾き量の正確な検出を妨げる。
【０００６】
本発明は、上記の問題を解決するために、背景部分にゴミ、汚れ等が付着する場合でも、原稿画像のエッジ部分を精度よく認識して、原稿の傾き量を正確に検出可能な画像読取装置を提供することを主たる課題とする。
【課題を解決するための手段】
【０００７】
本発明の画像読取装置は、原稿が載置されるトレイと、前記トレイに載置された前記原稿を搬送する搬送手段と、前記原稿の搬送方向に直交する幅方向の該原稿のサイズを検出する原稿幅検出手段と、前記搬送手段によって搬送されている前記原稿の画像を読み取り、画像データを出力する画像読取手段と、前記原稿幅検出手段で検出した前記原稿の前記幅方向のサイズに基づいて、前記原稿の２つのエッジ部分があると推定される前記幅方向における異なる２つの位置に対応する２つのエッジ検出範囲を設定して、前記２つのエッジ検出範囲内の前記画像データに基づき前記原稿のエッジ部分を検出し、前記エッジ部分に基づき前記原稿の幅方向からの斜行量を検知する斜行量検知手段と、前記斜行量に基づき、前記画像データに対して斜行補正を行う斜行補正手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、原稿のエッジ部分をエッジ検出範囲内の画像から検出することとすることで、背景部分にゴミ、汚れ等が付着する場合でも、原稿画像のエッジ部分を精度よく認識して、原稿の傾き量を正確に検出可能となる。
【図面の簡単な説明】
【０００９】
【図１】画像読取装置の構成図。
【図２】画像読取ユニットの構成図。
【図３】（ａ）、（ｂ）は画像読取装置の上視図。
【図４】コントローラの構成図。
【図５】斜行量検知部の構成図。
【図６】（ａ）〜（ｄ）はエッジ検出処理の説明図。
【図７】原稿の搬送方向先端の２頂点の座標を算出する処理の説明図。
【図８】原稿の搬送方向先端の２頂点座標を算出する処理を表すフローチャート。
【図９】原稿の搬送方向先端の２頂点の座標を算出する処理の説明図。
【図１０】原稿の搬送方向先端の２頂点座標を算出する処理を表すフローチャート。
【図１１】ゴミが発生した状態の例示図。
【図１２】ゴミを読み取った場合の原稿画像の例示図。
【図１３】原稿画像の左上頂点の座標の説明図。
【図１４】原稿トレイに異なるサイズの複数の原稿が載置された状態を表す図。
【図１５】（ａ）、（ｂ）は小さいサイズの原稿のエッジ検出を行う場合の説明図。
【図１６】設定画面の例示図。
【図１７】原稿サイズに対するエッジ検出範囲の具体的な例示図。
【図１８】斜行補正の説明図。
【図１９】画像読取処理を表すフローチャート。
【図２０】原稿が原稿ガイドよりも内側に載置されている場合の説明図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しつつ実施形態を詳細に説明する。
【００１１】
図１は、原稿搬送機構を搭載する画像読取装置の構成図である。画像読取装置は、原稿トレイ１０１、原稿搬送モータ１０５、画像読取ユニット１０６、及び排紙トレイ１０８を備える。原稿トレイ１０１は、１枚以上の矩形の原稿１０２が載置される。原稿１０２の搬送経路１１０に沿って、給紙ローラ１１１、搬送ローラ１１２、及び排出ローラ１１３が設けられる。給紙ローラ１１１、搬送ローラ１１２、及び排出ローラ１１３は、原稿搬送モータ１０５により駆動される。
原稿トレイ１０１は、原稿１０２の搬送方向に直交する方向に並んで２つの原稿ガイド１０３を備える。本明細書では、原稿１０２の搬送方向に直交する方向を原稿１０２の幅方向という。２つの原稿ガイド１０３は、原稿１０２の幅方向にスライド可能であり、原稿トレイ１０１に載置される原稿１０２を挟み込んで整合する。給紙ローラ１１１は、原稿トレイ１０１に載置される原稿１０２を１枚ずつ取り込む。搬送ローラ１１２は、給紙ローラ１１１により取り込まれた原稿１０２を画像読取ユニット１０６へ搬送する。搬送経路１１０を挟んで画像読取ユニット１０６に対向する位置には、原稿背景板１０９が設けられる。画像読取ユニット１０６は、原稿背景板１０９との間に画像読取位置１０７を形成する。画像読取ユニット１０６は、搬送ローラ１１２により搬送された原稿１０２が画像読取位置１０７を通過する際に、原稿画像を読み取る。原稿画像が読み取られた原稿１０２は、排出ローラ１１３により画像読取位置１０７から排紙トレイ１０８へ排出される。
【００１２】
図２は、画像読取ユニット１０６の構成図である。画像読取ユニット１０６は、ＬＥＤ（Light Emitting Diode）光源２０１、レンズ２０２、ＣＣＤ（Charge Coupled Device）ラインセンサ２０３、及びミラー２０４〜２０７を備える。
【００１３】
ＬＥＤ光源２０１は、画像読取位置１０７を通過する原稿１０２に対して光を照射する。ＬＥＤ光源２０１は、複数のＬＥＤ素子（発光素子）が原稿１０２の幅方向に並んで構成されてもよく、また、原稿１０２の幅方向に移動可能に構成されてもよい。そのために、画像読取ユニット１０６の主走査方向は、原稿１０２の幅方向になる。副走査方向は、原稿１０２の搬送方向になる。
【００１４】
ＬＥＤ光源２０１から原稿１０２に照射される光は、原稿１０２により反射される。原稿１０２による反射光は、ミラー２０４〜２０７により反射されて、レンズ２０２に導かれる。レンズ２０２は、反射光をＣＣＤラインセンサ２０３の受光面に集光する。ＣＣＤラインセンサ２０３は、長辺が主走査方向に伸びる矩形の受光面を有する。ＣＣＤラインセンサ２０３は、受光面に集光された反射光を受光して光電変換し、原稿画像を表す電気信号であるアナログ画像データを生成する。
【００１５】
図３は、画像読取装置の上視図である。画像読取装置は、原稿トレイ１０１に設けられる２つの原稿ガイド１０３の間隔を検出することで、原稿トレイ１０１に載置される原稿１０２の幅方向のサイズ（原稿幅）を検出することができる。
【００１６】
２つの原稿ガイド１０３の間には、原稿幅を検出するためのボリューム抵抗器１０４が設けられる。２つの原稿ガイド１０３は、それぞれ突起部分１０３ａによりボリューム抵抗器１０４に接続される。２つの原稿ガイド１０３が幅方向にスライドすることで、連動してボリューム抵抗器１０４の抵抗値が変動する。画像読取装置が読み取り可能な最大幅の原稿１０２を原稿トレイ１０１に載置する場合には、図３（ａ）に示すように、２つの原稿ガイド１０３の間隔が最大限に開いた状態になる。この場合、ボリューム抵抗器１０４の抵抗値が最小になる。原稿１０２の幅が狭くなる場合、図３（ｂ）に示すように、２つの原稿ガイド１０３の間隔が狭くなる。この場合、ボリューム抵抗器１０４の抵抗値が大きくなる。ボリューム抵抗器１０４の抵抗値が２つの原稿ガイド１０３の間隔に応じて線形変化するために、画像読取装置は、この抵抗値に応じて原稿トレイ１０１に載置される原稿１０２の原稿幅を検出することができる。なお、ボリューム抵抗器１０４を用いずに原稿幅を検出するようにしてもよい。例えば、原稿トレイ１０１の原稿１０２が載置される面の幅方向に複数のセンサを並べて設け、各センサの検出結果から原稿幅を検出するような構成でもよい。
図３では、原稿１０２の幅方向の中央を基準として原稿幅が検出される。原稿１０２は、幅方向の中央を原稿トレイ１０１の幅方向の中央に合わせて載置される。２つの原稿ガイド１０３は、載置された原稿１０２の原稿幅に応じてスライドされる。この他に、原稿１０２の幅方向の一方の端部を基準として原稿幅が検出されるようにしてもよい。この場合、一方の原稿ガイド１０３が固定され、他方の原稿ガイド１０３がスライド可能となる。原稿１０２は、基準となる幅方向の一方の端部が、固定された一方の原稿ガイド１０３に押しつけられて載置される。他方の原稿ガイド１０３がスライドすることで、ボリューム抵抗器１０４の抵抗値が変動して、原稿幅が検出される。
【００１７】
図４は、画像読取装置の動作を制御するコントローラの構成図である。コントローラ４００は、画像読取装置に内蔵される。コントローラ４００は、ＣＰＵ（Central Processing Unit）４０１、Ａ／Ｄ変換部４０３、シェーディング補正部４０４、斜行量検知部４０５、メモリ４０７、及び斜行補正部４０８を備える。コントローラ４００は、原稿搬送モータ１０５及び画像読取ユニット１０６（ＬＥＤ光源２０１及びＣＣＤラインセンサ２０３）に接続され、原稿搬送モータ１０５による原稿１０２の搬送制御、画像読取ユニット１０６による画像読取制御を行う。コントローラ４００は、ＣＣＤラインセンサ２０３から原稿画像を表すアナログ画像データを取得し、斜行補正等の画像処理を行って画像データを生成し、出力する。生成された画像データは、複写やファクシミリ送信、パーソナルコンピュータ等への送信に用いられる。
コントローラ４００は、ボリューム抵抗器１０４に接続され、ボリューム抵抗器１０４の抵抗値を検出する。コントローラ４００は操作部４０６に接続される。操作部４０６は、入力装置であり、ユーザからの画像読取処理の開始指示、原稿サイズ指定等の指示を受け付けて、コントローラ４００に送信する。また操作部４０６は、ディスプレイ等の出力装置を備え、コントローラ４００の制御によりメッセージの表示等を行う。
【００１８】
ＣＰＵ４０１は、画像読取装置の各部の動作を制御することで画像読取処理を行う。ＣＰＵ４０１は、画像読取処理では、ＬＥＤ光源２０１の発光制御、原稿搬送モータ１０５による原稿１０２の搬送制御、ＣＣＤラインセンサ２０３による受光した反射光の光電変換等の制御を行う。ＣＰＵ４０１は、操作部４０６から入力されるユーザの指示に基づいて、画像読取処理を行う。また、ＣＰＵ４０１は、ボリューム抵抗器１０４の抵抗値に基づいて、原稿トレイ１０１に載置される原稿１０２の原稿幅に等しい２つの原稿ガイド１０３の間隔を検出する。
【００１９】
Ａ／Ｄ変換部４０３は、ＣＣＤラインセンサ２０３から入力されるアナログ画像データをデジタル画像データに変換する。シェーディング補正部４０４は、デジタル画像データを処理して、ＬＥＤ光源２０１の光量の不均一性やＣＣＤラインセンサ２０３の画素感度の影響を補正（シェーディング補正）する。
【００２０】
斜行量検知部４０５は、シェーディング補正部４０４により補正されたデジタル画像データに基づいて、原稿１０２の幅方向に対する斜行量（傾き）を検知する。斜行量検知部４０５は、検知した斜行量をＣＰＵ４０１に入力する。斜行補正部４０８は、シェーディング補正部４０４により補正されたデジタル画像データをメモリ４０７に格納するとともに、ＣＰＵ４０１から指示される斜行量に基づいて、デジタル画像データに対して斜行補正を行って画像データを生成する。斜行補正部４０８は、生成した画像データを出力する。メモリ４０７に格納されるデジタル画像データは、斜行補正の際に斜行補正部４０８に読み出される他に、斜行量の検知の際に斜行量検知部４０５に読み出される。
【００２１】
図５は、斜行量検知部４０５の詳細な構成図である。斜行量検知部４０５は、入力データ選択部５０１、エッジ検出部５０２、エッジ検出データ用メモリ５０３、及び斜行量算出部５０４を備える。
【００２２】
入力データ選択部５０１は、ＣＰＵ４０１からの入力データ選択指示に応じて、シェーディング補正部４０４からのデジタル画像データ及びメモリ４０７からのデジタル画像データのいずれか一方を選択して、エッジ検出部５０２に送信する。エッジ検出部５０２は、入力データ選択部５０１から取得したデジタル画像データに対してエッジ検出処理を行い、原稿画像のエッジ部分を検出する。エッジ検出部５０２は、ＣＰＵ４０１からエッジ検出を行う範囲を指定する検出範囲設定指示を取得し、指定されたエッジ検出範囲でエッジ部分を検出する。エッジ検出処理の結果は、エッジ検出データ用メモリ５０３に保存される。
【００２３】
図６は、エッジ検出処理の説明図である。図６（ａ）、図６（ｃ）の原稿画像は、原稿１０２のエッジ部分となるエッジ画像を表し、図中左右方向が原稿１０２の幅方向である。原稿１０２のエッジ画像は、例えば、原稿画像に含まれる原稿背景板１０９と原稿１０２との色差や、原稿１０２のエッジ部分により生じる影により生成される。原稿画像は、ＣＣＤラインセンサ２０３が読み取り可能な最大範囲の画像である。
【００２４】
図６（ａ）、図６（ｃ）の斜線部分は、ＣＰＵ４０１から指示されるエッジ検出範囲を表す。斜行量検知部４０５は、エッジ検出範囲内でエッジ検出処理を行う。図６（ａ）では、原稿１０２の幅方向の中央部を挟んで２カ所に分かれてエッジ検出範囲Ｌ、Ｒが設定される。エッジ検出部５０２は、このエッジ検出範囲Ｌ、Ｒでエッジ検出処理を行うことで、エッジ検出範囲Ｌ、Ｒ内のエッジ画像である図６（ｂ）のエッジ検出結果を得る。図６（ｃ）では、原稿１０２の幅方向の中央部を含めて一つのエッジ検出範囲が設定される。エッジ検出部５０２は、このエッジ検出範囲でエッジ検出処理を行うことで、エッジ検出範囲内のエッジ画像である図６（ｄ）のエッジ検出結果を得る。図６（ｂ）、図６（ｄ）のようなエッジ検出結果を表すデータがエッジ検出データ用メモリ５０３に保存される。
【００２５】
斜行量算出部５０４は、エッジ検出部５０２によるエッジ検出結果をエッジ検出データ用メモリ５０３から取得して、原稿１０２の斜行量を表す２頂点の位置（座標）を算出する。算出する２頂点の座標は、原稿１０２の幅方向で異なる位置の２頂点の位置を表す。例えば斜行量算出部５０４は、原稿１０２の搬送方向先端となる原稿画像の２頂点の座標を算出する。図７は、図６（ｂ）のエッジ検出結果から原稿１０２の搬送方向先端となる原稿画像の２頂点の座標を算出する処理の説明図である。図７では、原稿１０２の幅方向をｘ座標、原稿１０２の搬送方向をｙ座標として説明する。斜行量算出部５０４は、エッジ検出結果から、直線Ｌ、直線Ｒ、直線Ｆを表す一次式を算出する。直線Ｆは、エッジ検出範囲Ｌ及びエッジ検出範囲Ｒの各々の幅方向の中央部側のエッジ検出結果の位置を通る直線である。直線Ｌは、エッジ検出範囲Ｌの範囲内を搬送方向に伸びるエッジ検出結果の直線である。直線Ｒは、エッジ検出範囲Ｒの範囲内を搬送方向に伸びるエッジ検出結果の直線である。直線Ｌと直線Ｆとの交点、及び直線Ｒと直線Ｆとの交点が、原稿画像の２頂点の座標となる。図８のフローチャートにより、このようなエッジ検出結果から原稿画像の２頂点の座標を算出する処理を説明する。
【００２６】
斜行量算出部５０４は、図６（ｂ）のエッジ検出結果から、エッジ検出範囲Ｌのｘ座標が最大値の位置で、ｙ軸の正方向に、エッジ画像が最初に見つかるｙ座標を検索する（Ｓ８０１）。エッジ画像が索出できた場合（Ｓ８０２：Y）、斜行量算出部５０４は、この位置（第１エッジ位置）の座標（第１エッジ座標ｔｍｐ１（ｘ１，ｙ１））を一旦保持する（Ｓ８０３）。エッジ画像が索出できない場合（Ｓ８０２：N）、斜行量算出部５０４は、ＣＰＵ４０１にエラーを通知する（Ｓ８２３）。
続いて斜行量算出部５０４は、エッジ検出結果から、エッジ検出範囲Ｒのｘ座標が最小値の位置で、ｙ軸の正方向に、エッジ画像が最初に見つかるｙ座標を検索する（Ｓ８０４）。エッジ画像が索出できた場合（Ｓ８０５：Y）、斜行量算出部５０４は、この位置（第２エッジ位置）の座標（第２エッジ座標ｔｍｐ２（ｘ２，ｙ２））を一旦保持する（Ｓ８０６）。エッジ画像が索出できない場合（Ｓ８０５：N）、斜行量算出部５０４は、ＣＰＵ４０１にエラーを通知する（Ｓ８２３）。斜行量算出部５０４は、第１エッジ座標ｔｍｐ１（ｘ１，ｙ１）及び第２エッジ座標ｔｍｐ２（ｘ２，ｙ２）により、直線Ｆを表す一次式（ｙ＝ａF・ｘ＋ｂF）を算出する（Ｓ８０７）。
【００２７】
斜行量算出部５０４は、第１エッジ位置のｙ座標（ｙ１）からｙ軸の正方向に所定の距離だけ移動した位置（ｙ３）において、エッジ検出範囲Ｌのｘ座標の最小値の位置で、ｘ軸の正方向に、エッジ画像が最初に見つかるｘ座標を検索する（Ｓ８０８）。エッジ画像が索出できた場合（Ｓ８０９：Y）、斜行量算出部５０４は、この位置（第３エッジ位置）の座標（第３エッジ座標ｔｍｐ３（ｘ３，ｙ３））を一旦保持する（Ｓ８１０）。エッジ画像が索出できない場合（Ｓ８０９：N）、斜行量算出部５０４は、ＣＰＵ４０１にエラーを通知する（Ｓ８２３）。
斜行量算出部５０４は、第３エッジ位置のｙ座標（ｙ３）からｙ軸の正方向に所定の距離だけ移動した位置（ｙ４）において、エッジ検出範囲Ｌのｘ座標の最小値の位置で、ｘ軸の正方向に、エッジ画像が最初に見つかるｘ座標を検索する（Ｓ８１１）。エッジ画像が索出できた場合（Ｓ８１２：Y）、斜行量算出部５０４は、この位置（第４エッジ位置）の座標（第４エッジ座標ｔｍｐ４（ｘ４，ｙ４））を一旦保持する（Ｓ８１３）。エッジ画像が索出できない場合（Ｓ８１２：N）、斜行量算出部５０４は、ＣＰＵ４０１にエラーを通知する（Ｓ８２３）。斜行量算出部５０４は、第３エッジ座標ｔｍｐ３（ｘ３，ｙ３）及び第４エッジ座標ｔｍｐ４（ｘ４，ｙ４）により、直線Ｌを表す一次式（ｙ＝ａL・ｘ＋ｂL）を算出する（Ｓ８１４）。
【００２８】
斜行量算出部５０４は、第２エッジ位置のｙ座標（ｙ２）からｙ軸の正方向に所定の距離だけ移動した位置（ｙ５）において、エッジ検出範囲Ｒのｘ座標の最大値の位置で、ｘ軸の負方向に、エッジ画像が最初に見つかるｘ座標を検索する（Ｓ８１５）。エッジ画像が索出できた場合（Ｓ８１６：Y）、斜行量算出部５０４は、この位置（第５エッジ位置）の座標（第５エッジ座標ｔｍｐ５（ｘ５，ｙ５））を一旦保持する（Ｓ８１７）。エッジ画像が索出できない場合（Ｓ８１６：N）、斜行量算出部５０４は、ＣＰＵ４０１にエラーを通知する（Ｓ８２３）。
斜行量算出部５０４は、第５エッジ位置のｙ座標（ｙ５）からｙ軸の正方向に所定の距離だけ移動した位置（ｙ６）において、エッジ検出範囲Ｒのｘ座標の最大値の位置で、ｘ軸の負方向に、エッジ画像が最初に見つかるｘ座標を検索する（Ｓ８１８）。エッジ画像が索出できた場合（Ｓ８１９：Y）、斜行量算出部５０４は、この位置（第６エッジ位置）の座標（第６エッジ座標ｔｍｐ６（ｘ６，ｙ６））を一旦保持する（Ｓ８２０）。エッジ画像が索出できない場合（Ｓ８１９：N）、斜行量算出部５０４は、ＣＰＵ４０１にエラーを通知する（Ｓ８２３）。斜行量算出部５０４は、第５エッジ座標ｔｍｐ５（ｘ５，ｙ５）及び第６エッジ座標ｔｍｐ６（ｘ６，ｙ６）により、直線Ｒを表す一次式（ｙ＝ａR・ｘ＋ｂR）を算出する（Ｓ８２１）。
【００２９】
斜行量算出部５０４は、以上の処理により得られた直線Ｆ、直線Ｌ、直線Ｒから、直線Ｆと直線Ｌ、及び直線Ｆと直線Ｒのそれぞれの交点を算出する。これにより斜行量算出部５０４は、原稿１０２の搬送方向先端の、左上頂点の座標Ｌ（ｘL，ｙL）及び右上頂点の座標Ｒ（ｘR，ｙR）を取得する。斜行量算出部５０４は、取得した座標Ｌ（ｘL，ｙL）及び右上頂点の座標Ｒ（ｘR，ｙR）を、斜行量としてＣＰＵ４０１に出力する（Ｓ８２２）。
【００３０】
図９は、図６（ｄ）のエッジ検出結果から原稿１０２の搬送方向先端となる原稿画像の２頂点の座標を算出する処理の説明図である。図９では、原稿１０２の幅方向をｘ座標、原稿１０２の搬送方向をｙ座標として説明する。斜行量算出部５０４は、エッジ検出結果から、直線Ｌ、直線Ｒ、直線Ｆを表す一次式を算出する。直線Ｆは、エッジ検出範囲の範囲内を幅方向に伸びる直線である。直線Ｌ及び直線Ｒは、エッジ検出範囲の範囲内を搬送方向に伸びるエッジ検出結果の直線である。直線Ｌと直線Ｆとの交点、及び直線Ｒと直線Ｆとの交点が、原稿画像の２頂点の座標となる。図１０のフローチャートにより、このようなエッジ検出結果から原稿画像の２頂点の座標を算出する処理を説明する。図６（ｄ）のエッジ検出結果から原稿画像の２頂点の座標を算出する場合、直線Ｆの算出処理が、図６（ｂ）エッジ検出結果を用いる場合とは異なる。直線Ｌ及び直線Ｒの算出処理は、図６（ｂ）エッジ検出結果を用いる場合と同様の処理により算出される。
【００３１】
斜行量算出部５０４は、図６（ｄ）のエッジ検出結果から、エッジ検出範囲のｘ座標が最小値の位置からｘ軸の正方向に所定の距離だけ移動したｘ座標の位置（ｘ１）で、ｙ軸の正方向に、エッジ画像が最初に見つかるｙ座標を検索する（Ｓ１７０１）。エッジ画像が索出できた場合（Ｓ１７０２：Y）、斜行量算出部５０４は、この位置（第１エッジ位置）の座標（第１エッジ座標ｔｍｐ１（ｘ１，ｙ１））を一旦保持する（Ｓ１７０３）。エッジ画像が索出できない場合（Ｓ１７０２：N）、斜行量算出部５０４は、ｘ座標の位置をｘ軸の正方向に所定の距離だけさらに移動して、ｙ座標の検索を行う（Ｓ１７０４：N、Ｓ１７０５、Ｓ１７０１）。ｘ座標をずらしていき、ずらせる最大値であってもｙ座標が検索されない場合（Ｓ１７０４：Y）、ＣＰＵ４０１にエラーを通知する（Ｓ１７２７）。
【００３２】
続いて斜行量算出部５０４は、エッジ検出結果から、エッジ検出範囲のｘ座標が最大値の位置からｘ軸の負方向に所定の距離だけ移動したｘ座標の位置（ｘ２）で、ｙ軸の正方向に、エッジ画像が最初に見つかるｙ座標を検索する（Ｓ１７０６）。エッジ画像が索出できた場合（Ｓ１７０７：Y）、斜行量算出部５０４は、この位置（第２エッジ位置）の座標（第２エッジ座標ｔｍｐ２（ｘ２，ｙ２））を一旦保持する（Ｓ１７１０）。エッジ画像が索出できない場合（Ｓ１７０７：N）、斜行量算出部５０４は、ｘ座標の位置をｘ軸の負方向に所定の距離だけさらに移動して、ｙ座標の検索を行う（Ｓ１７０８：N、Ｓ１７０９、Ｓ１７０６）。ｘ座標をずらしていき、ずらせる最大値であってもｙ座標が検索されない場合（Ｓ１７０８：Y）、ＣＰＵ４０１にエラーを通知する（Ｓ１７２７）。斜行量算出部５０４は、第１エッジ座標ｔｍｐ１（ｘ１，ｙ１）及び第２エッジ座標ｔｍｐ２（ｘ２，ｙ２）により、直線Ｆを表す一次式（ｙ＝ａF・ｘ＋ｂF）を算出する（Ｓ１７１１）。
【００３３】
直線Ｆの算出後、斜行量算出部５０４は、図８のＳ８０８〜Ｓ８２３の処理と同様の処理により、直線Ｌ、直線Ｒを算出して、座標Ｌ（ｘL，ｙL）及び座標Ｒ（ｘR，ｙR）を取得しＣＰＵ４０１に出力する（Ｓ１７１２〜Ｓ１７２７）。
【００３４】
エッジ検出範囲について説明する。画像読取装置では、画像読取位置１０７にゴミ、汚れ等が発生することがある。図１１は、画像読取位置１０７にゴミ９０１が発生した状態の例示図である。ゴミ９０１は、例えば原稿１０２を修正液で修正した後に、修正液が乾く前に読み取るときに修正液が剥がれて原稿背景板１０９等に付着することで発生する。ゴミ９０１が原稿１０２の搬送経路から外れ且つ画像読取ユニット１０６の読取範囲内に発生する場合、画像読取装置は、ゴミ９０１を原稿画像として読み取ることになる。
図１２は、ゴミ９０１を原稿画像として読み取った場合の原稿画像の例示図である。原稿１０２のエッジ画像１００２、及び搬送方向（副走査方向）に延びるゴミ９０１による直線画像１００１が、原稿画像に含まれる。この画像全体から、従来通りにエッジ検出を行うと、ゴミ９０１による直線画像１００１がエッジ部分として検出される。
【００３５】
図１３は、図１２の原稿画像に基づいてエッジ検出範囲Ｌ、Ｒを設定せずに図８の処理を行う場合の、原稿画像の左上頂点の座標Ｌの説明図である。ゴミ９０１による直線画像１００１が、直線Ｌとして算出される。そのために、斜行量算出部５０４は、黒点で表す実際の原稿画像の左上頂点の座標Ｌ（ｘL，ｙL）ではなく、白点で表す座標（ｘL1，ｙL1）を原稿画像の左上頂点として取得する。エッジ検出範囲は、このような原稿画像の頂点の誤検出を防止するために設定される。エッジ検出範囲が設定されることで、ゴミ９０１により生じる直線画像１００１が、エッジ検出の対象範囲から除外される。そのために斜行量検知部４０５は、ゴミ９０１により生じる直線画像１００１をエッジ部分として誤検出することが無くなる
【００３６】
エッジ検出範囲は、原稿１０２のサイズに応じて設定される。ＣＰＵ４０１は、２つの原稿ガイド１０３の間隔に応じて変動するボリューム抵抗器１０４の抵抗値に応じて、原稿１０２のサイズを確認する。ＣＰＵ４０１は、原稿１０２のサイズにより原稿１０２の幅方向のエッジ部分がどこにあるかをある程度確認できる。ＣＰＵ４０１は、原稿１０２が斜行する場合でも原稿１０２の幅方向のエッジ部分を認識できるように、原稿１０２のエッジ部分があると推定される位置を含む所定の範囲をエッジ検出範囲に設定する。このようにしてＣＰＵ４０１は、ゴミ９０１による直線画像１００１を除いた範囲でエッジ検出が行われるようにエッジ検出範囲を設定することで、ゴミ９０１の影響を極力抑制する。
【００３７】
原稿トレイ１０１にサイズの異なる複数の原稿１０２が載置され、画像読取装置が、これらの原稿１０２から連続して原稿画像を読み取ることがある。このような場合、ＣＰＵ４０１は、２つの原稿ガイド１０３の間隔から、複数の原稿１０２の最大サイズしか確認することができない。図１４は、異なるサイズの複数の原稿１０２が原稿トレイ１０１に載置された状態を表す図である。２つの原稿ガイド１０３の間隔は、最大サイズの原稿１０２ａの原稿幅を表すが、それよりも小さいサイズの原稿１０２ｂの原稿幅は表さない。この場合、図６（ａ）に示すようにエッジ検出範囲Ｌ、Ｒを最大サイズの原稿１０２ａに応じて設定すると、小さいサイズの原稿１０２ｂのエッジ検出に支障が生じる。
【００３８】
図１５は、小さいサイズの原稿１０２ｂを読み取った原稿画像に対してエッジ検出範囲Ｌ、Ｒを設定してエッジ検出を行う場合の説明図である。エッジ検出範囲Ｌ、Ｒは、図１５（ａ）に示すように設定される。検出されるエッジ画像は、図１５（ｂ）に示すようになる。原稿画像の左端部分はエッジ検出範囲Ｌに含まれるが、右端部分はエッジ検出範囲Ｒに含まれない。そのために、原稿画像の左端部分のエッジ部分が検出され、右端部分のエッジ部分は検出されない。そこで小さいサイズの原稿１０２ｂの原稿画像のエッジ検出を正確に行うために、ＣＰＵ４０１は、図６（ｃ）に示すようにエッジ検出範囲を設定する。図６（ｃ）のエッジ検出範囲は、最大サイズの原稿１０２ａの原稿幅を含むように設定される。エッジ検出部５０２は、エッジ検出範囲の設定を、ＣＰＵ４０１から取得する検出範囲設定指示により行う。
【００３９】
ユーザは、操作部４０６により、エッジ検出範囲を図６（ａ）のように設定するか、或いは図６（ｂ）のように設定するかを指示することができる。ＣＰＵ４０１は、例えば、操作部４０６のディスプレイに図１６に例示する設定画面を表示する。設定画面は、複数の異なるサイズが混載した原稿１０２から原稿画像を読み取るか否かのメッセージ１４０１、選択ボタン１４０２、及び読み取りの開始を指示するボタン１４０３を含む。ユーザは、選択ボタン１４０２から原稿１０２が同一のサイズか或いは複数のサイズが混載しているかを入力する。原稿サイズが混載している場合、ユーザは「はい」の選択ボタン１４０２を選択する。原稿サイズが同一であれば、ユーザは「いいえ」の選択ボタン１４０２を選択する。読み取り開始を指示するボタン１４０３が選択されることで、コントローラ４００は、画像読取装置による画像読取処理を開始する。ＣＰＵ４０１は、読み取り開始を指示するボタン１４０３が選択されることで入力される画像読み取り処理の開始指示に応じて、原稿トレイ１０１上に載置された原稿１０２の最大サイズを検出する。ＣＰＵ４０１は、検出した原稿幅及び選択ボタン１４０２の選択結果に応じてエッジ検出範囲を設定する検出範囲設定指示をエッジ検出部５０２に送信する。
【００４０】
図１７は、原稿サイズに対するエッジ検出範囲の具体的な例示図である。図１７では、エッジ検出範囲は、原稿トレイ１０１の幅方向の中央を基準（０［ｍｍ］）にしている。原稿１０２のサイズが同一の場合には、エッジ検出範囲が２つに分けて設定され、サイズが混載している場合には、エッジ検出範囲が１つ設定される。ＣＰＵ４０１は、このような原稿サイズとエッジ検出範囲との関係を表すテーブルを所定のメモリに記憶しており、操作部４０６からの指示により、いずれのテーブルを用いるかを決定する。ＣＰＵ４０１は、テーブルの決定後に、ボリューム抵抗器１０４の抵抗値に応じた原稿１０２のサイズを取得する。ＣＰＵ４０１は、テーブルを参照して、取得した原稿１０２のサイズ（原稿幅）に応じたエッジ検出範囲を決定し、決定したエッジ検出範囲を表す検出範囲設定指示を斜行量検知部４０５に送信する。
【００４１】
斜行補正部４０８は、ＣＰＵ４０１からの指示により、シェーディング処理されたデジタル画像データをメモリ４０７に格納する処理と、シェーディング処理されたデジタル画像データに斜行補正を行い、画像データを生成する処理とを行う。図１８は、斜行補正の説明図である。斜行補正部４０８は、斜行補正時に、ＣＰＵ４０１から、斜行量検知部４０５により検知された原稿画像の左上頂点の座標Ｌ（ｘL，ｙL）及び右上頂点の座標Ｒ（ｘR，ｙR）を取得する。斜行補正部４０８は、メモリ４０７に格納したデジタル画像データに対して、取得した座標Ｌ（ｘL，ｙL）及び座標Ｒ（ｘR，ｙR）を用いたアフィン変換を行い、斜行補正後の画像データを生成する。図１８は、図６（ａ）の原稿画像に対して斜行補正を行うことで得られる画像データを表す。
【００４２】
以上のような構成の画像読取装置は、図１９に示すフローチャートに応じて画像読取処理を行う。画像読取装置は、ユーザによる操作部４０６からの指示により画像読取処理を実行する。
【００４３】
画像読取装置に電源が投入されると、ＣＰＵ４０１は、画像読取ユニット１０６を起動する（Ｓ１９０１）。ＣＰＵ４０１は、画像読取ユニット１０６を起動することで、ＬＥＤ光源２０１及びＣＣＤラインセンサ２０３による画像読取の準備を行う。ＣＰＵ４０１は、ボリューム抵抗器１０４の抵抗値に応じて、原稿トレイ１０１に載置された原稿１０２の最大の原稿幅を検出する（Ｓ１９０２）。
【００４４】
ＣＰＵ４０１は、操作部４０６から、画像読取処理開始の指示とともに、原稿１０２のサイズが混載しているか否かの選択結果を取得する。ＣＰＵ４０１は、原稿１０２のサイズが混載していない場合（Ｓ１９０３：N）、図６（ａ）に示すようなエッジ検出範囲を設定するように、斜行量検知部４０５に指示を送信する（Ｓ１９０４）。ＣＰＵ４０１は、原稿１０２のサイズが混載している場合（Ｓ１９０３：Y）、図６（ｃ）に示すようなエッジ検出範囲を設定するように、斜行量検知部４０５に指示を送信する（Ｓ１９０５）。ＣＰＵ４０１は、原稿幅に応じたエッジ検出範囲が設定可能なように、図１７に示すテーブルに応じた範囲で、斜行量検知部４０５にエッジ検出範囲を設定させる。
【００４５】
エッジ検出範囲を設定すると、ＣＰＵ４０１は、原稿搬送モータ１０５を駆動して、原稿１０２の搬送を開始し、画像読取ユニット１０６に原稿を読み取らせる。画像読取ユニット１０６は、原稿画像を表すアナログ画像データをコントローラ４００に入力する。コントローラ４００は、アナログ画像データをデジタル変換して、シェーディング補正を行う。ＣＰＵ４０１は、シェーディング補正されたデジタル画像データを、斜行補正部４０８によりメモリ４０７に記憶させる（Ｓ１９０６）。
【００４６】
ＣＰＵ４０１は、斜行量検知部４０５により、斜行量検知処理を行う（Ｓ１９０７）。ＣＰＵ４０１は、斜行量の検知結果として、原稿画像の左上頂点の座標Ｌ（ｘL，ｙL）及び右上頂点の座標Ｒ（ｘR，ｙR）を取得する。検知結果を正常に取得する場合（Ｓ１９０８：Y）、ＣＰＵ４０１は、斜行補正部４０８に、斜行量の検知結果を送信して、デジタル画像データに対する斜行補正を行わせる（Ｓ１９１３）。検知結果を正常に取得できない場合（Ｓ１９０８：N）、ＣＰＵ４０１は、Ｓ１９０３の処理で原稿１０２のサイズの混載が選択されたかを確認する（Ｓ１９０９）。検知結果を正常に取得できない場合とは、例えば２頂点の座標を取得できない場合である。
【００４７】
原稿１０２のサイズの混載が選択されている場合（Ｓ１９０９：Y）、ＣＰＵ４０１は、斜行量検知エラー時の処理を行う。この場合、ＣＰＵ４０１は、斜行量を「０」として、斜行補正部４０８に、メモリ４０７に記憶されたデジタル画像データ全域をそのまま画像データとして出力させる（Ｓ１９１２、Ｓ１９１３）。原稿１０２のサイズの混載が選択されていない場合（Ｓ１９０９：N）、ＣＰＵ４０１は、エッジ検出範囲の再設定が可能であるか否かを判断する（Ｓ１９１０）。
【００４８】
エッジ検出範囲の再設定が可能である場合（Ｓ１９１０：Y）、ＣＰＵ４０１は、斜行量検知部４０５にエッジ検出範囲を再設定して、斜行量検知処理を行わせる（Ｓ１９１１、Ｓ１９０７）。これは、原稿１０２が原稿ガイド１０３よりも内側に載置されている可能性を想定している。例えば、図２０に示すように、ユーザが原稿１０２のエッジ部分に原稿ガイド１０３が当接するように原稿ガイド１０３をスライドさせなかった場合、ＣＰＵ４０１は、原稿１０２のサイズを正しく認識できなくなる。この場合、図１５に示すように、原稿画像のエッジ部分が検知できなくなるため、エッジ検出範囲を再設定して斜行量の検知を再度行う。
【００４９】
エッジ検出範囲の再設定が不可能である場合（Ｓ１９１０：N）、ＣＰＵ４０１は、斜行量検知エラー時の処理を行う。この場合、ＣＰＵ４０１は、斜行量を「０」として、斜行補正部４０８に、メモリ４０７に記憶されたデジタル画像データ全域をそのまま画像データとして出力させる（Ｓ１９１２、Ｓ１９１３）。
【００５０】
画像データの出力が終了すると、ＣＰＵ４０１は、原稿トレイ１０１上に原稿１０２が残っていれば、引き続き画像読取を行う（Ｓ１９１４：Y、Ｓ１９０３）。原稿トレイ１０１上に原稿１０２が残っていなければ、ＣＰＵ４０１は、画像読取処理を終了する（Ｓ１９１４：N）。原稿トレイ１０１上の原稿１０２の有無は、例えば原稿トレイ１０１に原稿１０２の有無を検知するセンサを設けることで確認可能となる。
【００５１】
以上のような処理により、画像読取装置は、ゴミ、汚れ等による影響を抑制しつつエッジ部分を正確に検出して、原稿画像の斜行補正を行うことができるようになる。なお、本実施形態では、ボリューム抵抗器１０４の抵抗値により原稿トレイ１０１上に載置された原稿１０２の原稿幅を検出しているが、原稿１０２の搬送経路１１０上に原稿幅検出のためのセンサを設けるようにしてもよい。また画像読取装置は、操作部４０６により画像読取時の情報（例えば異なるサイズの原稿を載置時にユーザが種類）をユーザから取得して、その情報に基づいてエッジ検出範囲を絞るという制御で構成をする事も可能である。
【符号の説明】
【００５２】
１０１…原稿トレイ、１０２…原稿、１０３…原稿ガイド、１０４…ボリューム抵抗器、１０５…原稿搬送モータ、１０６…画像読取ユニット、１０７…画像読取位置、１０８…排紙トレイ、１０９…原稿背景板、２０１…ＬＥＤ光源、２０２…レンズ、２０３…ＣＣＤラインセンサ、２０４〜２０７…ミラー、４００…コントローラ、４０１…ＣＰＵ、４０３…Ａ／Ｄ変換部、４０４…シェーディング補正部、４０５…斜行検知部、４０７…メモリ、４０８…斜行補正部
【図１】
0006700721.tif 000002
【図２】
0006700721.tif 000003
【図３】
0006700721.tif 000004
【図４】
0006700721.tif 000005
【図５】
0006700721.tif 000006
【図６】
0006700721.tif 000007
【図７】
0006700721.tif 000008
【図８】
0006700721.tif 000009
【図９】
0006700721.tif 000010
【図１０】
0006700721.tif 000011
【図１１】
0006700721.tif 000012
【図１２】
0006700721.tif 000013
【図１３】
0006700721.tif 000014
【図１４】
0006700721.tif 000015
【図１５】
0006700721.tif 000016
【図１６】
0006700721.tif 000017
【図１７】
0006700721.tif 000018
【図１８】
0006700721.tif 000019
【図１９】
0006700721.tif 000020
【図２０】
0006700721.tif 000021