JP4952576B2 - 画像読取装置 - Google Patents

画像読取装置 Download PDF

Info

Publication number
JP4952576B2
JP4952576B2 JP2007340774A JP2007340774A JP4952576B2 JP 4952576 B2 JP4952576 B2 JP 4952576B2 JP 2007340774 A JP2007340774 A JP 2007340774A JP 2007340774 A JP2007340774 A JP 2007340774A JP 4952576 B2 JP4952576 B2 JP 4952576B2
Authority
JP
Japan
Prior art keywords
document
edge
document table
estimated
corner
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007340774A
Other languages
English (en)
Other versions
JP2009164809A (ja
Inventor
博章 藤井
哲也 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007340774A priority Critical patent/JP4952576B2/ja
Priority to US12/343,110 priority patent/US8174737B2/en
Publication of JP2009164809A publication Critical patent/JP2009164809A/ja
Application granted granted Critical
Publication of JP4952576B2 publication Critical patent/JP4952576B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、読取ユニットを搬送し、原稿台に写る画像を、読取ユニットに読み取らせることにより、原稿台上に載置された原稿の読取画像を表す画像データを生成する画像読取装置に関する。
従来、画像読取装置としては、読取ガラス下に読取ユニットを備え、読取ガラス下で読取ユニットを搬送しつつ、その搬送時に読取ユニットに読取動作を実行させることにより、読取ガラス上に配置された原稿を読み取り、原稿の読取画像を表す画像データを生成する画像読取装置が知られている。
画像読取装置がコピー機能を有するものである場合、上記生成された画像データは、例えば、印刷処理に供される。即ち、読取画像を表す画像データが印刷処理に供されることで、記録紙には、読み取られた原稿のコピー画像が印刷される。このような、コピー機能を有する画像読取装置としては、コピー機能の他、プリンタ機能やファックス機能などを有したディジタル複合機が知られている。
また、画像読取装置としては、プレスキャンにより、読取ガラス上における原稿が載置された領域を把握し、本スキャン時には、読取領域を、読取ガラス下全域ではなく、原稿が載置された領域に限定し、この読取領域において、読取ユニットを搬送し、原稿を読み取るものが知られている。
この他、画像読取装置としては、読取ユニットによる原稿の読取結果に基づき、原稿のサイズや傾きを検出するものが知られている(特許文献1〜3参照)。また、この画像読取装置としては、原稿サイズや傾きの検出結果を、本スキャン時の読取領域の自動設定動作や、コピー時の変倍率の自動設定動作・傾き補正動作に用いるものが知られている。
例えば、検出した原稿サイズと記録紙サイズの比に合わせて、変倍率を設定すると共に、原稿の傾きから回転量を設定し、読取結果としての画像データを回転処理して傾き補正すると共に、設定した変倍率に合わせて拡大縮小し、読み取った原稿の画像を、記録紙に、その記録紙サイズに合わせた倍率で印刷するといった具合である。
特開平11−252351号公報 特開2007−082047号公報 特開2007−088654号公報
しかしながら、従来の画像読取装置では、次のような問題があった。例えば、原稿全体を読み取り、その全体像から原稿のサイズ・傾き・載置領域等を求める手法では、読取動作前に、どのようなサイズの原稿がどういった状態で載置されているか不明であるため、読取ガラス下の読取可能領域全体に渡って読取ユニットを搬送し、読取動作を実行しなければならず、原稿の読取動作に時間がかかるといった問題があった。即ち、原稿の存在しない領域に対して無駄に読取動作を実行しなければならないといった問題があった。
一方、原稿全体を読み取るのを止めて、原稿の一部領域の読取結果から、原稿サイズ・傾き・載置領域等の原稿の状態を求めるようにすれば、必ず原稿が存在する読取ガラス上の領域のみを読み取って、この読取結果から、原稿状態を求めればよく、原稿の存在しない領域に対して無駄に読取動作をしなくて済む。
しかしながら、一部領域の読取結果から、原稿サイズ・傾き・載置領域等の原稿の状態を求める手法では、原稿全体を読み取る場合よりも、読取結果(画像データ)に含まれる少ない情報から、原稿状態を推定する必要があるため、読取結果に含まれる原稿の情報が少なすぎて、精度よく原稿状態を求めることができない可能性があった。
本発明は、こうした問題に鑑みなされたものであり、読取結果に含まれる少ない情報から、精度よく原稿状態を推定することのできる技術を提供することを目的とする。
かかる目的を達成するためになされた本発明は、読取対象の原稿が載置される透明な原稿台下において読取ユニットを搬送し、原稿台に写る画像を、読取ユニットに読み取らせることにより、原稿台に載置された原稿の読取画像を表す画像データを生成する画像読取装置であって、原稿台の特定の辺が、原稿の辺を合わせるべき辺として定められ、原稿台の特定の辺に対応する外縁に、原稿台に載置した原稿を突き当て可能な凸条が設けられたものである。この画像読取装置は、更に、変換手段と、角推定手段と、を備える。
変換手段は、読取ユニットの読取結果である画像データを、エッジ画像を表すエッジ画像データに変換する。一方、角推定手段は、原稿台に載置された原稿が四角形状であるとの仮定の下で、変換手段により変換されたエッジ画像データが示すエッジ点群の中から、原稿台に載置された原稿の各辺に対応するエッジ点群を抽出し、各辺に対応するエッジ点群を直線近似して得られる各辺の近似直線の情報から、原稿台に載置された原稿の各角の位置座標を推定する。
また、この角推定手段は、エッジ点群を抽出すべき辺の当該エッジ点群の抽出に失敗した場合、原稿台に載置された原稿のいずれかの角が凸条に突き当てられているとの仮定の下で、エッジ点群の抽出に成功した各辺の近似直線から、原稿台に載置された原稿の各角の位置座標を推定する。
本発明のように、原稿の辺を原稿台の特定の辺に合わせる(突き当てる)ことを正規の使用方法とした場合には、当然のことながら、原稿台に載置された原稿のいずれかの角が、上記特定の辺に突き当てられている可能性が高い。
従って、エッジ点群の抽出に失敗して、通常の方法では、原稿の各角の位置座標を推定することができない場合に、原稿台に載置された原稿のいずれかの角が、上記特定の辺に突き当てられているという条件の下、原稿の各角の位置座標を推定するようにすれば、抽出に失敗したエッジ点群の情報が不足した少ない情報の中でも、原稿台に載置された原稿の各角の位置座標を、概ね正確に推定することができる。
例えば、本発明によれば、原稿台の端が読取不可領域となっている等で、原稿の各辺に対応するエッジ点群を正確に抽出することが難しい環境においても、抽出できたエッジ点群の情報から適切に原稿の角位置を推定することができる。
よって、この画像読取装置によれば、様々な状況下で、精度よく原稿の各角の位置座標を推定し、原稿サイズや、原稿の傾き、原稿台における原稿の載置位置等の原稿状態を推定することができ、推定した原稿状態に基づいて、高精度に後続の処理を実行することができる。
例えば、原稿の角位置の情報から、原稿の載置領域を推定して、これに基づき、正確に読取領域を設定することができ、本スキャン時における読取領域の自動設定動作を良好に実行することができる。この他、原稿の角位置の情報から、原稿サイズや原稿の傾きを推定して、コピー時に、これらの情報から、変倍率の自動設定動作や、傾き補正動作を良好に実行することができる。
また、四角形状の原稿台において、一つの特定の角から延びる二辺が、上記原稿の辺をあわせるべき特定の辺として定められた画像読取装置においては、角推定手段を、次のように構成することができる。
即ち、角推定手段は、エッジ点群を抽出すべき辺として、上記特定の辺に該当する原稿台の第一辺に沿って配置されるべき原稿の第一辺、及び、上記特定の辺に該当する原稿台の第二辺に沿って配置されるべき原稿の第二辺、及び、原稿の第二辺に平行な第三辺、の各辺に対応するエッジ点群を抽出し、原稿台に載置された原稿の各角の位置座標として、原稿台に載置された原稿の第一辺と第二辺とを結ぶ角の位置座標、及び、原稿の第一辺と第三辺とを結ぶ角の位置座標を推定し、更に、第一辺又は第二辺に対応するエッジ点群の抽出に失敗した場合には、原稿台に載置された原稿が四角形状であり、原稿台に載置された原稿の第一辺と第二辺とを結ぶ角が、上記凸条に突き当てられているとの仮定の下で、エッジ点群の抽出に成功した各辺の近似直線から、原稿台に載置された原稿の第一辺と第二辺とを結ぶ角、及び、原稿の第一辺と第三辺とを結ぶ角の位置座標を推定する構成にすることができ
具体的に、角推定手段は、原稿の第二辺に対応するエッジ点群の抽出に失敗し、原稿の第三辺に対応するエッジ点群の抽出に成功した場合、この第三辺に対応するエッジ点群の情報から、原稿の第一辺と第三辺とを結ぶ角の位置座標を推定し、推定した原稿の第一辺と第三辺とを結ぶ角の位置座標を通る直線であって、原稿の第三辺に対応するエッジ点群の近似直線に垂直な直線が、原稿台の上記特定の辺と交差する点の位置座標を、原稿の第一辺と第二辺とを結ぶ角の位置座標であると推定する構成にすることができ
このように構成された画像読取装置によれば、原稿の第二辺に対応するエッジ点群の抽出に失敗した場合においても、正確に、原稿台に載置された原稿の第一辺と第二辺とを結ぶ角、及び、原稿の第一辺と第三辺とを結ぶ角の位置座標を推定することができる。
尚、原稿台の端が読取不可領域となっている画像読取装置において、上述のように、一つの特定の角から延びる二辺を、原稿の辺をあわせるべき特定の辺として定める場合には、上記原稿の第一辺や第二辺に対応するエッジ点群の抽出に失敗する可能性が高くなる。一方で、原稿の第三辺について、その辺が読取不可領域にかかる可能性は、小さい。よって、このように、原稿の第三辺に基づいて、原稿の各角を推定するようにすれば、様々な状況にも適切に対応して、正確に、原稿の各角を推定することができる。
また、角推定手段は、原稿の第一辺に対応するエッジ点群の抽出に失敗し、原稿の第二辺及び第三辺に対応するエッジ点群の抽出に成功した場合、原稿の第二辺に対応するエッジ点群の近似直線と、原稿台の第一辺とが交差する点の位置座標を、原稿の第一辺と第二辺とを結ぶ角の位置座標であると推定し、推定した原稿の第一辺と第二辺とを結ぶ角の位置座標を通る直線であって、原稿の第三辺に対応するエッジ点群の近似直線に垂直な直線が、原稿の第三辺の近似直線と交差する点の位置座標を、原稿の第一辺と第三辺とを結ぶ角の位置座標であると推定する構成にすることができる
このように、原稿の第二辺及び第三辺に基づいて、原稿の各角を推定するようにすれば、原稿の第一辺に対応するエッジ点群の抽出に失敗した場合においても、正確に、原稿の各角位置を推定することができる。
また、上述の画像読取装置は、次のように構成することができる。即ち、上述の画像読取装置は、読取ユニットが読取可能な原稿台の領域である読取可能領域の内、原稿台の第一辺から原稿台内側に所定距離離れた位置までの領域に属する読取可能領域の一部領域において、読取ユニットを搬送し、当該一部領域において読取ユニットに読取動作を実行させるプレスキャン手段を備え、角推定手段は、プレスキャン手段の動作により得られた読取ユニットの読取結果である画像データを変換手段により変換してなるエッジ画像データを用いて、原稿台に載置された原稿の各角の位置座標を推定する構成にすることができ
原稿の状態を推定するに際して原稿台の一部領域のみを読み取る手法では、原稿が載置されていない領域に対して読取動作を実行しなくて済むので、原稿の状態を高速に推定できる一方、原稿の状態を推定する拠所となる情報量が少なくなる。そこで、本発明のようにして、原稿の角が原稿台の端に突き当てられているとの仮定の下で、原稿の角位置を推定すれば、原稿台の一部領域のみを読み取る手法でも、様々な状況で、適切に原稿の状態を推定することができる。結果、本発明によれば、原稿の推定にかかる処理の高速性と正確性を兼ね備えた画像読取装置を、ユーザに提供することができる。
尚、このように構成された画像読取装置において、原稿サイズの推定は、次のように行うことができる。即ち、上記画像読取装置は、角推定手段により推定された二つの角の各位置座標間の長さから原稿台に載置された原稿の一辺の長さを推定し、原稿台に載置された原稿が定型用紙であるとの仮定の下で、上記推定した辺の長さから、この辺に直交する原稿の辺の長さを推定する構成にすることができ
このように画像読取装置を構成すれば、原稿台の一部領域を読み取る程度で、原稿の縦幅及び横幅を正確に検出することができる。
以下に本発明の実施例について、図面と共に説明する。
図1(a)は、本実施例のディジタル複合機1の構成を表すブロック図である。図1(a)に示すように、本実施例のディジタル複合機1は、画像読取部10、読取制御部20、印刷部30、印刷制御部40、表示操作部50、通信部60、CPU70、RAM80及びフラッシュメモリ90を備え、フラッシュメモリ90に記録されたプログラムに基づきCPU70にて各種処理を実行し、装置全体を統括制御する構成にされている。
具体的に、画像読取部10は、図1(b)(c)に示す構成にされている。図1(b)(c)は、画像読取部10の構成を示した説明図である。画像読取部10は、読取対象の原稿Pが載置される透明な板状の読取ガラス11が筐体13に支持された構成にされており、筐体13内の読取ガラス11下に、読取ガラス11に写る画像を主走査方向において光学的に読み取る読取ユニット15と、読取ユニット15を副走査方向に搬送する搬送機構16と、搬送機構16を駆動するモータ17とを備える。
この画像読取部10は、読取制御部20から入力される制御信号に従って、モータ17の回転力により搬送機構16を駆動し、これにより読取ユニット15を読取ガラス11下で副走査方向(図1(b)(c)に示す点線矢印方向)に搬送すると共に、搬送時において、読取ユニット15に読取動作を実行させる。
尚、読取ユニット15は、読取制御部20に制御されて、副走査方向への移動と共に、読取ガラス11に写る画像をライン毎に読み取り、その読取画像を表すライン画像信号を出力するコンタクトイメージセンサ(CIS)である。この読取ユニット15から出力されるライン画像信号は、図示しないA/D変換器にてディジタルデータ(ライン画像データ)に変換され、読取制御部20に入力される。
また、画像読取部10には、周知のスキャナと同様、読取ガラス11を被覆可能な蓋が開閉自在に設けられており(図示せず)、読取ユニット15による読取動作の実行時には、ユーザによる手動操作により、読取ガラス11に載置された原稿の上にかぶせられるようにして蓋が閉められる。尚、読取ガラス11と対向する蓋の内側は、原稿の読取画像に蓋の画像が写らないよう白色部材で構成されている。
一方、読取制御部20は、CPU70からの指令に従って読取制御処理を実行し、当該読取制御処理にて、読取ユニット15の副走査方向への移動を制御すると共に、読取ユニット15の読取動作を制御する。
この制御により、読取制御部20は、読取ユニット15を読取ガラス11下で副走査方向に搬送しつつ、CPU70から指定された読取ガラス11の読取領域に写る画像を、読取ユニット15に読み取らせ、読取ガラスの読取領域に写る画像を表す画像データを、RAM80に記録する。このような動作により、RAM80には、読取ガラス11の読取領域に載置された原稿Pの読取画像を表す画像データが記録される。
尚、読取制御部20は、画像読取部10から入力される各ライン画像データを、一旦内蔵のバッファに蓄積し、各ライン画像データに対してシェーディング補正等の画像処理を実行した後、各ライン画像データを、RAM80に記録する。
この他、印刷部30は、印刷制御部40から入力される制御信号に従い、トレイ(図示せず)に載置された記録紙を、記録位置に搬送し、インクジェット方式やレーザプリンタ方式等の周知の記録方式で、記録紙に、制御信号に対応した画像を形成するものである。
また、印刷制御部40は、印刷部30を制御して記録紙に画像を形成するものであり、CPU70からの指令に従って、CPU70から指定された印刷対象データに基づく画像を、印刷部30を通じて、記録紙に印刷する。
また、通信部60は、外部機器と通信するためのインタフェース群からなり、USBインタフェース、LANインタフェース、FAXモデム等から構成されている。即ち、複合機1は、通信部60が備えるFAXモデムを通じて外部のFAX装置とFAX通信可能な構成にされ、USBインタフェース又はLANインタフェースを通じて外部のパーソナルコンピュータと通信可能な構成にされている。
この他、表示操作部50は、情報表示用の液晶ディスプレイ(図示せず)と、各種操作キーとを備え、CPU70に制御されて、液晶ディスプレイに、ユーザ向けの情報を表示すると共に、操作キーを通じて入力されたユーザからの指令を、CPU70に入力する。
また、CPU70は、プログラムの実行により、操作キーを通じて入力される指令や通信部60を通じて外部のパーソナルコンピュータ等から入力される指令に従い、コピー機能、FAX機能、スキャナ機能、及び、プリンタ機能等を実現する。
例えば、CPU70は、表示操作部50に設けられた操作キーを通じてユーザからコピー指令が入力されると、複写制御処理(図3参照)を実行して装置内各部を制御し、読取ガラス11上に載置された原稿Pの読取画像を、記録紙に印刷する。詳細には、読取ユニット15による読取結果に基づいて読取ガラス11上に載置された原稿Pのサイズを推定し、推定した原稿サイズと記録紙サイズとから変倍率を設定して、原稿Pの読取画像を、記録紙サイズに適合する大きさに拡大又は縮小し、これを、印刷部30を通じて記録紙に印刷する。
以下、この複写制御処理の内容について具体的に説明するが、それに先駆けては、図2を用いて本実施例の画像読取部10の特徴について説明する。
図2は、読取ガラス11の読取可能領域R0を示した説明図である。当該複合機1においては、一面が開口された長方体状の筐体13の当該開口部において、長方形状のガラス板である読取ガラス11が当該開口部を閉塞するように設けられており、読取ガラス11の周囲が筐体13により支持された構成にされている。
この読取ガラス11は、筐体13の上面よりも若干筐体13の下側に設けられており、筐体13から露出する読取ガラス11の領域11a(以下、「原稿台」と表現する。)と筐体13との境界BDには、原稿Pを突き当て可能に段差が形成されている(以下、筐体13の読取ガラス11より上方に位置する部位(上記段差を形成する部位)13aを「フレーム」と表現する。)。
また、画像読取部10においては、読取ユニット15のライン幅と、原稿台11aの大きさとの関係から、四角形状の原稿台11aの全領域よりも若干狭い四角形状の領域R0が、読取ユニット15により原稿を読取可能な読取可能領域R0に定められている。具体的に、読取可能領域R0は、図2において点線で示すように、フレーム13aと読取ガラス11との境界BDから微小量(本実施例では3mm)離れた位置に外周を有した領域となっている。
また、この画像読取部10においては、フレーム13aの左下部分に、原稿Pの角を突き当てるように指示するマークMKが記されている。尚、本実施例では、マークMKが付された原稿台11aの角を、「左下角」と定義して、この左下角より、主走査方向に離れた地点に位置する原稿台11aの角を「右下角」と定義し、左下角より、副走査方向に離れた地点に位置する原稿台11aの角を「左上角」と定義する。
即ち、複合機1においては、原稿台11aの左下角(換言すれば、フレーム13aの内側左下角)が、原稿Pの角を合わせるべき位置として定められ、原稿台11aの左下角から延びる二辺(原稿台11aの左端縁及び下端縁)が、原稿の辺をあわせるべき辺として定められている。複合機1は、ユーザが概ね、このマークMKに合わせて原稿Pを載置しているとの仮定の下で、原稿サイズの推定等を行い、原稿のコピー動作を実現する。
この他、本実施例の複合機1においては、このマークMKが付されたフレーム13aの内側左下角に対応する読取可能領域R0の左下角を原点、主走査方向をX軸、副走査方向をY軸としたXY座標系(図2(b)参照)が導入されており、CPU70は、このXY座標系を用いて図3に示す複写制御処理を実行する。
続いて、CPU70が実行する複写制御処理について説明する。図3は、操作キーを通じてコピー指令が入力されると、CPU70が実行する複写制御処理を表すフローチャートである。
複写制御処理を開始すると、CPU70は、操作キーを通じて入力されたコピー指令が「縁無し」コピー指令であるか否かを判断し(S110)、「縁無し」コピー指令であると判断すると(S110でYes)、S120に移行して、図4(a)に示す第一複写処理を実行する。
詳しくは後述するが、第一複写処理では、読取可能領域R0全体に渡ってプレスキャン動作を画像読取部10に実行させ、プレスキャン結果として、読取可能領域R0全体の読取結果である画像データを画像読取部10から取得し、この画像データに基づいて原稿サイズや原稿の傾き角を推定して、変倍率及び傾き補正量を設定し、その後、本スキャン動作を画像読取部10に実行させて、これにより得られる画像データを、拡大・縮小・回転処理し、印刷部30を通じて、記録紙に「縁なし」で原稿のコピー画像を印刷する。CPU70は、この第一複写処理を終了すると、複写制御処理を終了する。
一方、操作キーを通じて入力されたコピー指令が「縁無し」コピー指令ではないと判断すると(S110でNo)、CPU70は、当該コピー指令が「自動変倍/傾き補正」コピー指令であるか否かを判断し(S130)、入力されたコピー指令が「自動変倍/傾き補正」コピー指令であると判断すると(S130でYes)、図4(b)に示す第二複写処理を実行する(S140)。
詳しくは後述するが、第二複写処理では、読取可能領域R0の一部領域においてプレスキャン動作を画像読取部10に実行させ、プレスキャン結果として、当該一部領域に載置された原稿の読取結果である画像データを画像読取部10から取得し、この画像データに基づいて原稿サイズや原稿の傾き角を推定して、変倍率及び傾き補正量を設定し、その後、本スキャン動作を画像読取部10に実行させ、これにより得られる画像データを、拡大・縮小・回転処理し、印刷部30を通じて、記録紙に、傾き補正した原稿のコピー画像を、記録紙サイズに対応する大きさで印刷する。CPU70は、この第二複写処理を終了すると、複写制御処理を終了する。
また、操作キーを通じて入力されたコピー指令が「自動変倍/傾き補正」コピー指令ではないと判断すると(S130でNo)、CPU70は、入力されたコピー指令が「ノーマル」コピー指令であるか否かを判断する(S150)。そして、「ノーマル」コピー指令であると判断すると(S150でYes)、S160に移行し、「ノーマル」コピー指令ではないと判断すると(S150でNo)、入力されたコピー指令に対応した処理を実行した後(S155)、当該複写制御処理を終了する。
また、S160に移行すると、CPU70は、印刷制御部40を通じて、印刷部30に給紙動作を実行させると共に、給紙動作の対象となった記録紙のサイズを検出する(S165)。尚、記録紙のサイズは、例えば、記録紙の搬送路に設けられたセンサを用いて周知の手法で検出することができる。
また、この処理を終えると、CPU70は、S165での検出結果に基づき、読取ガラス11上において、記録紙サイズと同サイズの原稿が正しく規定の位置に載置されていると仮定して、原稿読取開始位置を読取可能領域R0の下端(Y=0)に設定し、原稿読取終了位置を、原稿の上端に対応する位置に設定する(S170)。このようにして、上記原稿読取開始位置から原稿読取終了位置までを読取領域に設定する。
その後、CPU70は、読取制御部20を通じて画像読取部10を制御し、画像読取部10に、読取ユニット15を原稿読取開始位置から原稿読取終了位置まで副走査方向に搬送させると共に、当該搬送中にはライン毎の読取動作を読取ユニット15に実行させて、読取ガラス11上の読取領域に写る画像を、読取ユニット15に読み取らせ、当該読取領域の読取結果を表す画像データが、RAM80に記録されるようにする(S180)。
また、この処理を終えると、CPU70は、RAM80に記録された上記読取結果を表す画像データを、印刷対象データに設定して、当該印刷対象データについての印刷処理を実行する(S190)。即ち、印刷制御部40を通じて、印刷部30に印刷対象データに基づく画像を、給紙した記録紙に印刷させる。このようにして、原稿のコピー画像を、拡大・縮小や傾き補正無しで記録紙に印刷する。その後、当該複写制御処理を終了する。
続いて、CPU70が、S120で実行する第一複写処理について説明する。図4(a)は、CPU70が実行する第一複写処理を表すフローチャートである。
第一複写処理を開始すると、CPU70は、原稿読取開始位置を、読取可能領域R0の下端(Y=0)に設定し、原稿読取終了位置を、読取可能領域R0の上端(Y=YMAX)に設定することにより、読取可能領域R0全域を読取領域に設定し、読取制御部20を通じて、画像読取部10に、プレスキャン動作を実行させる(S210:全体プレスキャン処理)。
尚、画像読取部10は、プレスキャン動作として、設定された読取領域の端から端まで、プレスキャン用の解像度に対応する速度で、読取ユニット15を副走査方向に搬送し、その読取領域の画像を読取ユニット15に読み取らせ、プレスキャン結果として、低解像度の画像データ(以下、「プレスキャン画像データ」という。)を、読取制御部20を通じて、RAM80に記録する動作を実行する。
S210での処理を終えると、CPU70は、RAM80に記録されたプレスキャン画像データに対してエッジ検出処理を実行し、この画像データに対応するエッジ画像データを生成する(S215)。即ち、RAM80に記録されたプレスキャン画像データを、エッジ検出用の画像フィルタ(周知の微分フィルタ)に通して、この画像データに対応するエッジ画像を表すエッジ画像データを生成する。
また、この処理を終えると、CPU70は、生成したエッジ画像データを解析して、原稿台11aに載置された原稿のサイズ(縦幅及び横幅)、及び、原稿の傾き角θ、及び、原稿台11aにおける原稿の載置領域を推定する(S220)。但し、ここでは、X軸に対して原稿の下辺がなす角度を、原稿の傾き角θ(図9参照)とする。
また、S220での処理を終えると、CPU70は、印刷制御部40を通じて、印刷部30に給紙動作を実行させると共に(S230)、給紙動作の対象となった記録紙のサイズを検出する(S235)。更に、S220で推定した原稿サイズ及びS235で検出した記録紙サイズに基づき、予め定められた計算式で(具体的には、原稿のコピー画像が記録紙の縁まで最大限広がって印刷されるように)変倍率を設定する(S240)。
この他、CPU70は、S220で推定した原稿の傾き角θから、画像データの傾き補正量を設定する(S250)。具体的には、原稿のコピー画像が、傾きのない状態でまっすぐ、記録紙に印刷されるように、傾き補正量を設定する。但し、推定した原稿の傾き角θが微小量(本実施例では−0.5度≦θ≦0.5度)である場合には、誤差も考慮して、傾き補正量をゼロに設定する。
また、S250での処理を終えると、CPU70は、S220で推定した原稿の載置領域の情報に基づいて、原稿読取開始位置及び原稿読取終了位置を設定し、原稿読取開始位置及び原稿読取終了位置で定められる読取領域を、原稿台11aにおける原稿の載置領域に対応させる(S260)。
具体的には、原稿の載置領域全体を読取ユニット15が読み取ることができるように、原稿読取開始位置を、副走査方向において最も下側に位置する原稿の端点に対応した位置に設定し、原稿読取終了位置を、副走査方向において最も上側に位置する原稿の端点に対応した位置に設定して、読取領域を原稿台11aにおける原稿の載置領域に対応させる。
また、S260での処理を終えると、CPU70は、読取制御部20を通じて画像読取部10を制御することで、画像読取部10に、読取ユニット15を原稿読取開始位置から原稿読取終了位置まで副走査方向に搬送させると共に、当該搬送中にはライン毎の読取動作を読取ユニット15に実行させて、上記設定した読取領域の画像を、読取ユニット15に読み取らせ、当該読取領域の読取結果を表す画像データが、RAM80に記録されるようにする(S270)。
また、この処理を終えると、CPU70は、RAM80に記録された上記読取結果を表す画像データを、予め設定した変倍率で拡大又は縮小処理すると共に、予め設定した傾き補正量分、回転処理して、上記読取結果を表す画像データを、印刷用の画像データに変換し、変換後の画像データを、印刷対象データに設定する(S280)。但し、傾き補正量がゼロに設定されている場合には、S280において、回転処理を、実行しないものとする。
そして、S280での処理を終えると、CPU70は、当該印刷対象データについての印刷処理を実行する(S290)。即ち、印刷制御部40を通じて、印刷部30に印刷対象データに基づく画像を、給紙した記録紙に印刷させる。その後、当該複写制御処理を終了する。
続いて、S140でCPU70が実行する第二複写処理について説明する。図4(b)は、CPU70が実行する第二複写処理を表すフローチャートである。
第二複写処理を開始すると、CPU70は、原稿読取開始位置を、読取可能領域R0の下端(Y=0)に設定し、原稿読取終了位置を、設計段階で予め定められた読取可能領域R0の下端から所定距離離れた位置(Y=YPRE)に設定することにより、読取可能領域R0の一部を読取領域に設定し、読取制御部20を通じて、画像読取部10に、当該読取領域に対するプレスキャン動作を実行させる(S310:先端部プレスキャン処理)。
図5は、第一複写処理で実行される全体プレスキャン処理の読取領域と、第二複写処理で実行される先端部プレスキャン処理の読取領域と、の相違を表した説明図である。図5に示すように、第二複写処理では、第一複写処理のように読取可能領域R0全体に対してプレスキャン動作を画像読取部10に実行させるのではなく、読取可能領域R0の下端から読取可能領域R0内側へ所定距離離れた地点まで(本実施例では、読取可能領域R0の下端から30mm離れた地点まで)に対して、プレスキャン動作を画像読取部10に実行させる。
このようにして、S310での処理を終えると、CPU70は、RAM80に記録されたプレスキャン画像データ(プレスキャン結果)に対してエッジ検出処理を実行し、この画像データに対応するエッジ画像データを生成する(S315)。即ち、RAM80に記録されたプレスキャン画像データを、エッジ検出用の画像フィルタ(周知の微分フィルタ)に通して、エッジ画像データに変換する。
また、この処理を終えると、CPU70は、S315で生成したエッジ画像データを検査対象データに設定し、S320にて、図6に示す原稿推定処理を実行する。これにより、上記エッジ画像データを解析して、原稿台11aに載置された原稿のサイズ(縦幅及び横幅)、及び、原稿の傾き角θ、及び、原稿台11aにおける原稿の載置領域を推定する。具体的には、原稿台11aに載置された原稿が四角形状で縦横比が一定の定型用紙であるとの仮定の下で、原稿台11aに載置された原稿のエッジを検出すると共に、その検出結果から原稿の左下角位置及び右下角位置を推定し、この推定結果に基づいて、原稿台11aに載置された原稿のサイズ、及び、原稿の傾き角θ、及び、原稿の載置領域を推定する(詳細後述)。
また、S320での処理を終えると、CPU70は、S230〜S290の処理と同様に、S330〜S390の処理を実行する。
但し、S340では、S320で推定した原稿サイズ及びS335で検出した記録紙サイズに基づき、変倍率を、予め定められた計算式に従って、原稿サイズと記録紙サイズとの比(例えば、記録紙短辺長さ÷原稿短辺長さ)に対応した倍率に設定し、後続の処理で、原稿のコピー画像が、原稿サイズとの記録紙サイズの比に対応した倍率で拡大(倍率が1未満の場合には縮小)されて記録紙に印刷されるようにする。
また、S350では、S320で推定した原稿の傾き角θから、原稿のコピー画像が、まっすぐ記録紙に印刷されるように、読取結果である画像データの傾き補正量を設定し、S360では、S320で推定した原稿の載置領域の情報に基づいて、原稿読取開始位置及び原稿読取終了位置を設定し、原稿読取開始位置及び原稿読取終了位置で定められる読取領域を、原稿台11aにおける原稿の載置領域に対応させる。
このようにして、第二複写処理では、読取可能領域R0における一部領域のプレスキャン結果に基づき、原稿サイズ、原稿の傾き角、及び、原稿の載置領域を推定し、その結果から、本スキャン時(S370実行時)の読取領域を決定すると共に、変倍率及び傾き補正量を決定して、原稿のコピー画像を、記録紙サイズに対応する大きさで、記録紙に印刷する。
続いて、図6を用いて、CPU70が、S320で実行する原稿推定処理について説明する。図6は、CPU70が実行する原稿推定処理を表すフローチャートである。
この原稿推定処理を開始すると、CPU70は、変数Sを上述のプレスキャン領域上端のY座標であるYPREに設定することにより(S=YPRE)、Y軸方向の検査範囲を、Y=0からY=S=YPREに設定する(S410)。また、この処理を終えると、S420に移行し、右エッジ検出処理を実行する。図7は、CPU70が実行する右エッジ検出処理を表すフローチャートである。
右エッジ検出処理を開始すると、CPU70は、まずS610にて、副走査方向検査位置Yeを、読取可能領域R0の下端Y座標に設定し(Ye=0)、S615にて、主走査方向検査位置Xeを、読取可能領域R0の右端X座標に設定する(Xe=XMAX)。また、S615では、変数Cを値ゼロに初期化する(C=0)。その後、副走査方向検査位置Yeが検査範囲を超えているか否かを判断する(S620)。具体的には、Ye>Sであるか否かを判断する。
そして、副走査方向検査位置Yeが検査範囲を超えていないと判断すると(S620でNo)、CPU70は、主走査方向検査位置Xe及び副走査方向検査位置Yeで定まる検査位置(X,Y)=(Xe,Ye)に対応する検査対象データの画素値を参照することにより、検査位置(Xe,Ye)がエッジ点であるか否かを判断する(S625)。尚、図8は、エッジ画像データの構成を抜粋して示し、更に、右エッジ検出処理により追跡するエッジ点の軌跡を表した説明図である。図8に示す例では、画素値「1」の地点がエッジ点に該当する。
そして、検査位置(Xe,Ye)がエッジ点ではないと判断すると(S625でNo)、CPU70は、S640に移行して、主走査方向検査位置Xeを、X軸マイナス方向に1画素移動した位置に更新し(Xe←Xe−1)、更新後の主走査方向検査位置Xeが読取可能領域R0の左端を、はみ出ていないかどうかを判断する。具体的には、Xe<0であるか否かを判断する(S643)。
そして、主走査方向検査位置Xeが、読取可能領域R0の左端をはみ出ていないと判断すると(S643でNo)、CPU70は、S620に移行して、副走査方向検査位置Yeが検査範囲を超えているか否か(Ye>Sであるか否か)を判断し、副走査方向検査位置Yeが検査範囲を超えていないと判断すると(S620でNo)、S625に移行し、副走査方向検査位置Yeが検査範囲を超えていると判断すると(S620でYes)、S690に移行する。
一方、S643において、主走査方向検査位置Xeが読取可能領域R0の左端をはみ出ていると判断すると(Xe<0であると判断すると)、CPU70は、S647に移行し、主走査方向検査位置Xeを、読取可能領域R0の右端(XMAX)に設定すると共に(Xe=XMAX)、副走査方向検査位置Yeを、現在値Yeに8加えた値に更新する(Ye←Ye+8)。即ち、副走査方向検査位置Yeを、Y軸方向に8画素進んだ位置に設定する。その後、S620に移行して、上述の処理を実行する。
また、検査位置(Xe,Ye)がエッジ点であると判断すると(S625でYes)、CPU70は、S630に移行し、変数(X0,Y0)に、現在の検査位置(Xe,Ye)の座標値を、設定する(X0←Xe,Y0←Ye)。また、変数Y1を、座標Y=Y0からY軸方向に8画素進んだ座標値Y1(=Y0+8)に更新する(S633)。
その後、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点及び座標(X0+1,Y1)の地点の少なくとも一つが、エッジ点であるか否かを判断し(S637)、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点及び座標(X0+1,Y1)の地点のいずれもがエッジ点でない場合には(S637でNo)、S640に移行して、主走査方向検査位置Xeを、X軸マイナス方向に1画素移動した位置に更新する(Xe←Xe−1)。
一方、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点及び座標(X0+1,Y1)の地点の少なくとも一つがエッジ点であると判断した場合には(S637でYes)、S650に移行して、座標(X0,Y0)の地点が連続性のあるエッジ点であると判定し、この座標(X0,Y0)を、連続性のあるエッジ点の座標データとして、一時記憶する。
また、この処理を終えると、CPU70は、S660に移行し、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点及び座標(X0+1,Y1)の地点の内、エッジ点である地点の一つを、予め定められた優先度に従って選択する。
具体的に、右エッジ検出処理においては、読取可能領域R0右端側に近い座標ほど高い優先度が設定されている。即ち、読取可能領域R0右端側に近い座標(X0+1,Y1)の地点が優先度「大」に設定され、座標(X0,Y1)の地点が優先度「中」に設定され、座標(X0−1,Y1)の地点が優先度「小」に設定されている。
このように優先度が設定されているのは、原稿の右端より右側においては、原稿台11aに何も存在せず、エッジ点は存在しないはずであり、読取可能領域R0右端側に近いエッジ点であるほど、そのエッジ点が原稿の右端に対応するエッジ点である可能性が高いためである。
即ち、S660では、上記優先度に従って、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点、及び、座標(X0+1,Y1)の地点の内、エッジ点である地点であって優先度の最も高い地点を選択する。そして、変数X0を、選択した地点のX座標に更新し、変数Y0を、選択した地点のY座標に更新する。その後、変数Cを1加算した値に更新する(S663)。
そして、この処理を終えると、CPU70は、更新後の変数Cの値がC=8であるか否かを判断し、C=8でないと判断すると(S667でNo)、S633に移行して、変数Y1を、座標Y=Y0からY軸方向に8画素進んだ地点のY座標に更新する(Y1=Y0+8)。その後、S637以降の処理を実行する。
CPU70は、このような処理を実行することにより、図8に示すように、Y軸方向に8画素おきに、エッジ点がY軸方向に連続するものであるか否かを検査する。そして、C=8であると判断すると(S667でYes)、8回に及ぶS650の処理で連続性のあるエッジ点として判定した計8地点の各座標データを、原稿右エッジデータとしてRAM80に記憶する(S670)。
また、この処理を終えると、CPU70は、S680に移行して、副走査方向検査位置Yeが検査範囲を超えているか否か(Ye>Sであるか否か)を判断し、副走査方向検査位置Yeが検査範囲を超えていないと判断すると(S680でNo)、副走査方向検査位置Yeを64画素進んだ位置に更新して(S685)、S615に移行する。
このようにして、CPU70は、連続するエッジ点を、8つを1組として、繰返し検出する。そして、副走査方向検出位置Yeが検査範囲を超えると(S620でYes又はS680でYes)、S690に移行し、S670で原稿右エッジデータとして記憶された座標データ群の中から、右エッジ(原稿の右端を表すエッジ点)として確度の低い座標データ群を削除して、原稿右エッジデータを確定する。
具体的には、図9に示すように、原稿右エッジデータとして記憶された座標データ群の内、連続性のある座標データ群に対して原稿内側領域に大きくずれた位置にある、明白に連続性のない座標データ群を、原稿右エッジデータから除去し、原稿右エッジデータを確定する。その後、当該右エッジ検出処理を終了する。但し、S690の処理は原稿エッジの検出精度を高めるための処理であるので、S690の処理については、実行しないように、右エッジ検出処理を構成してもよい。
このようにして、右エッジ検出処理を終えると、CPU70は、S430に移行し、直前の右エッジ検出処理で右エッジの検出に失敗したか否かを判断する。具体的には、直前の右エッジ検出処理で原稿右エッジデータとして登録された座標データがない場合、右エッジの検出に失敗したと判断し、原稿右エッジデータとして登録された座標データがある場合には、右エッジの検出に成功したと判断する。
但し、例外的に、原稿右エッジデータとして登録された座標データが読取可能領域R0の左端(Y=0)近傍にある場合には、左エッジ(原稿の左端を表すエッジ点)の座標データが間違って原稿右エッジデータとして登録されているとみなして、原稿右エッジデータとして登録された座標データがある場合でも、右エッジの検出に失敗したと判断してもよい。
尚、右エッジの検出に失敗するケースとしては、原稿サイズが原稿台11aのサイズより大きく、原稿の右端が原稿台11aからはみ出しているケースなどを挙げることができる。
そして、右エッジの検出に失敗したと判断すると(S430でYes)、CPU70は、S431に移行し、原稿台11aに載置されている原稿のサイズ(縦幅及び横幅)が、原稿台11aに載置可能な最大サイズ(読取可能領域R0に対応するサイズ)であると推定すると共に(S431)、原稿の傾き角θがゼロ(θ=0)であると推定し(S433)、読取可能領域R0全体を、原稿の載置領域と推定する(S435)。そして、この処理を終えると、当該原稿推定処理を終了する。
一方、S430において右エッジの検出に成功したと判断すると(S430でNo)、CPU70は、S437に移行し、右エッジ検出処理で確定された原稿右エッジデータが示す各点を直線近似して、原稿右エッジデータが示す点群の近似直線(以下、「右エッジ近似直線」と表現する。)を算出する。
また、この処理を終えると、CPU70は、S440に移行して、右エッジ近似直線がY軸に対し所定角度より大きく傾いているか否かを判断する。本実施例では、具体的に、右エッジ近似直線がY軸に対し0.5度より大きく傾いているか否かを判断する。
そして、右エッジ近似直線の傾きが上記所定角度以下であると判断すると(S440でNo)、CPU70は、原稿がフレーム13aの内側左下角に突き当てられて原稿台11aに正しく載置されていると見なして、図6右図に示すように、右エッジ近似直線と原稿台11a下端縁(換言すると、フレーム13aの下辺(以下、「下フレーム」と表現する。)内側)との交点を、原稿の右下角位置であると推定する(S441)。
また、この処理を終えると、CPU70は、原稿の左下角位置が原稿台11aの左下角(換言すると、フレーム13aの内側左下角)の地点であるとみなして、原稿サイズを推定する。具体的には、原稿台11aに載置されている原稿が、長方形状の定型用紙であると仮定の下で、上記原稿の左下角位置からS441で推定した原稿の右下角位置までの長さを、原稿の短辺長さ(横幅)と推定し、この短辺長さの√2倍を、原稿の長辺長さ(縦幅)と推定する(S443)。尚、ここで原稿短辺長さの√2倍を、原稿の長辺長さとして推定しているのは、定型用紙の短辺長さ:長辺長さの比が1:√2となっているためである。
そして、S443での処理を終えると、CPU70は、S445に移行し、原稿台11aに載置されている原稿の傾き角θをゼロであると推定し(換言すると、原稿が傾いていないと推定し)、上記左下角位置及び推定した右下角位置、及び、原稿サイズ、及び、傾き角θの関係から、原稿の左上角及び右上角が位置する座標を導出する。これにより、これら4つの角を結んでできる四角形の辺を原稿の外縁であると推定し、その外縁で囲まれる領域を、原稿の載置領域であると推定する(S447)。
即ち、原稿の左下角がフレーム13a内側左下角に突き当てられ、この状態で上記推定したサイズの原稿の長辺がY軸に平行に配置され、原稿の短辺がX軸に平行に配置されている場合に、原稿によって読取ガラス11が被覆される領域を、原稿の載置領域であると推定する(S447)。そして、この処理を終えると、当該原稿推定処理を終了する。
一方、右エッジ近似直線がY軸に対し所定角度より大きく傾いていると判断すると(S440でYes)、CPU70は、S450に移行し、図10に示す左エッジ検出処理を実行する。図10は、CPU70が実行する左エッジ検出処理を表すフローチャートである。
左エッジ検出処理を開始すると、CPU70は、S710にて、副走査方向検査位置Ye=0に設定し、S715にて、主走査方向検査位置Xeを、読取可能領域R0の左端X座標に設定する(Xe=0)。また、S715では、変数Cを値ゼロに初期化する(C=0)。
その後、CPU70は、副走査方向検査位置Yeが検査範囲を超えているか否か(即ち、Ye>Sであるか否か)を判断し(S720)、副走査方向検査位置Yeが検査範囲を超えていないと判断すると(S720でNo)、検査位置(X,Y)=(Xe,Ye)に対応する検査対象データの画素値を参照して、検査位置(Xe,Ye)がエッジ点であるか否かを判断する(S725)。
そして、検査位置(Xe,Ye)がエッジ点ではないと判断すると(S725でNo)、S740に移行し、主走査方向検査位置Xeを、X軸プラス方向に1画素移動した地点に更新し(Xe←Xe+1)、更新した主走査方向検査位置Xeが、読取可能領域R0の右端を、はみ出ていないかどうかを判断する。具体的には、Xe>XMAXであるか否かを判断する(S743)。そして、主走査方向検査位置Xeが、読取可能領域R0の右端をはみ出ていないと判断すると(S743でNo)、S720に移行する。
一方、S743で主走査方向検査位置Xeが読取可能領域R0の右端をはみ出ていると判断すると(Xe>XMAXであると判断すると)、CPU70は、S747に移行し、主走査方向検査位置Xeを、読取可能領域R0の左端に設定すると共に(Xe=0)、副走査方向検査位置Yeを、Y軸方向に8画素進んだ位置に設定する(Ye←Ye+8)。その後、S720に移行する。
また、検査位置(Xe,Ye)がエッジ点であると判断すると(S725でYes)、CPU70は、S730に移行して、変数(X0,Y0)に、現在の検査位置(Xe,Ye)の座標値を設定する(X0←Xe,Y0←Ye)と共に、変数Y1を、値Y1=Y0+8に更新する(S733)。
その後、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点及び座標(X0+1,Y1)の地点の少なくとも一つが、エッジ点であるか否かを判断し(S737)、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点及び座標(X0+1,Y1)の地点のいずれもがエッジ点でない場合には(S737でNo)、S740に移行する。
一方、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点及び座標(X0+1,Y1)の地点の少なくとも一つがエッジ点であると判断した場合には(S737でYes)、S750に移行して、座標(X0,Y0)の地点が連続性のあるエッジ点であると判定し、この座標(X0,Y0)を、連続性のあるエッジ点の座標データとして、一時記憶する。
また、この処理を終えると、CPU70は、S760に移行し、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点及び座標(X0+1,Y1)の地点の内、エッジ点である地点の一つを、予め定められた優先度に従って選択する。
具体的に、左エッジ検出処理においては、読取可能領域R0左端側に近い座標ほど高い優先度が設定されているものとする。即ち、読取可能領域R0左端側に近い座標(X0−1,Y1)の地点が優先度「大」に設定され、座標(X0,Y1)の地点が優先度「中」に設定され、座標(X0+1,Y1)の地点が優先度「小」に設定されている。このように優先度が設定されているのは、原稿の左端より左側においては、原稿台11aに何も存在せず、エッジ点は存在しないはずであり、読取可能領域R0左端側に近いエッジ点であるほど、そのエッジ点が原稿の左端に対応するエッジ点である可能性が高いためである。
従って、S760では、この優先度に従って、座標(X0−1,Y1)の地点、座標(X0,Y1)の地点、及び、座標(X0+1,Y1)の地点の内、エッジ点である地点であって優先度の最も高い地点を選択する。そして、変数X0を、選択した地点のX座標に更新し、変数Y0を、選択した地点のY座標に更新する。その後、変数Cを1加算した値に更新する(S763)。
また、この処理を終えると、CPU70は、更新後の変数Cの値がC=8であるか否かを判断し、C=8でないと判断すると(S767でNo)、S733に移行して、変数Y1を、Y1=Y0+8に更新する。その後、S737以降の処理を実行する。
このような処理手順により、CPU70は、右エッジ検出処理と同様(図8参照)、Y軸方向に8画素おきに、エッジ点がY軸方向に連続するものであるか否かを検査する。そして、C=8であると判断すると(S767でYes)、S750で連続性のあるエッジ点として判定した計8地点の各座標データを、原稿左エッジデータとしてRAM80に記憶する(S770)。
また、この処理を終えると、CPU70は、S780に移行して、副走査方向検査位置Yeが検査範囲を超えているか否か(Ye>Sであるか否か)を判断し、副走査方向検査位置Yeが検査範囲を超えていないと判断すると(S780でNo)、副走査方向検査位置Yeを64画素進んだ地点に更新して(S785)、S715に移行する。
このようにして、CPU70は、連続するエッジ点を、8つずつ、繰返し検出する。そして、副走査方向検出位置Yeが検査範囲を超えると(S720でYes又はS780でYes)、S790に移行し、S770で原稿左エッジデータとして記憶された座標データ群の中から、左エッジ(原稿の左端を表すエッジ点)として確度の低い座標データ群を削除して、原稿左エッジデータを確定する。
具体的には、S690での処理と同様、原稿左エッジデータとして記憶された座標データ群の内、連続性のある座標データ群に対して原稿内側領域に大きくずれた位置にある、明白に連続性のない座標データ群を、原稿左エッジデータから除去し、原稿左エッジデータを確定する。その後、当該左エッジ検出処理を終了する。但し、S790の処理については、実行しないように、左エッジ検出処理を構成してもよい。
また、このようにして、左エッジ検出処理を終えると、CPU70は、S455に移行し、左エッジ検出処理で確定された原稿左エッジデータが示す各点を直線近似して、原稿左エッジデータが示す点群の近似直線(以下、「左エッジ近似直線」という。)を算出する。その後、S460に移行する。
但し、直前の左エッジ検出処理で原稿左エッジデータとして登録された座標データがない場合には、左エッジの検出に失敗したと判断して、左エッジ近似直線を算出することなく、S460に移行するものとする。この他、原稿左エッジデータとして登録されている座標データの全て又は一部が原稿右エッジデータにも登録されている場合には、右エッジ(原稿の右端を表すエッジ点)の座標データが間違って原稿左エッジデータとして登録されているとみなして、原稿左エッジデータとして登録された座標データがある場合でも、左エッジの検出に失敗したと判断し、左エッジ近似直線を算出することなく、S460に移行するようにしてもよい。
また、S460に移行すると、CPU70は、図11に示す下エッジ検出処理を実行する。図11は、CPU70が実行する下エッジ検出処理を表すフローチャートである。
下エッジ検出処理を開始すると、CPU70は、S810にて、主走査方向検査位置Xeを、読取可能領域R0の左端X座標に設定し(Xe=0)、S815にて、副走査方向検査位置Yeを、読取可能領域R0の下端Y座標に設定する(Ye=0)。また、S815では、変数Cを値ゼロに初期化する(C=0)。
また、この処理を終えると、CPU70は、主走査方向検査位置Xeが読取可能領域R0の右端を超えているか否か(即ち、Xe>XMAXであるか否か)を判断し(S820)、主走査方向検査位置Xeが読取可能領域R0の右端を超えていないと判断すると(S820でNo)、検査位置(X,Y)=(Xe,Ye)に対応する検査対象データの画素値を参照し、検査位置(Xe,Ye)がエッジ点であるか否かを判断する(S825)。
そして、検査位置(Xe,Ye)がエッジ点ではないと判断すると(S825でNo)、S840に移行して、副走査方向検査位置Yeを、Y軸プラス方向に1画素移動した位置に更新し(Ye←Ye+1)、更新後の副走査方向検査位置Yeが検査範囲を超えているか否か(Ye>Sであるか否か)を判断する(S843)。
そして、副走査方向検査位置Yeが検査範囲を超えていないと判断すると(S843でNo)、S820に移行する。
一方、S843で副走査方向検査位置Yeが検査範囲を超えていると判断すると(Ye>Sであると判断すると)、CPU70は、S847に移行し、副走査方向検査位置Yeを、読取可能領域R0の下端に設定すると共に(Ye=0)、主走査方向検査位置Xeを、X軸方向に8画素進んだ位置に設定する(Xe←Xe+8)。その後、S820に移行する。
この他、CPU70は、S825において、検査位置(Xe,Ye)がエッジ点であると判断すると(S825でYes)、S830に移行し、変数(X0,Y0)に、現在の検査位置(Xe,Ye)の座標値を、設定する(X0←Xe,Y0←Ye)。また、変数X1を、値X1=X0+8に更新する(S833)。
その後、CPU70は、座標(X1,Y0−1)の地点、座標(X1,Y0)の地点及び座標(X1,Y0+1)の地点の少なくとも一つが、エッジ点であるか否かを判断し(S837)、座標(X1,Y0−1)の地点、座標(X1,Y0)の地点及び座標(X1,Y0+1)の地点のいずれもがエッジ点でない場合には(S837でNo)、S840に移行する。
一方、座標(X1,Y0−1)の地点、座標(X1,Y0)の地点及び座標(X1,Y0+1)の地点の少なくとも一つがエッジ点であると判断すると(S837でYes)、CPU70は、S850に移行して、座標(X0,Y0)の地点が連続性のあるエッジ点であると判定し、この座標(X0,Y0)を、連続性のあるエッジ点の座標データとして、一時記憶する。
また、この処理を終えると、CPU70は、S860に移行し、座標(X1,Y0−1)の地点、座標(X1,Y0)の地点及び座標(X1,Y0+1)の地点の内、エッジ点である地点の一つを、予め定められた優先度に従って選択する。
具体的に、下エッジ検出処理においては、読取可能領域R0下端側に近い座標ほど高い優先度が設定されている。即ち、読取可能領域R0下端側に近い座標(X1,Y0−1)の地点が優先度「大」に設定され、座標(X1,Y0)の地点が優先度「中」に設定され、座標(X1,Y0+1)の地点が優先度「小」に設定されている。このように優先度が設定されているのは、原稿の下端より下側においては、原稿台11aに何も存在せず、エッジ点は存在しないはずであり、読取可能領域R0下端側に近いエッジ点であるほど、そのエッジ点が原稿の下端に対応するエッジ点である可能性が高いためである。
従って、S860では、この優先度に従って、座標(X1,Y0−1)の地点、座標(X1,Y0)の地点及び座標(X1,Y0+1)の地点の内、エッジ点である地点であって優先度の最も高い地点を選択する。そして、変数X0を、選択した地点のX座標に更新し、変数Y0を、選択した地点のY座標に更新する。その後、変数Cを1加算した値に更新する(S863)。
また、この処理を終えると、CPU70は、更新後の変数Cの値がC=8であるか否かを判断し(S867)、C=8でないと判断すると(S867でNo)、S833に移行して、変数X1を、X1=X0+8に更新する。その後、S837以降の処理を実行する。
このような処理を実行することにより、CPU70は、X軸方向に8画素おきに、エッジ点がX軸方向に連続するものであるか否かを検査する。そして、C=8であると判断すると(S867でYes)、S850で連続性のあるエッジ点として判定した計8地点の各座標データを、原稿下エッジデータとしてRAM80に記憶する(S870)。
また、この処理を終えると、CPU70は、S880に移行して、主走査方向検査位置Xeが読取可能領域R0右端を超えているか否か(Xe>XMAXであるか否か)を判断し、主走査方向検査位置Xeが読取可能領域R0右端を超えていないと判断すると(S880でNo)、主走査方向検査位置Xeを64画素進んだ地点に更新して(S885)、S815に移行する。
このようにして、CPU70は、連続するエッジ点を、8つずつ、繰返し検出する。そして、主走査方向検出位置Xeが読取可能領域R0右端を超えると(S820でYes又はS880でYes)、S890に移行し、S870で原稿下エッジデータとして記憶された座標データ群の中から、下エッジ(原稿の下端を表すエッジ点)として確度の低い座標データ群を削除して、原稿下エッジデータを確定する。
具体的には、S690での処理と同様、原稿下エッジデータとして記憶された座標データ群の内、連続性のある座標データ群に対して原稿内側領域に大きくずれた位置にある、明白に連続性のない座標データ群を、原稿下エッジデータから除去し、原稿下エッジデータを確定する。その後、当該下エッジ検出処理を終了する。但し、S890の処理については、実行しないように、下エッジ検出処理を構成してもよい。
また、このようにして、下エッジ検出処理を終えると、CPU70は、S465に移行し、下エッジ検出処理で確定された原稿下エッジデータが示す各点を直線近似して、原稿下エッジデータが示す点群の近似直線(以下、「下エッジ近似直線」という。)を算出する。その後、S470に移行する。但し、直前の下エッジ検出処理で原稿下エッジデータとして登録された座標データがない場合には、下エッジの検出に失敗したと判断して、下エッジ近似直線を算出することなく、S470に移行するものとする。
また、S470に移行すると、CPU70は、右エッジ近似直線Y=A・X+Bの傾きAが負(A<0)であるか否かを判断する。そして、右エッジ近似直線の傾きAが負であると判断すると(S470でYes)、図12に示す第一角位置推定処理を実行し(S480)、右エッジ近似直線の傾きAが負ではないと判断すると(S470でNo)、図15に示す第二角位置推定処理を実行する(S485)。
図12は、CPU70が実行する第一角位置推定処理を表すフローチャートである。S480において、第一角位置推定処理を開始すると、CPU70は、S420、S450及びS460において右エッジ、左エッジ及び下エッジの全てが正常に検出されたか否かを判断する(S910)。
具体的に、S910では、右エッジ、左エッジ及び下エッジのいずれか一つでも、その検出に失敗している場合、Noと判断する。また、右エッジ、左エッジ及び下エッジの全てについて検出に成功している場合でも、直交関係にあるはずの右エッジ近似直線と下エッジ近似直線とが直交関係にない場合には、右エッジ、左エッジ及び下エッジの全てが正常に検出されていないと判断する。
同様に、平行関係にあるはずの右エッジ近似直線と左エッジ近似直線とが平行関係にない場合にも、右エッジ、左エッジ及び下エッジの全てが正常に検出されていないと判断する。そして、上記以外の場合には、S910でYesと判断する。
このような判断手法にてS910の処理を実行し、S910にて、右エッジ、左エッジ及び下エッジの全てが正常に検出されていると判断すると(S910でYes)、CPU70は、原稿の左下角位置を、左エッジ近似直線と下エッジ近似直線との交点であると推定して、その座標値を算出し(S920)、更に、原稿の右下角位置を、右エッジ近似直線と下エッジ近似直線との交点であると推定して、その座標値を算出する(S930)。その後、当該第一角位置推定処理を終了する。尚、図13は、S910でYesと判断したときの原稿左下角位置Ka及び原稿右下角位置Kbの推定方法を示した説明図である。図中、白丸がエッジ点を表し、黒丸が角位置Ka,Kbを表す。
一方、S910にて、右エッジ、左エッジ及び下エッジの全てが正常に検出されていないと判断すると(S910でNo)、CPU70は、S940に移行して、右エッジ及び左エッジの全てが正常に検出されているか否かを判断する。
具体的に、S940では、右エッジ又は左エッジの検出に失敗している場合、Noと判断する。また、右エッジ及び左エッジの検出に成功している場合でも、平行関係にあるはずの右エッジ近似直線と左エッジ近似直線とが平行関係にない場合には、右エッジ及び左エッジの全てが正常に検出されていないと判断する。そして、上記以外の場合には、S940でYesと判断する。
このような判断手法にてS940の処理を実行し、S940にて、右エッジ及び左エッジの全てが正常に検出されていると判断すると(S940でYes)、CPU70は、S950に移行して、原稿の左下角位置を、左エッジ近似直線と原稿台11aの下端縁(即ち、下フレーム内側)との交点であると推定して、その座標値を算出すると共に、原稿の右下角位置を、右エッジ近似直線に垂直な直線であって推定した左下角位置を通る直線と、右エッジ近似直線との交点であると推定して、その座標値を算出する(S960)。
尚、図14(a)は、S940でYesと判断したときの原稿左下角位置Ka及び原稿右下角位置Kbの推定方法を示した説明図である。S960で、原稿の左下角位置を、左エッジ近似直線と原稿台11aの下端縁(即ち、下フレーム内側)との交点であると推定するのは、原稿が左側に傾いている場合には、原稿の左下角が、原稿台11aの下端縁と下フレームの内側との境界にある段差に、突き当たっている可能性が高いためである。このような理由から、本実施例では、下エッジを正常検出することができなかったとき、原稿の左下角が、原稿台11aの下端縁と下フレームの内側との境界にある段差に、突き当たっていると仮定して、原稿の左下角位置を推定する。
また、このようにしてS960での処理を終えると、CPU70は、当該第一角位置推定処理を終了する。
一方、S940にて、右エッジ及び左エッジの全てが正常に検出されていないと判断すると(S940でNo)、CPU70は、S970に移行して、原稿右エッジデータが示すエッジ点群の内、原稿台11a上で最も右下寄りのエッジ点に対応する右エッジ近似直線上の点を、原稿の右下角位置であると推定し、その座標値を算出する。尚、S970では、原稿右エッジデータが示すエッジ点であってエッジ点から右エッジ近似直線へ伸ばした右エッジ近似直線に直交する直線が右エッジ近似直線と交わる交点が、右エッジ近似直線上において最も右側にあるエッジ点の当該交点を、「最も右下寄りのエッジ点に対応する右エッジ近似直線上の点」と取り扱えばよい。
また、S970での処理を終えると、CPU70は、原稿の左下角位置を、上記推定した右下角位置を通る直線であって右エッジ近似直線に垂直な直線と、原稿台11a端縁(フレーム内側)との交点であると推定して、その座標値を算出する。その後、当該第一角位置推定処理を終了する。
尚、図14(b)は、S940でNoと判断したときの原稿左下角位置Ka及び原稿右下角位置Kbの推定方法を示した説明図である。S970,S980で、原稿右エッジデータを用いて原稿の左下角位置及び右下角位置を推定するのは、原稿の突き当て位置が、フレーム13aの内側左下角に設定され、原稿台11aの端縁近傍では読取不可能な領域がある関係上、右エッジ、左エッジ及び下エッジの中では、右エッジを一番正しく検出することができ、原稿右エッジデータ、原稿左エッジデータ、原稿下エッジデータの中で一番信用できる確度の高いデータが、原稿右エッジデータであるためである。本実施例では、このような理由から、原稿右エッジデータを一番信用して、この原稿右エッジデータ及び右エッジ近似直線を拠所に、原稿サイズ及び原稿の傾き角θを推定する。
続いて、CPU70が、S485で実行する第二角位置推定処理について説明する。図15は、CPU70が実行する第二角位置推定処理を表すフローチャートである。第二角位置推定処理を開始すると、CPU70は、まず、S420及びS460において右エッジ及び下エッジの全てが正常に検出されたか否かを判断する(S1010)。
具体的に、S1010では、右エッジ又は下エッジの検出に失敗している場合、Noと判断する。また、右エッジ及び下エッジの全てについて検出に成功している場合でも、直交関係にあるはずの右エッジ近似直線と下エッジ近似直線が直交関係にない場合には、右エッジ及び下エッジの全てが正常に検出されていないと判断する。そして、上記以外の場合には、S1010でYesと判断する。
尚、第二角位置推定処理では、左エッジの検出結果を使用せずに、原稿の左下角位置及び右下角位置を推定するが、このような手法で原稿の角位置を推定する理由は、原稿が右側に傾いている場合には、図16(a)に示すように原稿右端がプレスキャン領域に十分な長さ納まっている可能性が高く、原稿右エッジデータの確度が非常に高い一方で、原稿左端についてはプレスキャン領域に十分な長さ納まっていない可能性が高く、原稿左エッジデータの確度が、原稿右エッジデータや原稿下エッジデータと比較して低いためである。
このような判断手法にてS1010の処理を実行し、S1010にて、右エッジ及び下エッジの全てが正常に検出されていると判断すると(S1010でYes)、CPU70は、原稿の左下角位置を、下エッジ近似直線と原稿台11aの左端縁(左フレーム内側)との交点であると推定して、その座標値を算出し(S1020)、更に、原稿の右下角位置を、右エッジ近似直線と下エッジ近似直線との交点であると推定して、その座標値を算出する(S1030)。その後、当該第二角位置推定処理を終了する。尚、図16(a)は、S1010でYesと判断したときの原稿左下角位置Ka及び原稿右下角位置Kbの推定方法を示した説明図である。
一方、S1010にて、右エッジ及び下エッジの全てが正常に検出されていないと判断すると(S1010でNo)、CPU70は、S1040に移行して、原稿の右下角位置を、右エッジ近似直線と原稿台11aの下端縁(下フレーム内側)との交点であると推定し、その座標値を算出すると共に、原稿の左下角位置を、上記推定した右下角位置を通る直線であって右エッジ近似直線に垂直な直線と原稿台11a端縁(フレーム内側)との交点であると推定し、その座標値を算出する(S1050)。その後、当該第二角位置推定処理を終了する。
尚、図16(b)は、S1010でNoと判断したときの原稿左下角位置Ka及び原稿右下角位置Kbの推定方法を示した説明図である。原稿が右側に傾いている場合には、原稿の右下角が、原稿台11aの下端縁と下フレームの内側との境界BDにある段差に、突き当たっている可能性が高いため、本実施例では、下エッジを正常検出することができなかったとき、原稿の右下角が、原稿台11aの下端縁と下フレームの内側との境界BDにある段差に、突き当たっていると仮定して、原稿の右下角位置を推定する。
また、このようにして第一又は第二角位置推定処理(S480,S485)を終了すると、CPU70は、S490に移行して、S480又はS485で推定した角位置の情報に基づき、原稿サイズを推定する。即ち、原稿台11aに載置されている原稿が、長方形状の定型用紙であると仮定の下で、上記推定した原稿の左下角位置から原稿の右下角位置までの長さを、原稿の短辺長さ(横幅)と推定し、この短辺長さの√2倍を、原稿の長辺長さ(縦幅)と推定する。
また、この処理を終えると、右エッジ近似直線を基準にして、原稿の傾き角θを推定する。即ち、Y軸に対して右エッジ近似直線がなす角度を、原稿の傾き角θと推定する(S493)。
その後、CPU70は、S497に移行し、上記推定した角位置、原稿サイズ、原稿の傾き角θの情報に基づき、原稿の載置領域を推定する。具体的には、上記推定した左下角位置、右下角位置、原稿の傾き角θ、及び、原稿サイズの情報から、原稿の左上角位置、原稿の右上角位置を導出することにより、原稿の外縁を推定し、この原稿の外縁により囲まれる領域を、原稿の載置領域であると推定する。そして、この処理を終えると、当該原稿推定処理を終了して、S330以降の処理を実行する。
即ち、推定した原稿サイズ及び原稿の傾き角θの情報に基づき、変倍率及び傾き補正量を設定すると共に(S340,S350)、推定した原稿載置領域の情報に基づき、原稿読取開始位置及び原稿読取終了位置を設定することで、原稿の載置領域に対応する読取領域を設定し(S360)、この読取領域内で、読取ユニットを搬送して、読取ユニットに読取領域に写る画像を読み取らせ、その読取結果としてRAM80に記録された画像データを、予め設定した変倍率及び傾き補正量に合わせて、拡大/縮小及び回転処理することにより印刷用の画像データを生成し(S380)、この画像データを、印刷対象データとして、当該印刷対象データについての印刷処理を実行することで(S390)、原稿のコピー画像を記録紙に印刷する。その後、第二複写処理及び複写制御処理を終えて、外部から入力されたコピー指令に対応する処理を完了する。
以上、本実施例の複合機1の構成について説明したが、この複合機1によれば、「自動変倍/傾き補正」コピー指令が入力された場合、読取可能領域R0の一部をプレスキャンして、その読取結果に基づき、原稿の状態(原稿サイズ・原稿の傾き・原稿の載置領域)を推定する。
従って、本実施例によれば、「自動変倍/傾き補正」コピー指令が入力された場合、「縁無し」コピーのように、読取可能領域R0全体をプレスキャンする手法よりも高速にプレスキャン動作を終了することができて、効率的に原稿の状態を推定することができる。
尚、本実施例においては、「縁無し」コピー指令が入力された場合、読取可能領域R0全体をプレスキャンして、その結果に基づき、原稿の状態を推定するようにしているが、このようにしているのは、コピー指令の目的から、処理の高速性よりも「縁無し」コピーを適切に実現するために、原稿の状態を可能な限り正確に推定するのが好ましいためである。
即ち、本実施例においては、ユーザの要求に応じて動作モードを切り替え、正確な状態推定が必要な場合には、全体プレスキャン処理を実行して原稿の状態推定を行い、そうでない場合には、先端部プレスキャン処理を実行して原稿の状態推定を行うことで、処理の正確性と迅速性の調和を図るようにした。従って、このディジタル複合機1によれば、ユーザの利便性を、従来よりも高めることができる。
また、本実施例では、原稿推定処理にて原稿の状態を推定する際、原稿台11aに載置された原稿Pが定型用紙であると仮定して、原稿台11aに載置された原稿の状態を推定するようにした。従って、定型用紙が原稿台11aに載置されている場合には、読取可能領域R0の一部をプレスキャンをする程度でも、正確に原稿サイズや原稿の傾き、原稿の載置領域を推定することができ、この推定結果に基づき、適切に読取領域や変倍率、傾き補正量を設定して、記録紙に、適切なコピー画像を印刷することができる。
特に、本実施例では、先端部プレスキャン処理により得られたプレスキャン画像データを、エッジ画像データに変換して、このエッジ画像データから、右エッジ、左エッジ及び下エッジに対応するエッジ点を抽出し、これらの近似直線から原稿の角位置を推定するようにした。
具体的に、本実施例では、右エッジ近似直線が傾いており原稿が正確に載置されていないと考えられるときであって、右エッジ近似直線、左エッジ近似直線、下エッジ近似直線の確度が高いと考えられるとき、右エッジ近似直線と下エッジ近似直線との交点を右下角位置と推定し、左エッジ近似直線と下エッジ近似直線との交点を左下角位置と推定するようにした。
従って、本実施例によれば、プレスキャン画像データに原稿の全体像が現れていない場合もさることながら、原稿が正確に載置されておらず、原稿の角が折れていたり、原稿の角が読取可能領域外にある場合等のように原稿の角がプレスキャン結果には現れていない場合にも、適切に原稿の角位置を推定して、原稿の状態(サイズ等)を推定することができる。
尚、本実施例では、原稿台11aの端部が読取可能領域外となっているため、フレーム13aの内側左下角に原稿Pの左下角が正確に突き当てられると、原稿の左エッジ及び下エッジを検出することができない。従って、本実施例では、原稿の傾きが微小量である場合には、右エッジ近似直線のみで、原稿のサイズ等を推定しているが、原稿の傾きがある程度の大きさある場合でも、左エッジや下エッジを正確に検出することができない場合がある。
一方、本実施例では、マークMKで原稿の突き当てを指示しているので、原稿が傾いているとしても、原稿の載置状態が、正しい原稿の載置状態から大きくずれていることは考えにくく、原稿が左側に傾いている場合には、原稿の左下角が原稿台11aとフレーム13aとの境界BDの段差に突き当たっている可能性が高く、原稿が右側に傾いている場合には、原稿の右下角が上記段差に突き当たっている可能性が高い。
このため、本実施例では、原稿が傾いているときであって、右エッジ、左エッジ及び下エッジを正確に検出することができなかったとき、右エッジの検出結果が一番正しいと取り扱うと共に、原稿が左側に傾いている場合には、原稿の左下角が原稿台11aとフレーム13aとの境界の段差に突き当たっているとして、原稿が右側に傾いている場合には、原稿の右下角が上記段差に突き当たっているとして、原稿の左下角位置及び右下角位置を推定するようにした。
従って、本実施例によれば、右エッジ、左エッジ及び下エッジを正確に検出することができない場合においても、概ね正しく原稿のサイズや傾き・原稿の載置領域を推定することができる。
尚、本発明の変換手段は、CPU70が実行するS315の処理により実現され、角推定手段は、原稿推定処理(S320)におけるS410〜S485の処理により実現されている。また、「特許請求の範囲」でいう原稿台の第一辺は、本実施例において原稿台11aの下辺(下端縁)に対応し、第二辺は、原稿台11aの左辺(左端縁)に対応し、第三辺は、原稿台11aの右辺(右端縁)に対応する。また、本発明の凸条は、本実施例において、原稿台11aの表面より突出するフレーム13aにより構成されている。
この他、原稿の第二辺に対応するエッジ点群の抽出に失敗し、原稿の第三辺に対応するエッジ点群の抽出に成功した場合における角推定手段の動作は、本実施例において、CPU70が実行するS970,S980の処理により実現され、原稿の第一辺に対応するエッジ点群の抽出に失敗し、原稿の第二辺及び第三辺に対応するエッジ点群の抽出に成功した場合における角推定手段の動作は、CPU70が実行するS950,S960の処理により実現されている。
また、本発明のプレスキャン手段は、CPU70が実行するS310の処理及び読取制御部20の処理により実現され、原稿推定手段は、S490の処理により実現されている。
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、コンタクトイメージセンサを読取ユニットとして備えるディジタル複合機1に、本発明を適用した例を説明したが、本発明は、コンタクトイメージセンサを読取ユニットとして備える画像読取装置に限定されるものではないことは言うまでもない。
ディジタル複合機1の構成を表す説明図である。 読取ガラス11の読取可能領域R0を示した説明図である。 CPU70が実行する複写制御処理を表すフローチャートである。 CPU70が実行する第一複写処理を表すフローチャート(a)及び第二複写処理を表すフローチャート(b)である。 全体プレスキャン処理の読取領域及び先端部プレスキャン処理の読取領域を表した説明図である。 CPU70が実行する原稿推定処理を表すフローチャートである。 CPU70が実行する右エッジ検出処理を表すフローチャートである。 エッジ画像データの構成を示した説明図である。 原稿右エッジデータの確定手法を説明した説明図である。 CPU70が実行する左エッジ検出処理を表すフローチャートである。 CPU70が実行する下エッジ検出処理を表すフローチャートである。 CPU70が実行する第一角位置推定処理を表すフローチャートである。 原稿左下角位置及び原稿右下角位置の推定方法を示した説明図である。 原稿左下角位置及び原稿右下角位置の推定方法を示した説明図である。 CPU70が実行する第二角位置推定処理を表すフローチャートである。 原稿左下角位置及び原稿右下角位置の推定方法を示した説明図である。
符号の説明
1…ディジタル複合機、10…画像読取部、11…読取ガラス、11a…原稿台、13…筐体、13a…フレーム、15…読取ユニット、16…搬送機構、17…モータ、20…読取制御部、30…印刷部、40…印刷制御部、50…表示操作部、60…通信部、70…CPU、80…RAM、90…フラッシュメモリ、MK…マーク、P…原稿、R0…読取可能領域

Claims (5)

  1. 読取対象の原稿が載置される透明な原稿台下において読取ユニットを搬送し、前記原稿台に写る画像を、前記読取ユニットに読み取らせることにより、前記原稿台に載置された原稿の読取画像を表す画像データを生成する画像読取装置であって、
    前記読取ユニットの読取結果である画像データを、エッジ画像を表すエッジ画像データに変換する変換手段と、
    前記原稿台に載置された原稿が四角形状であるとの仮定の下で、前記変換手段により変換されたエッジ画像データが示すエッジ点群の中から、前記原稿台に載置された原稿の各辺に対応するエッジ点群を抽出し、各辺に対応するエッジ点群を直線近似して得られる各辺の近似直線の情報から、前記原稿台に載置された原稿の各角の位置座標を推定する角推定手段と、
    を備え、
    前記原稿台は、四角形状にされ、一つの特定の角から延びる二辺が、原稿の辺をあわせるべき特定の辺として定められたものであり、
    前記原稿台の前記特定の辺に対応する外縁には、前記原稿台に載置した原稿を突き当て可能な凸条が設けられており、
    前記角推定手段は、前記原稿台に載置された原稿の各辺に対応するエッジ点群として、前記特定の辺に該当する前記原稿台の第一辺に沿って配置されるべき原稿の第一辺、及び、前記特定の辺に該当する前記原稿台の第二辺に沿って配置されるべき原稿の第二辺、及び、前記原稿の第二辺に平行な第三辺、の各辺に対応するエッジ点群を抽出し、前記原稿台に載置された原稿の各角の位置座標として、前記原稿台に載置された原稿の前記第一辺と前記第二辺とを結ぶ角の位置座標、及び、原稿の前記第一辺と前記第三辺とを結ぶ角の位置座標を推定するが、前記原稿の第二辺に対応するエッジ点群の抽出に失敗し、前記原稿の第三辺に対応するエッジ点群の抽出に成功した場合には、前記第三辺に対応するエッジ点群の情報から、前記原稿の第一辺と第三辺とを結ぶ角の位置座標を推定し、更に、前記原稿台に載置された前記原稿の第一辺と第二辺とを結ぶ角が、前記凸条に突き当てられているとの仮定の下で、前記推定した前記原稿の第一辺と第三辺とを結ぶ角の位置座標を通る直線であって、前記原稿の第三辺に対応するエッジ点群の近似直線に垂直な直線が、前記原稿台の前記特定の辺と交差する点の位置座標を、前記原稿の第一辺と第二辺とを結ぶ角の位置座標であると推定する
    構成にされていることを特徴とする画像読取装置。
  2. 前記角推定手段は、前記原稿の第一辺に対応するエッジ点群の抽出に失敗し、前記原稿の第二辺及び第三辺に対応するエッジ点群の抽出に成功した場合には、前記原稿台に載置された前記原稿の第一辺と第二辺とを結ぶ角が、前記凸条に突き当てられているとの仮定の下で、前記原稿の第二辺に対応するエッジ点群の近似直線と、前記原稿台の第一辺とが交差する点の位置座標を、前記原稿の第一辺と第二辺とを結ぶ角の位置座標であると推定し、更に、前記推定した前記原稿の第一辺と第二辺とを結ぶ角の位置座標を通る直線であって、前記原稿の第三辺に対応するエッジ点群の近似直線に垂直な直線が、前記原稿の第三辺の近似直線と交差する点の位置座標を、前記原稿の第一辺と第三辺とを結ぶ角の位置座標であると推定する構成にされていることを特徴とする請求項1記載の画像読取装置。
  3. 読取対象の原稿が載置される透明な原稿台下において読取ユニットを搬送し、前記原稿台に写る画像を、前記読取ユニットに読み取らせることにより、前記原稿台に載置された原稿の読取画像を表す画像データを生成する画像読取装置であって、
    前記読取ユニットの読取結果である画像データを、エッジ画像を表すエッジ画像データに変換する変換手段と、
    前記原稿台に載置された原稿が四角形状であるとの仮定の下で、前記変換手段により変換されたエッジ画像データが示すエッジ点群の中から、前記原稿台に載置された原稿の各辺に対応するエッジ点群を抽出し、各辺に対応するエッジ点群を直線近似して得られる各辺の近似直線の情報から、前記原稿台に載置された原稿の各角の位置座標を推定する角推定手段と、
    を備え、
    前記原稿台は、四角形状にされ、一つの特定の角から延びる二辺が、原稿の辺をあわせるべき特定の辺として定められたものであり、
    前記原稿台の前記特定の辺に対応する外縁には、前記原稿台に載置した原稿を突き当て可能な凸条が設けられており、
    前記角推定手段は、前記原稿台に載置された原稿の各辺に対応するエッジ点群として、前記特定の辺に該当する前記原稿台の第一辺に沿って配置されるべき原稿の第一辺、及び、前記特定の辺に該当する前記原稿台の第二辺に沿って配置されるべき原稿の第二辺、及び、前記原稿の第二辺に平行な第三辺、の各辺に対応するエッジ点群を抽出し、前記原稿台に載置された原稿の各角の位置座標として、前記原稿台に載置された原稿の前記第一辺と前記第二辺とを結ぶ角の位置座標、及び、原稿の前記第一辺と前記第三辺とを結ぶ角の位置座標を推定するが、前記原稿の第一辺に対応するエッジ点群の抽出に失敗し、前記原稿の第二辺及び第三辺に対応するエッジ点群の抽出に成功した場合には、前記原稿台に載置された前記原稿の第一辺と第二辺とを結ぶ角が、前記凸条に突き当てられているとの仮定の下で、前記原稿の第二辺に対応するエッジ点群の近似直線と、前記原稿台の第一辺とが交差する点の位置座標を、前記原稿の第一辺と第二辺とを結ぶ角の位置座標であると推定し、更に、前記推定した前記原稿の第一辺と第二辺とを結ぶ角の位置座標を通る直線であって、前記原稿の第三辺に対応するエッジ点群の近似直線に垂直な直線が、前記原稿の第三辺の近似直線と交差する点の位置座標を、前記原稿の第一辺と第三辺とを結ぶ角の位置座標であると推定する
    構成にされていることを特徴とする画像読取装置。
  4. 前記読取ユニットが読取可能な前記原稿台の領域である読取可能領域の内、前記原稿台の前記第一辺から前記原稿台内側に所定距離離れた位置までの領域に属する前記読取可能領域の一部領域において、前記読取ユニットを搬送し、前記一部領域において前記読取ユニットに読取動作を実行させるプレスキャン手段
    を備え、
    前記角推定手段は、前記プレスキャン手段の動作により得られた前記読取ユニットの読取結果である画像データを前記変換手段により変換してなるエッジ画像データを用いて、前記原稿台に載置された原稿の各角の位置座標を推定する構成にされていること
    を特徴とする請求項1〜請求項3のいずれかに記載の画像読取装置。
  5. 前記角推定手段により推定された二つの角の各位置座標間の長さから前記原稿台に載置された原稿の一辺の長さを推定すると共に、前記原稿台に載置された原稿が定型用紙であるとの仮定の下で、前記推定した辺の長さから、この辺に直交する原稿の辺の長さを推定する原稿推定手段
    を備えることを特徴とする請求項4記載の画像読取装置。
JP2007340774A 2007-12-28 2007-12-28 画像読取装置 Active JP4952576B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007340774A JP4952576B2 (ja) 2007-12-28 2007-12-28 画像読取装置
US12/343,110 US8174737B2 (en) 2007-12-28 2008-12-23 Image reading apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007340774A JP4952576B2 (ja) 2007-12-28 2007-12-28 画像読取装置

Publications (2)

Publication Number Publication Date
JP2009164809A JP2009164809A (ja) 2009-07-23
JP4952576B2 true JP4952576B2 (ja) 2012-06-13

Family

ID=40966918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007340774A Active JP4952576B2 (ja) 2007-12-28 2007-12-28 画像読取装置

Country Status (1)

Country Link
JP (1) JP4952576B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5915256B2 (ja) * 2012-02-28 2016-05-11 ブラザー工業株式会社 画像読取装置および原稿領域決定プログラム
JP5915257B2 (ja) * 2012-02-28 2016-05-11 ブラザー工業株式会社 画像読取装置および原稿領域決定プログラム
JP5903970B2 (ja) * 2012-03-23 2016-04-13 富士ゼロックス株式会社 画像読取装置及び画像読取プログラム
JP6021665B2 (ja) * 2013-01-30 2016-11-09 株式会社Pfu 画像処理装置、画像処理方法及びコンピュータプログラム
JP6848290B2 (ja) * 2016-09-20 2021-03-24 コニカミノルタ株式会社 画像形成装置およびプログラム
JP7062957B2 (ja) * 2018-01-09 2022-05-09 富士フイルムビジネスイノベーション株式会社 画像形成装置及び記録媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2502591B2 (ja) * 1987-05-13 1996-05-29 株式会社リコー 原稿位置検出装置
JPH10341332A (ja) * 1997-06-10 1998-12-22 Minolta Co Ltd 画像形成装置
JPH11177774A (ja) * 1997-12-15 1999-07-02 Minolta Co Ltd 原稿検出装置
JP2001268367A (ja) * 2000-03-22 2001-09-28 Minolta Co Ltd 画像読み取り装置
JP2003283766A (ja) * 2002-03-22 2003-10-03 Ricoh Co Ltd 画像入力装置
JP2004282517A (ja) * 2003-03-17 2004-10-07 Sharp Corp 原稿読取装置

Also Published As

Publication number Publication date
JP2009164809A (ja) 2009-07-23

Similar Documents

Publication Publication Date Title
JP5205963B2 (ja) 画像読取装置
US8174737B2 (en) Image reading apparatus
JP4952576B2 (ja) 画像読取装置
US8284463B2 (en) Image reading apparatus
JPH04313958A (ja) 画像処理装置
JP4941316B2 (ja) 画像読取装置
JP4687765B2 (ja) 画像読取装置
JP4888439B2 (ja) 画像読取装置および原稿サイズ決定プログラム
JP6885111B2 (ja) 画像処理装置および画像形成装置
JP5585552B2 (ja) 画像読取装置、及び、読取制御プログラム
JP4858437B2 (ja) 画像読取装置
JP4924416B2 (ja) 画像読取装置
JP4924417B2 (ja) 画像解析装置
WO2017056799A1 (ja) 画像読取装置及び画像形成装置
JP4952575B2 (ja) 画像読取装置
JP4998257B2 (ja) 画像読取装置
JP4941317B2 (ja) 画像読取装置
US20090310991A1 (en) Image forming apparatus, image forming system, computer readable medium storing program and image forming method
JP7211118B2 (ja) 読取システム及び読取方法
JP6035296B2 (ja) 画像読み取り装置
JP7482625B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP4507923B2 (ja) 翻訳装置
JP2023116052A (ja) 画像読取装置
JP2020162036A (ja) 読取システム、読取方法、及びコンピュータプログラム。
JP6327225B2 (ja) ファクシミリ装置及びファクシミリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120227

R150 Certificate of patent or registration of utility model

Ref document number: 4952576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3