以下、図面を参照して、本発明の実施形態について説明する。本実施形態においては、読み取り対象の原稿をスキャナユニットに搬送する搬送部としてADF(Auto Document Feeder)が搭載されたMFP(MultiFunction Peripheral:複合機)などの画像処理装置に本発明を適用した例について説明する。
まず、本実施形態に係る画像処理装置1全体のハードウェア構成について説明する。図1は、本実施形態に係る画像処理装置1のハードウェア構成を示すブロック図である。図1に示すように、本実施形態に係る画像処理装置は、一般的なサーバやPC(Personal Computer)等と同様の構成を含む。
すなわち、画像処理装置1は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40およびI/F50を備え、これらがバス80を介して接続され、構成されている。また、I/F50にはLCD(Liquid Crystal Display)60および操作部70が接続されている。
CPU10は演算手段であり、画像処理装置1全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェアなどのプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラムなどが格納される。
I/F50は、バス80と各種のハードウェアやネットワークなどを接続し制御する。LCD60は、ユーザが画像処理装置1の状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウスなど、ユーザが画像処理装置1に情報を入力するためのユーザインタフェースである。
このようなハードウェア構成において、ROM30に格納されたプログラムのステップや、HDD40もしくは光学ディスクなどの記憶媒体からRAM20にロードされたプログラムのステップに従ってCPU10が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像処理装置1の機能を実現する機能ブロックが構成され、画像処理方法、画像処理プログラムが実現される。
また、画像処理装置1は、CPU10を複数備える構成であってもよい。さらに、CPU10に換えて、後述する機能構成を実現するASIC(Application Specific Integrated Circuit)を用いてもよい。
次に、本実施形態に係る画像処理装置1の機能構成について、図2を参照して説明する。図2に示すように、本実施形態に係る画像処理装置1は、コントローラ100、ADF(Auto Document Feeder:原稿自動搬送装置)101、スキャナユニット102、排紙トレイ103、ディスプレイパネル104、給紙テーブル105、プリントエンジン106、排紙トレイ107およびネットワークI/F108を有する。
また、コントローラ100は、主制御部110、エンジン制御部120、画像処理部130、操作表示制御部140および入出力制御部150を含む。図2に示すように、本実施形態に係る画像処理装置1は、スキャナユニット102、プリントエンジン106を有する複合機として構成されている。なお、図2においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。
ディスプレイパネル104は、画像処理装置1の状態を視覚的に表示する表示部であると共に、タッチパネルとしてユーザが画像処理装置1を直接操作し、もしくは、画像処理装置1に対して情報を入力する際の入力部でもある。すなわち、ディスプレイパネル104は、ユーザによる操作を受けるための画像を表示する機能を含む。ディスプレイパネル104は、図1に示すLCD60および操作部70によって実現される。したがって、ディスプレイパネル104は操作表示部として機能する。
ネットワークI/F108は、画像処理装置1がネットワーク4を介して他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースなどが用いられる。ネットワークI/F108は、TCP/IPプロトコルによる通信が可能である。また、ネットワークI/F108は、画像処理装置1がファクシミリとして機能する際に、ファクシミリ送信を実行するためのインタフェースとしても機能する。そのため、ネットワークI/F108は、電話回線にも接続されている。ネットワークI/F108は、図1に示すI/F50によって実現される。
コントローラ100は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ROM30や不揮発性メモリならびにHDD40や光学ディスク等の不揮発性記憶媒体に格納されたプログラムが、RAM20等の揮発性メモリ(以下、メモリ)にロードされ、CPU10がそのプログラムに従って演算を行うことにより構成されるソフトウェア制御部と集積回路などのハードウェアとによって構成される。コントローラ100は、画像処理装置1全体を制御する制御部として機能する。
主制御部110は、コントローラ100に含まれる各部を制御する役割を担い、コントローラ100の各部に命令を与える。エンジン制御部120は、プリントエンジン106やスキャナユニット102などを制御もしくは駆動する駆動手段としての役割を担う。画像処理部130は、主制御部110の制御に従い、印刷出力すべき画像情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン106が画像形成動作において形成すべき画像を描画するための情報であるラスターデータである。
また、画像処理部130は、スキャナユニット102から入力される撮像データを処理し、画像データを生成する。この画像データとは、スキャナ動作の結果物として画像処理装置1の記憶領域に格納され、もしくはネットワークI/F108を介して他の情報処理端末や記憶装置に送信される情報である。本実施形態では、この画像データについて
操作表示制御部140は、ディスプレイパネル104に情報表示を行い、もしくはディスプレイパネル104を介して入力された情報を主制御部110に通知する。入出力制御部150は、ネットワークI/F108を介して入力される情報を主制御部110に入力する。また、主制御部110は、入出力制御部150を制御し、ネットワークI/F108を介してネットワークに接続された他の機器にアクセスする。
画像処理装置1がプリンタとして動作する場合は、まず、入出力制御部150がネットワークI/F108を介して印刷ジョブを受信する。入出力制御部150は、受信した印刷ジョブを主制御部110に転送する。主制御部110は、印刷ジョブを受信すると、画像処理部130を制御して印刷ジョブに含まれる文書情報もしくは画像情報に基づいて描画情報を生成させる。
画像処理部130によって描画情報が生成されると、エンジン制御部120は、プリントエンジン106を制御し、生成された描画情報に基づき、給紙テーブル105から搬送される用紙に対して画像形成を実行させる。すなわち、画像処理部130、エンジン制御部120およびプリントエンジン106が画像形成出力部として機能する。プリントエンジン106の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構などを用いることが可能である。プリントエンジン106によって画像形成が施された文書は排紙トレイ107に排紙される。
画像処理装置1がスキャナとして動作する場合は、ユーザによるディスプレイパネル104の操作もしくはネットワークI/F108を介して他の端末から入力されるスキャン実行指示に応じて、操作表示制御部140もしくは入出力制御部150が主制御部110にスキャン実行信号を転送する。主制御部110は、受信したスキャン実行信号に基づき、エンジン制御部120を制御する。
エンジン制御部120は、ADF101を駆動し、ADF101にセットされた撮像対象の原稿をスキャナユニット102に搬送する。また、エンジン制御部120は、スキャナユニット102を駆動し、ADF101から搬送される原稿を撮像する。また、ADF101に原稿がセットされておらず、スキャナユニット102に直接原稿がセットされた場合、スキャナユニット102は、エンジン制御部120の制御に従い、セットされた原稿を撮像する。すなわち、スキャナユニット102が撮像部として動作すると共に、エンジン制御部120が、読取制御部として機能する。
撮像動作においては、スキャナユニット102に含まれるCIS(Contact Image Sensor)やCCD(charge−coupled device)等の光学素子が原稿を光学的に走査し、光学情報に基づいて撮像情報が生成される。エンジン制御部120は、スキャナユニット102が生成した撮像情報を画像処理部130に転送する。画像処理部130は、主制御部110の制御に従い、エンジン制御部120から受信した撮像情報に基づき画像情報を生成する。
画像処理部130が生成した画像情報は主制御部110が取得し、主制御部110がHDD40などの画像処理装置1に装着された記憶媒体に保存する。すなわち、スキャナユニット102、エンジン制御部120および画像処理部130が連動して、画像入力部として機能する。画像処理部130によって生成された画像情報は、ユーザの指示に応じてそのままHDD40などの記憶媒体に格納され、もしくは、入出力制御部150およびネットワークI/F108を介して外部の装置に送信される。
また、画像処理装置1が複写機として動作する場合は、エンジン制御部120がスキャナユニット102から受信した撮像情報もしくは画像処理部130が生成した画像情報に基づき、画像処理部130が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部120がプリントエンジン106を駆動する。なお、描画情報と撮像情報との情報形式が同一である場合は、撮像情報をそのまま描画情報として用いることも可能である。
本実施形態に係る画像処理装置1は、スキャナユニット102から入力される撮像データを処理し、画像データを生成する際に、ADF101による原稿の搬送時に生じた原稿の傾斜(スキュー)を補正する処理に特徴を有する。次に、撮像データを処理する制御を行う画像処理部130の内部機能について説明する。
図3は、本実施形態に係る画像処理部130の内部機能を示す機能ブロック図である。図3に示すように、画像処理部130は、読取画像生成部131、エッジ検知部132、角度算出部133、座標算出部134、スキュー補正部135、位置補正部136、出力画像補正部137を含む。
読取画像生成部131は、光学素子が原稿を走査して得られた光学情報に基づいて、図4に示すような読み取り画像P1などの撮像情報を生成する。読取画像生成部131は、例えば、撮像情報として、RGBをそれぞれ8ビットの値(0〜255)で表したデジタル画像データを生成する。
エッジ検知部132は、読取画像生成部131が生成した撮像情報の全域、すなわち、原稿領域と背景領域とを含む撮像情報から原稿領域の境界(エッジ)を検知する境界検知部として機能する。なお、エッジ検知部132について、詳細を後述する。
角度算出部133は、エッジ検知部132が検知した原稿領域のエッジの情報に基づいて撮像情報の全域に対する原稿領域の傾斜角度(スキュー角度θ)を算出する。なお、角度算出部133は、原稿領域のエッジの情報を直線近似して原稿領域の傾斜角度を算出してもよく、その他の近似方法を用いて原稿領域の傾斜角度を算出する構成であってもよい。
座標算出部134は、エッジ検知部132が検知した原稿領域のエッジの情報に基づいて撮像情報における原稿領域の原点座標(x0,y0)を算出する。座標算出部134は、例えば、原稿領域のエッジの情報に基づいて原稿領域の一辺と、該一辺と直角に交差する他の一辺との交点の座標に基づいて原稿領域の原点座標(x0,y0)を算出する。
スキュー補正部135は、角度算出部133が算出した原稿領域の傾斜角度の情報(スキュー角度θ)に基づいて、読み取り画像P1に対して回転処理を実行し、図5に示すように原稿領域の傾斜(スキュー)を補正する。
位置補正部136は、座標算出部134が算出した原稿領域の原点座標の情報(原点(x0,y0))に基づいて、読み取り画像P1に対して平行移動処理を実行し、図6に示すように原稿領域の位置ずれ(レジスト)を補正する。
出力画像補正部137は、原稿領域の傾斜や位置ずれが補正された読み取り画像P1に対してガンマ補正やノイズ低減、色補正処理などの処理を行い、読み取り画像から原稿領域の画像のみを切り出す。出力画像補正部137によって切り出された原稿領域の画像は、画像処理部130から主制御部110に送信される。
次に、従来のスキャナユニットにおいて、読み取り画像P1中の原稿領域の上辺に影を発生させる構成について説明する。図8は、従来のスキャナユニットの構成図、図9は、従来のスキャナユニットを用いて生成された読み取り画像P1を例示した図である。
図8(a)に示すように、スキャナユニットは、背景板301、イメージセンサ303、発光部である光源304A、光源304Bを含んで構成される。ADF101によって原稿を搬送してスキャンを実行する場合、原稿を搬送しながらイメージセンサ303でラインごとに原稿の読み取りを実行する。
スキャンを実行するために、背景板301と読み取り面305との間には、原稿を搬送できる程度のギャップが設けられている。また、光源304A、光源304Bから光を照射しながら原稿を搬送する。イメージセンサ303は、光源304A、光源304Bから照射された光が原稿に当たって反射した反射光により、原稿を読み取る。
原稿が搬送されるまでは、光源304Aおよび光源304からの光は背景板301に直接当たっている。その後、図8(b)に示すように、原稿が搬送されてきたとき、搬送方向(副走査方向)上流の光源、すなわち、光源304Aから照射される光が原稿によって遮られる。このとき、背景板301に原稿の端部の影が発生する。イメージセンサ303は、背景板301に発生した原稿の端部の影を読み取ることになり、図9に示すように原稿の端部の影が読み取り画像P1に表現される。
図8に示すスキャナユニットでは、副走査方向の原稿のエッジの影が発生する。一方、当該スキャナユニットでは、主走査方向の原稿のエッジの影は、十分には発生しない。また、原稿が傾斜した状態で読み取られた場合、主走査方向の原稿のエッジも斜めになり、主走査方向の原稿のエッジに副走査方向の成分が含まれることになる。しかし、傾斜角が小さい場合には、主走査方向の原稿のエッジの影は発生しない。
また、主走査方向の原稿のエッジが検出できない場合であっても、原稿の副走査方向の先端と後端とにおけるエッジ検出結果に基づいて、主走査方向の原稿のエッジを推定できる場合がある。しかし、例えば、原稿の角が欠けた場合には、主走査方向の原稿のエッジは正確に検知することができない。
そこで、本実施形態に係るスキャナユニット102に含まれる光源304A、304Bは、図10に示すように、主走査方向に複数の発光素子を一元的に配列して構成されるものを用いることとする。なお、光源304A、304Bにおける発光素子の配列は、図10のように、1列であることに限定されるものではない。
主走査方向に複数の発光素子が配列されていて、この主走査方向の配列の一部の発光制御を行うことができるものであって、主走査方向における原稿への光の照射領域を制御できるものであればよい。
つまり、ADF101を用いて原稿をスキャナユニット102に搬送する際に、エンジン制御部120が光源304Aおよび304Bを構成する発光素子を制御することによって、光源304Aおよび304Bにおける発光領域の幅を制御し、原稿の主走査方向の端部のうち、いずれか一辺のみに光が照射されるようにできるものであればよい。したがって、エンジン制御部120は、発光制御部として機能する。
具体的に、エンジン制御部120は、図11に示すように、スキャナユニット102において原稿を読み取る際に、搬送される原稿から見て原稿の主走査方向左辺に光が照射されないように、すなわち、原稿の主走査方向の端部のうち、左辺もしくは右辺のいずれか一辺のみが発光領域に重複するように、光源304A、光源304Bの発光領域を制御する。
このように光源304A、304Bの発光領域を制御することで、スキャナユニット102に進入した原稿によって、光源304Aおよび光源304Bにおいて点灯している発光素子から照射された光が遮られ、背景板301に原稿の左辺のエッジの影が発生する。
読取画像生成部131は、イメージセンサ303が読み取った、背景板301における反射光に基づいて読み取り画像P1を生成する。したがって、本実施形態においては、主走査方向に配列された発光素子の点灯を制御して、図12に示すような原稿領域の主走査方向の端部に影が生じた読み取り画像P1を生成することが可能となる。
そして、画像処理部130に含まれる各部の機能によって、読み取り画像P1に発生した原稿領域の主走査方向の端部の影のエッジに基づいて読み取り画像P1に表現されている原稿位置を検知する。
次に、本実施形態に係る光源304A、光源304Bの発光態様について図13および図14を参照して説明する。以後の説明において、光源304A、光源304Bを総称して「光源304」と記載する。
図13は、原稿が奥基準で搬送された際の光源304の主走査方向における発光態様を示す図、図14は、原稿が中央基準で搬送された際の光源304の主走査方向における発光態様を示す図である。
ここで、「奥基準」とは、読み取り対象の原稿のサイズが不ぞろいな場合であっても、スキャナユニット102の読み取りエリア上の共通した位置を原稿の左辺が通過するように搬送されるときの原稿の基準位置のことである。
原稿の基準位置が奥基準で搬送される場合、読み取り時に光源304の固定の位置から発光領域を制御することによって、原稿の左辺側に影が生じた読み取り画像P1を取得することができる。
また、「中央基準」とは、スキャナユニット102の読み取りエリアの主走査方向の中央を、原稿の主走査方向の中央が通過するように搬送されるときの原稿の基準位置のことである。原稿の大きさが異なる場合、原稿の基準位置が中央基準で搬送されると、原稿の左辺が通過するスキャナユニット102の読み取りエリアの位置が変化する。
例えば、主走査方向の最大読み取り幅がA3サイズであるスキャナユニット102でA3サイズの原稿を読み取った場合、原稿の左辺はスキャナユニット102の読み取りエリアの端部付近を通過しているものの、A4サイズの原稿を読み取った場合には、原稿の左辺は読み取りエリアの端部から4cmほど右側を通過する。
そのため、原稿を中央基準で搬送するADF101が搭載されている場合には、原稿をスキャナユニット102の読み取りエリアに搬送する前に、原稿サイズを示す原稿サイズ情報を取得し、原稿の読み取りを実行する。このとき、原稿サイズを検知するセンサの検知結果を、原稿サイズ情報として用いてもよい。
さらに、ユーザがディスプレイパネル104から指定した原稿サイズを、原稿サイズ情報として用いてもよい。そして、原稿サイズに応じて光源304の発光領域を制御することによって、どのようなサイズの原稿に対しても原稿の左辺側に影が生じた読み取り画像P1を取得することができる。
次に、本実施形態に係る読み取り画像P1における原稿領域のエッジを検知する処理について図15から図18を参照して説明する。図15は、本実施形態に係る読み取り画像P1の一例を示す図である。
図15に示すように、図8に示すような構成を備える読取部に原稿を読み取らせて生成された読み取り画像P1には、原稿領域の副走査方向上流側と主走査方向左側に影領域S1、影領域S2が発生している。
また、光源304からの光が照射されて背景領域に発生した影領域S1、影領域S2は、背景領域よりも、明度が小さいため、より濃い黒色で表現される。なお、原稿領域は、読み取り対象の原稿に表現されている図形や文字などにより、白色もしくは黒色に変化するため、さまざまな画素値を取り得る。
図16は、本実施形態に係る読み取り画像P1における画素値変化を示す図である。図16に示すように、背景領域は、背景板301自体が読み取られるため、背景板301自体の色によって画素値が定まる。したがって、背景領域から影領域S1もしくは影領域S2へと変化する画素間、すなわち、背景領域と影領域S1もしくは影領域S2とが隣接している画素間においては、一定の画素値の変化が発生する。
本実施形態では、背景領域から影領域S1、影領域S2に変化する境界、すなわち、エッジを、図16に示すような画素値の変化に基づいて検知する。上述したように、背景領域の画素と影領域S1、影領域S2の画素との画素値の変化は、図16の領域V1に示すように一定である。そのため、原稿の種類に依存することなく、読み取り画像P1における影領域S1、影領域S2のエッジを検知することができる。
次に、図17および図18を参照して、本実施形態に係るエッジを検知するためのフィルタについて説明する。図17は、本実施形態に係るフィルタマトリクスM1の係数を例示した図である。フィルタマトリクスM1は、図17に示すような係数によって、副走査方向における明るい領域から暗い領域への変化を正の値として出力して、原稿領域の副走査方向下流の端部(原稿の上辺)に生じたエッジを検知する。このとき、明るい領域が画素値の大きい領域であり、暗い領域が画素値の小さい領域である。
図18は、本実施形態に係るフィルタマトリクスM2の係数を例示した図である。フィルタマトリクスM2は、図18に示すような係数によって、主走査方向における明るい領域から暗い領域への変化を正の値として出力して、原稿領域の主走査方向の左辺(原稿の左辺)に生じたエッジを検知する。
本実施形態において、エッジ検知部132は、図17および図18に示すようなフィルタマトリクスM1、フィルタマトリクスM2を用いて計算された値に対し、所定の閾値、例えば、背景領域から影領域S1、S2へ変化する付近の画素の画素値(すなわち、背景領域と影領域S1もしくは影領域S2とが隣接する画素間の画素値)などを基準として2値化を行い、影領域S1、S2のエッジを検知する。
なお、上述したように、背景領域と影領域S1、影領域S2とにおいては、一定の画素値の変化が発生する。したがって、フィルタマトリクスM1、フィルタマトリクスM2を用いた演算結果が、背景領域と影領域S1、影領域S2とにおける画素値の変化に基づいて定められた所定の値の範囲に含まれる画素をエッジとして検知する構成であってもよい。
以上説明したように、本実施形態においては、読み取り対象の原稿に対して、光を照射する範囲を制御し、読み取り画像P1に生じた画素値の変化に基づいて、読み取り画像P1における原稿領域のエッジを検知する。そして、検知されたエッジに基づいて読み取り画像P1を補正することによって、原稿領域のみが表現された画像情報を生成する。
次に、本実施形態に係る読み取り画像P1を補正する処理の流れについて図19を参照して説明する。図19は、本実施形態に係る読み取り画像P1を補正する処理の流れを示すフローチャートである。
読取画像生成部131は、光学素子が原稿を走査して得られた光学情報に基づいて、撮像情報、すなわち、読み取り画像P1を生成する(S1901)。エッジ検知部132は、図15から図18において説明したようにして、読み取り画像P1の隣接する画素間における画素値の変化に基づいて原稿領域のエッジを検知する(S1902)。
角度算出部133は、エッジ検知部132によって検知された原稿領域のエッジの情報に基づいて、原稿領域のスキュー角度を算出する(S1903)。座標算出部は、エッジ検知部132が検知した原稿領域のエッジの情報に基づいて、読み取り画像P1における原稿領域の原点座標を算出する(S1904)。
角度算出部133によって算出された原稿領域のスキュー角度に基づいて、スキュー補正部135は、読み取り画像P1に対して回転処理を実行する(S1905)。このとき、スキュー補正部135は、読み取り画像P1に対する原稿領域の傾斜が解消されるように、読み取り画像P1を回転させる。このときの回転量は、スキュー角度に相当する角度分である。
位置補正部136は、座標算出部134が算出した原稿領域の原点座標の情報に基づいて、原稿領域の位置ずれを補正する(S1906)。このとき、位置補正部136は、例えば、原稿領域が読み取り画像P1の左上に偏って配置されるように読み取り画像P1を平行移動させる。
出力画像補正部137は、スキュー補正と位置補正が行われた読み取り画像P1から原稿領域のみを切り出し、ガンマ補正やノイズ低減、色補正処理などの処理を実行して、主制御部110に送信する(S1907)。
このように、本実施形態においては、原稿領域の上辺および左辺に影領域S1、S2を発生させ、背景領域の画素値と影領域S1、S2の画素値との変化に基づいて原稿領域のエッジを検知する。そして、検知された原稿領域のエッジの情報に基づいて読み取り画像P1を補正し、原稿領域のみを切り出した画像情報を生成する。
また、本実施形態に係るエンジン制御部120は、光源304の発光領域を制御して、読み取り画像P1の画質のムラを低減する。図20は、四隅の一角が欠けた原稿を示す図である。また、図21は、限定された副走査方向の範囲において光源304の発光領域の幅を制御する態様を示す図である。
図20に示すように、原稿に対してエッジを検出したいエリアE1のエッジの影が発生するように光源304の発光領域の幅を制御した場合、エリアE1近傍の原稿には、原稿面照度の減少が生じることがある。
この原稿面照度が減少した領域では明度が低下するため、主走査方向にわたって読み取り画像P1に明度むらが発生する。そこで、本実施形態では、図21に示すように、原稿のエッジを検知するラインを限定して光源304を発光させる制御を実行することにより、読み取り画像P1に明度むらが発生しないようにする。
また、原稿の副走査方向上流の端部から所定のライン分離れた領域から、光源304を発光させる制御を開始することにより、例えば、原稿の角に留め具がある場合でも原稿領域のエッジを検知することができる。
具体的に、エンジン制御部120は、図21に示すように、原稿の読み取り開始から数ラインの読み取りが完了したところから、さらに数ラインに搬送する間のみ光源304の発光領域を制御して光が照射されるようにする。すなわち、エンジン制御部120は、原稿の読み取り開始位置から離れた領域において光源304の発光領域の幅を制御する。エンジン制御部120は、図21のエリアE1´に相当する原稿領域に光源304からの光が照射されないように光源304の発光領域を制御する。
このようにすると、原稿の読み取り開始から数ラインの読み取りが完了したところから、さらに数ラインに搬送する間のみの領域、すなわち、エリアE1´の領域のエッジの影が発生し、その影に基づいて原稿のエッジを検知することができる。
また、エンジン制御部120は、図22に示すように、原稿の読み取り開始から数ラインの読み取りが完了したところから、さらに数ラインに搬送する間のみ光源304の発光領域を段階的に制御して光が照射されるようにする。エンジン制御部120は、図22のエリアE2´に相当する原稿領域に光源304からの光が照射されないように光源304の発光領域を制御する。
このようにすることで、副走査方向の一部だけに極端な照明強度のむらが発生するのを低減することができる。そのため、読み取り画像P1の明度がエリアE2´の近傍において極端に変化しないため、読み取り画像P1の画質の低下を防ぐことができる。
また、原稿の基準位置が奥基準で搬送され、スキャナユニット102の読み取りエリアから搬送方向の上流側に、原稿の搬送位置がずれた場合や、原稿の基準位置が中央基準で搬送され、スキャナユニット102の読み取りエリアから搬送方向の左右に、原稿の搬送位置がずれた場合であっても、副走査方向の一部だけに極端な照明強度のむらが発生するのを低減することができる。
一方で、図23に示すように、読み取り画像P1において、光源304からの光が照射されなかった領域、すなわち、エリアE3は、光源304からの光が照射された領域であるエリアE4より明度が低下してしまう。
そこで、本実施形態では、エンジン制御部120によって、光源304の発光領域が制御された場合、出力画像補正部137は、光源304からの光が照射されなかったエリアE3の画像に対して、エリアE4の画像とは異なるγ補正を実行する。
図24は、本実施形態に係るγ補正関数を示す図である。図24に示すように、エリアE3に対するγ補正関数は、エリアE4に対するγ補正関数より明度を向上させる関数である。このように、異なるγ補正関数を用いてγ補正を行うことにより、読み取り画像P1の明度の平坦性を一定にすることができる。
さらに、出力画像補正部137は、異なるγ補正関数を用いてγ補正を行った場合に、読み取り画像P1に対してノイズ低減フィルタを適用させて、画質補正を行ってもよい。ノイズ低減フィルタとして、ガウシアンフィルタ、イプシロンフィルタ、バイラテラルフィルタなどを用いてもよい。また、光源304の発光領域が制御された領域ごとに、ノイズ低減フィルタの強度を切り替えることによって、より画質を向上させることが可能となる。