[本実施形態の要旨]
本発明に係る画像読取装置の実施形態について説明する。本実施形態に係る画像読取装置は、いわゆるスキャナ装置である。当該スキャナ装置は、書籍等に含まれる読取り対象面を平板状の載置面においた状態で画像として取得し保存する機能を備える。以下の説明において、読み取りの対象面を含む原稿を「ブック原稿」と表記する。なお、当該スキャナ装置のような形式のものを、一般的に「ドキュメントスキャナ」と呼ぶ。
本実施形態に係るドキュメントスキャナは、読み取り対象であるブック原稿の入れ替えの検知を、ソフトウェア処理により実行することを要旨の一つとする。即ち、本実施形態に係るドキュメントスキャナであれば、ブック原稿の入れ替えを検知するための検知機構(センサなど)を設けることなくブック原稿の入れ替えを精度良く検知することができる。
以下、本実施形態に係るドキュメントスキャナは「スキャナ100」と表記して説明をする。スキャナ100は、所定の位置に載置されたブック原稿の画像を周期的に取得した「読み取り画像」を用いて、当該ブック原稿の位置を示す情報を周期的に算出し、基準となる位置との差分によってブック原稿の入れ替え判定を行う。ここで、基準となるブック原稿の位置は、スキャナ100のユーザによるブック原稿の画像取得操作により取得された読み取り画像から特定する。これによって、スキャナ100は、ブック原稿を画像として読み取る構成を活用して、ブック原稿が入れ替えられたかどうかを精度よく判定することができる。なお、「ブック原稿の位置を示す情報」とは、ブック原稿の画像から取得することができる情報のうち、物体の相対的な位置を特定することができる情報であって、例えば、ブック原稿の四隅の座標である。本実施形態では、ブック原稿の位置を示す情報を、読み取り画像に含まれるブック原稿の輪郭を特定し、この輪郭から四隅の座標を特定する。より詳しくは、本実施形態では、ブック画像の輪郭の特定において、読み取り画像に含まれるブック原稿の輪郭を構成する点群の座標(輪郭座標)を特定し、輪郭座標に含まれる一部の座標を特徴点座標として用いる。この特徴点座標が、四隅の座標に相当する。即ち、本実施形態に係るスキャナ100は、読み取り画像の取得の周期ごとのブック原稿の四隅の座標の位置の変化(差分)用いて原稿の入替判定を行う。なお、本実施形態はこれに限るものではなく、ブック原稿の入替判定において、輪郭の座標(四隅の座標)を用いるだけでなく、その他の座標を用いてもよい。例えば、読み取り画像に含まれるブック原稿の中心の座標の周期毎の位置の差分を用いてブック原稿の入替判定を行うようにしてもよい。
[画像読取装置の概要]
図1は、本実施形態に係るスキャナ100の概要を説明する全体構成図である。図1(a)に示すように、スキャナ100は、撮像素子110と、ブック原稿である原稿600を照らす照明120と、原稿600を載置する原稿台130と、撮像素子110と照明120を支持する支持部140と、原稿読取り指示や読取り条件の設定を行う操作キー160と、を備える。
撮像素子110は、光電変換素子からなる撮像面を備えるエリアセンサの一種であって、原稿台130に載置された原稿600の原稿面に表されている文字や図形等を画像として取得する光電変換手段である。撮像素子110は、原稿600を上方から撮影するために、支持部140の上方端部において保持されている。すなわち、撮像素子110の撮像面は、原稿600が載置される原稿台130に向けられている。撮像素子110により取得された画像は、二次元画素配列からなる。画素は、画素面と平行の第一方向と、画素面と平行であって第一方向と直交する第二方向に配列される。
図1(b)は、支持部140の上方端部に保持されている撮像素子110や照明120を、原稿台130側から見た図である。図1(b)に示すように、照明120は、撮像素子110の周囲に複数配置されている。例えば、撮像素子110の撮像面が向いている方向(原稿台130の方向)に光を照射するように照射方向が設定されている。照明120は、撮像素子110の周囲を囲むようにして配置されている。
図1(c)は、支持部140の下方端部が固定されている原稿台130を撮像素子110側から見た図である。図1(c)に示すように、原稿台130は、原稿600を水平状に載置する載置面を備える平面状の板部材であって、スキャナ100の土台を構成する。スキャナ100には、原稿台130に載置された原稿600を画像として読み取れる範囲であって、撮像素子110が撮像可能な範囲である原稿配置領域132が設定されている。原稿配置領域132が、いわゆる有効画像領域である。原稿配置領域132は、原稿台130におけるその他の領域と区別しやすくするために、例えば異なる色が付されている。
また、原稿台130には、AF参照パターン131が設けられている。AF参照パターン131は、原稿600を撮影するときに撮像素子110の撮像面にピントを自動的に合わせるAF制御に用いられるパターンである。AF参照パターン131が配置されている領域は、撮像素子110における有効画像領域に含まれるように、後述するレンズ113の画角が設定されている。スキャナ100が備える撮像光学系は、撮像素子である撮像素子110と撮像レンズであるレンズ113により構成される。
[画像読取装置の動作概要]
ここで、スキャナ100の動作の概要について説明する。まず、取得したい原稿面となるページを開いた状態で原稿台130に原稿600をセットする(載置する)。ユーザが操作キー160を操作して読み取り動作の開始を指示するスタートボタンを押下する。このユーザ操作に従って、照明120が点灯し、原稿スキャン動作が実行される。原稿スキャン動作により、原稿600の画像が取得される。当該操作に係る原稿スキャン動作が終了し、ユーザが他のページをスキャンしたい場合、次のページにめくって、再度スタートボタンを押下する。上記の操作を繰り返すことで、一つの原稿600を画像として連続的に読み取ることができる。
また、操作キー160には、読み取りサイズを設定する設定キーなども配置されている。設定キーにより読み取りサイズを選択した後にスタートキーを押下すれば、スキャナ100は設定されたサイズの画像を読み取るように動作する。
撮像素子110が原稿600を撮像するときに照明120を点灯するのは、室内照明の写り込みや、ユーザ自身の影の写り込み等の外来影響を排除するためである。したがって、照明120は、ユーザが操作キー160を操作してスキャン指示を行ったときに、その指示に合わせて点灯し、スキャン動作の終了時に自動的に消灯する。
≪撮像素子110と原稿600との関係≫
ここで、図14を用いて、撮像素子110と原稿600および原稿台130との関係について説明する。図14に示すように、スキャナ100は原稿台130および原稿600の像を、レンズ113を用いて撮像素子110に結像させて合焦状態を形成し、原稿600の画像を読み取るように構成されている。ここで、撮像素子110の撮像面における原稿600の画像の合焦状態の良し悪しは、撮像素子110とレンズ113と原稿台130の距離と、レンズ113の焦点距離で決まる。レンズ113は、AF制御に基づいてレンズ113を移動させるレンズ駆動手段によって、矢印Aに示す方向(レンズ113の光軸方向)に沿って移動可能な状態に保持されている。したがって、レンズ駆動手段によってレンズ113の光軸方向におけるレンズ位置を調整するようにAF制御を行うことができる。
[画像読取装置を含む画像形成装置の全体構成]
次に、スキャナ100を備える画像形成装置の実施形態について説明する。図13は、本実施形態に係る画像読取装置であるMFP(Multi−Function Peripheral)500の構成例を示す模式的な断面図である。図1において、MFP500は、給紙機構400と、本体300と、本発明に係る画像読取装置の一実施形態であるスキャナ100と、操作パネル200と、を備える。
本体300の内部には、タンデム方式の作像部301と、給紙機構400から搬送路302を介して作像部301に記録紙を供給するレジストローラ303と、光書き込み装置304と、定着・搬送部305と、両面トレイ306と、を備えている。
作像部301には、Y(イエロー)、M(マゼンダ)、C(シアン)、K(黒)の各色に対応する4本の感光体ドラム307が並設されている。感光体ドラム307の周囲には、帯電器・現像器308と、転写器、クリーナ、および除電器を含む作像要素が配置されている。また、転写器と感光体ドラム307との間には両者のニップに挟持された状態で駆動ローラと従動ローラとの間に張架された中間転写ベルト309が配置されている。
このように構成されたタンデム方式のMFP500は、YMCKの各色に対応する感光体ドラム307に光書き込みを行い、現像器308でトナー毎に現像し、中間転写ベルト309によって、例えばY、M、C、Kの順に1次転写をする。その後、1次転写により4色が重畳されたフルカラーの画像を記録紙に2次転写する。その後、2次転写を定着して排紙することにより、フルカラーの画像を記録紙上に形成することができる。
操作パネル200は、MFP500の動作を指示するユーザインターフェース(I/F:Interface)である。操作パネル200が備えるユーザI/Fをユーザが操作することにより、MFP500が備えるスキャナ100がスキャン動作を実行する。
MFP500は、スキャナ100が読み取った画像を紙などの記録媒体に転写して出力することができる。また、MFP500は、スキャナ100が読み取った画像を画像データとして保存する機能も備える。
[スキャナ100のハードウェア構成]
上記の説明を踏まえて、本発明に係るスキャナ100の構成と特徴について説明する。次に、スキャナ100のハードウェア構成について説明する。図2に示すように、スキャナ100は、撮像素子110、モータ112、レンズ113、照明120、CPU(Central Processing Unit)150、操作キー160、外部I/F170、メモリ180、を備える。
撮像素子110は、すでに説明をしたとおり、エリアセンサである。モータ112は、レンズ113を駆動して焦点距離を調整するための駆動手段である。レンズ113は、原稿600を画像として読み取るときに、当該原稿600の像を撮像素子110の撮像面に結像させる。
CPU150は、操作キー160からの入力を受け付けて、スキャナ100の動作全体の制御を後述する制御プログラムに基づいて実行する演算手段である。外部I/F170は、例えば、記憶装置190とスキャナ100を接続し、スキャナ100が読み取った画像データを画像ファイルとして記憶するための制御を実行する。したがって、外部I/F170を介して、スキャナ100には記憶装置190が接続される。
メモリ180は、撮像素子110を介して取得した読み取り画像を画像データや画像ファイルとして記憶し、また、スキャナ100の動作を制御する制御プログラムや制御プログラムの実行に用いられる設定情報を記憶する記憶手段である。また、メモリ180は、制御プログラムを実行するためのワークエリアとしても機能する。
レンズ113は、モータ112の駆動によってレンズ位置が移動するように構成されている。モータ112の駆動制御は、CPU150が行う。このモータ112とCPU150によってレンズ駆動手段が構成される。レンズ113がレンズ駆動手段によりレンズ位置を移動させる所定のタイミングにおいて、撮像素子110が原稿600の画像を取得する。
≪原稿600の入れ替え判定原理≫
次にスキャナ100における原稿600の入れ替えの判定方法について説明する。図15は、原稿台130に載置された原稿600の画像を取得する状態を、スキャナ100の上方から俯瞰した様子を示す図である。図15(a)に示すように、原稿台130の上に置かれた原稿600を撮像素子110が撮像して読み取り画像を取得し、その読み取り画像における原稿600の輪郭を抽出する。図15(a)では、抽出された輪郭を形成する四隅のそれぞれに、A、B、C、Dという符号を付している。読み取り画像に含まれる原稿600の輪郭部分を抽出する手段として、周知のライブラリプログラムであるOpenCV(Open Source Computer Vision Library)等を用いることができる。
図15(b)は、原稿600を原稿台130の外側へと移動させたときの様子を示している。図15(b)では、移動後の四隅のそれぞれに、a、b、c、dという符号を付している。まず、ユーザによる操作キー160の操作に従って取得された画像から抽出された移動前四隅座標と、予め定められた周期に従って自動的に取得された画像から抽出された移動後四隅座標であるのそれぞれを特定する。この「移動前四隅座標(A、B、C、D)」と「移動後四隅座標(a、b、c、d)」の差分を算出する。即ち、「A−a」「B−b」、「C−c」、「D−d」をそれぞれ算出する。算出された差分が一定の値よりも大きければ、原稿600が原稿台130から外されたと判定し、原稿600が入れ替えられる状態であると判定できる。したがって、原稿600の輪郭を構成する部分の座標の差分に基づいて原稿600の入れ替えの判定をする。また、移動前四隅座標または移動後四隅座標が取得できず、これらの差分を算出できないときも、原稿600が入れ替えられたと判定することができる。
[画像読取装置の機能構成]
次に、スキャナ100の機能構成について図3を用いて説明する。図3に示すように、スキャナ100は、画像読取制御部151、画像読取部152、前処理部153、輪郭抽出部154、中心座標算出部155、画像領域分割部156、特徴点座標算出部157、輪郭抽出判定部158、特徴点座標差分算出部159、差分閾値保持部1591,原稿入替判定部161、画像記憶部1521、色閾値設定部1531、色抽出部1532、色域決定部1533を備える。
画像読取制御部151は、操作キー160からの操作を受け付けて画像読取部152に対して原稿台130の上面である原稿面を画像として取得する画像読取動作の実行を指示する。また、画像読取制御部151は、タイマー制御による所定の周期に従って画像読取部152における画像読取タイミングを制御する。画像読取部152は、画像読取タイミングに従って原稿面の画像を取得する。画像読取タイミングに従った画像の取得動作は、自動的にかつ周期的に実行されるキャプチャ動作である。画像読取制御部151におけるキャプチャ動作の指示は、例えば33.3ms間隔で繰り返し実行される。この場合、1秒間に30回のキャプチャ動作が実行される。
画像読取部152は、画像読取制御部151の制御に応じて、モータ112を動作させてレンズ113を合焦位置に移動し、撮像素子110を介して読み取り画像を取得する。操作キー160の操作に従って取得された画像は所定の画像処理が施されて、画像記憶部1521に記憶されて保存される。また、操作キー160の操作に従って取得された画像と、キャプチャ動作に従って取得された画像は、それぞれ画像記憶部1521において一時的に記憶される。
画像記憶部1521は、メモリ180に設けられた記憶領域であって、画像読取部において取得される画像を適宜記憶する。なお、画像記憶部1521は、メモリ180内の記憶領域に限ることはなく、スキャナ100に接続した外部記憶装置に設けられた記憶領域でもよい。
前処理部153は、画像読取部152が取得した読み取り画像を読み出して、当該読み取り画像に対して、原稿600の輪郭を抽出する処理を実行する前段の画像処理を実行する。前処理部153における画像処理は、読み取り画像に含まれる原稿600とそれ以外の部分を区別した画像を生成するための処理であって、例えば、二値化処理である。
輪郭抽出部154は、前処理部153において処理された読み取り画像に対して輪郭抽出処理を実行する。輪郭抽出部154は、たとえば、周知のライブラリプログラムを用いた輪郭処理を実行する。これによって、原稿600を含む読み取り画像の中から、原稿600の輪郭部分を構成する点を特定した輪郭画像が取得される。
中心座標算出部155は、輪郭抽出部154において取得された輪郭画像における点の座標に基づいて、原稿600の中心座標を算出する。
画像領域分割部156は、中心座標算出部155において算出された中心座標に基づいて、読み取り画像に含まれる原稿600の画像の領域を四つの領域に分割する。
特徴点座標算出部157は、分割された四つの領域のそれぞれに存在する点群(原稿600の輪郭を形成する点群)のうち、中心座標算出部155が予め算出した中心座標から最も遠い点の座標を算出する。この最も遠い点が、本実施形態における「特徴点」である。特徴点座標算出部157が算出する特徴点の座標のうち、キャプチャ動作により取得された読み取り画像から算出されたものを「判定特徴点座標」とする。また、ユーザ操作に従って取得された読み取り画像から算出されたものを「基準特徴点座標」とする。なお、算出された特徴点座標は、スキャナ100が備えるメモリ180の記憶領域、スキャナ100が備えるその他の記憶手段または、スキャナ100に接続される外部記憶手段等、所定の記憶領域のいずれかまたは複数において、後述する処理に使用可能な状態で保持される。なお、いずれかの記憶手段において特徴点座標を記憶する場合、「判定特徴点座標」と「基準特徴点座標」のそれぞれを区別して識別可能な状態で保持し、それぞれを特定して読み出せる状態で記憶する。
輪郭抽出判定部158は、原稿600の輪郭を構成する点群の中から、特徴点として必要な座標を全て算出できたか否かを判定する処理を実行する。
特徴点座標差分算出部159は、一時的に記憶されている基準特徴点座標と判定特徴点座標の差分を、キャプチャ周期毎に算出する処理を実行する。即ち、特徴点座標差分算出部159は、特徴点座標算出部157において算出された特徴点(基準特徴点と判定特徴点)の座標の差分を算出する処理を実行する。
差分閾値保持部1591は、特徴点座標差分算出部159において算出された特徴点の座標の差分を比較する第一閾値および第二閾値を保持する。第一閾値は、二次元の読み取り画像における縦方向を第一方向とした場合における第一方向の差分との比較に用いる閾値である。また、第二閾値は、第一方向と直交する横方向を第二方向とした場合における第二方向の差分との比較に用いる閾値である。言い換えると、原稿600の読み取り画像を構成する二次元画素配列における縦方向を第一方向とし、この第一方向に直交する方向である、原稿600の読み取り画像を構成する二次元画素配列の横方向を第二方向とする。特徴点座標算出部157において算出される座標の差分は、第一方向に係る第一差分と第二方向に係る第二差分を含む。
原稿入替判定部161は、特徴点座標差分算出部159において算出された特徴点座標の差分の大きさが、差分閾値保持部1591において保持される第一閾値および第二閾値よりも大きいか否かを判定することで、原稿600の入替を判定する処理を実行する。即ち、差分に含まれる第一差分について第一閾値を用い、合わせて、差分に含まれる第二差分について第二閾値を用いることで、原稿の入れ替えを判定する。
色閾値設定部1531は、前処理部153において用いられる色抽出処理用の閾値を保持するする。
色域決定部1533は、前処理部153において、読み取り画像に含まれる色域のうち、輪郭の抽出から除外する色域を決定する色域決定処理を実行する。
色抽出部1532は、色閾値設定部1531において設定されている色抽出用の閾値を用いた色抽出処理を実行する。
[本発明に係る画像読取方法の第一実施形態]
次に、本実施形態に係るスキャナ100において実行される画像読取プログラムと、当該プログラムを用いで行われる画像読取方法についてフローチャートを用いて説明する。図4は、画像読取方法の第一実施形態に係るフローチャートである。なお、以下の説明は、本発明に係る画像読取プログラムの処理ステップでもある。各処理ステップには、S401、S402・・・のように符号を付している。図4において示す画像処理方法は、スキャナ100が備えるCPU150において実行される画像読取プログラムによって実現する機能を用いて行うものである。当該画像処理方法は、CPU150等を備えるコンピュータにおいて実行可能なものである。
図4は、第一実施形態に係る処理の流れを示すフローチャートである。スキャナ100の動作が開始されると、画像読取制御部151に画像読取動作の制御が実行される(S401)。具体的には、S401においてキャプチャ動作の周期を待つ処理が実行される。このキャプチャ動作の周期を待つ間に、ユーザによる操作キー160の操作が検知されれば(S402/YES)、基準画像読取り処理が実行される(S408)。キャプチャ動作の周期を待つ間に操作キー160による操作が検知されなければ(S402/NO)、後述する判定画像読取り処理(S403)が実行される。S403は、キャプチャ動作であるから、操作キー160による操作が検知されなければ、所定の周期に従ってS403からS407の処理が繰り返し実行される。
S408において、画像読取制御部151が画像読取部152に対して画像読取り動作の実行を指示する。画像読取部152は、モータ112を動作させてレンズ113を合焦位置に移動させ、撮像素子110に対し、原稿台130に置かれている原稿面を撮像するように制御する。これによって取得された画像は、所定の画像処理が施されて画像記憶部1521に記憶される。また、S408において取得された画像は、基準画像として一時的に保持される。
続いて、S408において取得された基準画像に対する特徴点座標取得処理が実行される(S409)。ここで、S409において実行される特徴点座標取得処理の詳細について、図5のフローチャートを用いて説明する。なお、S409の処理に用いられる画像は、画角の調整や、原稿600のふくらみによる歪みを補正した画像であってもよい。
図5に示すように、まず、前処理部153において、読み取り画像に対する二値化処理が実行される(S501)。S501において、二値化に用いられる閾値は、色閾値設定部1531に予め設定されている値を用いる。図16(a)が読み取り画像の例である。図16(a)に示す読み取り画像である原稿画像201に対して、S501の処理が実行されると、原稿600とそれ以外の区別が明確な画像が生成される。
次に、輪郭抽出部154が、二値化された読み取り画像に対して輪郭抽出処理を実行する(S502)。S502における輪郭抽出処理は、周知のライブラリプログラムを用いればよい。S502における処理を実行すると、図16(b)に示す画像が得られる。
S502において、輪郭抽出部154は、読み取り画像の輪郭を構成する点群の各座標の中から、第一方向の座標であるX座標の最大値および最小値、第二方向の座標であるY座標の最大値および最小値を算出する。以下の説明において、X座標の最大値を「Xmax」とする。X座標の最小値を「Xmin」とする。Y座標の最大値を「Ymax」とする。Y座標の最小値を「Ymin」とする。なお、X座標とY座標を規定するX軸とY軸は、原稿台130の幅方向をX軸とし、原稿台130の奥行方向をY軸とする。
続いて、中心座標算出部155が、読み取り画像における中心座標を算出する。具体的には、(Xmax−Xmin)/2をX座標における中心座標(X中心座標)とする。また、(Ymax−Ymin)/2をY座標における中心座標(Y中心座標)とする。したがって、((Xmax−Xmin)/2,(Ymax−Ymin)/2)が読み取り画像の中心座標となる(S503)。
続いて、画像領域分割部156が、中心座標を通過するX軸とY軸に基づいて、それぞれ二分割し、読み取り画像を四分割する(S504)。中心座標を通過するX軸によって分割された領域における、奥側の領域をY座標が正の値になる領域とし、手前側の領域をY座標が負の値になる領域とする。また、中心座標を通過するY軸によって分割された領域における、右側の領域をX座標が正の値になる領域とし、左方の領域をX座標が負の値になる領域とする。
図15(a)を参照しながら説明すれば、原稿600の中心座標から右上の領域は、X座標とY座標が正の値になる第一領域である。また、原稿600の中心座標から左上の領域は、X座標が負の値になり、Y座標が正の値になる第二領域である。同様に、原稿600の中心座標から左下の領域は、X座標が負の値になり、Y座標も負の値になる第三領域である。原稿600の中心座標から右下の領域は、X座標が正の値になり、Y座標が負の値になる第四領域である。
続いて、特徴点座標算出部157が、上記の各領域に含まれる点の中で上記の中心座標から最も直線距離が遠い点に係る座標をそれぞれ算出する(S505)。S505において得られる画像の例を図16(c)に示す。以下、当該座標を特徴点座標とし、ユーザの操作に従って実行された画像読取動作により取得された読み取り画像に基づく特徴点座標を「基準特徴点座標」とする。即ち、特徴点座標は、各領域に一つずつ存在する。本実施形態に係る特徴点座標は、読み取り画像の輪郭を構成する四隅の座標に相当する。以下、S409において取得される基準特徴点座標のうち、第一領域の特徴点座標を「P11」とする。第二領域の特徴点座標を「P12」とする。第三領域の特徴点座標を「P13」とする。第四領域の特徴点座標を「P14」とする。
S505において算出される「P11、P12、P13、P14」それぞれに係る基準特徴点の座標データである基準特徴点データは、一時的に保持されて次に処理に用いられる。以上のように、読み取り画像に対する基準特徴点の座標を算出したことで特徴点座標取得処理(S409)を終了する。
図4に戻る。キャプチャ動作の周期(30fps)が到来するまでに、操作キー160による操作が検知されなければ(S402/NO)、画像読取部152が原稿台130に置かれている原稿600の画像を自動的に取得するキャプチャ動作を実行し、判定画像読取り処理が実行される(S403)。S403の処理において取得される読み取り画像は、S408の処理において取得される読み取り画像とは異なり、原稿600の輪郭を判別できる程度の画質であればよい。すなわち、S403の処理において取得される読み取り画像の解像度は、S408の処理において取得される読み取り画像の解像度よりも低くてもよい。キャプチャ動作に係る画像の解像度を低く設定することでキャプチャ動作の高速化を図ることができる。なお、S403において取得された画像は、原稿600の入れ替えを判定するために用いられる画像であるから、以下において「判定画像」と称する。判定画像に対して、S408と同様の特徴点座標取得処理が実行される(S404)。
S404において実行される特徴点座標取得処理の詳細は、すでに図5のフローチャートを用いて説明したとおりである。したがって、S404の処理に用いられる画像は、画角の調整や、原稿600のふくらみによる歪みを補正した画像であってもよい。
なお、S404に係る特徴点座標取得処理において取得される判定画像に係る特徴点は、「判定特徴点」として、S408における基準特徴点とは区別する。したがって、判定特徴点の座標は、基準特徴点の座標(P11,P12,P13,P14)とは区別されて一時的に保持される。ここで、判定画像の特徴点の座標(判定特徴点座標)は、第一領域の判定特徴点座標を「Q11」、第二領域の判定特徴点座標を「Q12」、第三領域の判定特徴点座標を「Q13」、第四領域の特徴点座標を判定「Q14」とする。すなわち、基準特徴点座標データに係る基準特徴点座標「P11、P12、P13、P14」と、周期ごとのキャプチャ動作によって取得された画像から算出された判定特徴点座標データに係る判定特徴点座標「Q11、Q12、Q13、Q14」は区別されて保持される。
続いて、S404において判定特徴点座標の算出が正常に完了したか否かを判定する(S405)。ここで、S404において、判定特徴点座標が一つでも算出できなければ(S405/YES)、すでに原稿600は原稿台130から外された位置に移動されている。したがって、原稿600は入替されたものと判定し、画像記憶部1521に記憶されている読み取り画像を1つの画像ファイルとして、まとめて記憶装置190に記憶する(S410)。なお、特徴点座標を算出できなかった回数をカウントしておき、当該回数が一定値を超えた場合に原稿600は入替されたものと判定してもよい。
判定特徴点座標の算出が正常に完了していれば(S405/NO)、すでに算出され区別されて保持されている基準特徴点座標データと判定特徴点座標データの差分を算出する特徴点差分算出処理が実行される(S406)。
S406をより詳細に説明する。基準特徴点座標データと判定特徴点座標データのそれぞれを構成する座標データにおけるX座標分の差分を第一差分とする。また、同じくY座標分の差分を第二差分とする。したがって、すでに説明したP11とQ11のX座標部分の差分を「X11diff」、P12とQ12のX座標部分の差分を「X12diff」、P13とQ13のX座標部分の差分を「X13diff」、P14とQ14のX座標部分の差分を「X14diff」とする。Y座標部分の差分も同様に、P11とQ11のY座標部分の差分を「Y11diff」、P12とQ12のY座標部分の差分を「Y12diff」、P13とQ13のY座標部分の差分を「Y13diff」、P14とQ14のY座標部分の差分を「Y14diff」とする。S406では、(X11diff、Y11diff)、(X12diff、Y12diff)、(X13diff、Y13diff)、(X14diff、Y14diff)、をそれぞれ算出する処理を実行する。
続いて、S406において算出された各座標の差分が所定の閾値以上である否かにより原稿600の入替が生じたか否かを判定する原稿入替判定処理(S407)が実行される。ここでS407の処理の詳細について、図6を用いて説明する。まず、第一差分であるX座標に係る差分(X差分:Xdiff)の絶対値が第一閾値以上であるか否かを判定する処理を実行する(S601)。ここで、第一閾値は、差分閾値保持部1591に保持されている設定値であって、例えば、原稿台130の幅方向の寸法の1/2の値を第一閾値として保持する。S601において、X差分の絶対値のうち、一つでも第一閾値以上の値があれば(S601/YES)、すでに原稿600は原稿台130から外されて入替されたものと判定し、画像記憶部1521に記憶されている読み取り画像を1つの画像ファイルとして、記憶装置190に記憶する(S603)。
S601において、X差分の絶対値のうち、第一閾値以上の値が一つもなければ(S601/NO)、原稿入替判定部161が、S406において算出された各座標の差分のうち、第二差分であるY座標に係る差分(Y差分:Ydiff)の絶対値が第二閾値以上であるか否かを判定する処理を実行する(S602)。ここで、第二閾値は、差分閾値保持部1591に設定されている設定値であって、例えば、原稿台130の奥行き方向の寸法の1/2の値である。S602において、Y差分の絶対値のうち、一つでも第二閾値以上の値があれば(S602/YES)、すでに原稿600は原稿台130から外されて入替されたものと判定し、画像記憶部1521に記憶されている読み取り画像を1つの画像ファイルとして、記憶装置190に記憶する(S603)。
S602において、Y差分の絶対値のうち、第二閾値以上の値が一つもなければ(S602/NO)、原稿入替判定処理(S407)を終了し、処理をS401に移行する。
以上説明した実施形態では、原稿600の入れ替えを判定するための閾値として、原稿台130の幅寸法と奥行き寸法に基づく値を用いる。原稿台130の幅と奥行きの半分に相当する長さに相当する値を閾値として設定しておき、基準特徴点の座標と判定特徴点の座標との差分の絶対値を当該閾値と比較している。この結果、差分の絶対値が閾値よりも大きければ、原稿600が入れ替えられたと判定することできる。したがって、原稿600が移動したとしても、閾値を超えない程度の移動であれば、原稿600は同一のものとしてキャプチャ動作を継続する。
なお、本実施形態に係る第一閾値と第二閾値は、原稿台130の寸法の半分に相当する値を用いるが、この場合、原稿台130の大きさや対応する原稿サイズなどによって第一
閾値と第二閾値は異なる値になるので、原稿台130の大きさによっては、原稿600の入れ替えの判定に用いる値として最適な値が異なる場合がある。そこで、例えば複数のユーザによるユーザビリティ評価などを行って、任意の閾値を決定すればよい。
本実施形態に係るスキャナ100は、原稿600の入れ替え動作として、図20から図15に例示する全ての動作パターンに対応する。図20は、ユーザ操作に従って原稿600の画像を取得する状態を例示している。この状態で取得された読み取り画像に基づいて、基準特徴点座標(P11、P12、P13、P14)が取得される。
図21は、原稿600を原稿台130に対して平行移動させた場合を例示している。図21(a)に示すように、原稿600を原稿台130の長手方向に移動させると、判定特徴点座標(Q11、Q12、Q13、Q14)も長手方向に移動し、一部は原稿台130と重なる位置になる。また、図21(b)に示すように、原稿600を原稿台130の短手方向に移動させると、判定特徴点座標(Q11、Q12、Q13、Q14)も短手方向に移動し、図21(c)に示すように斜め方向に移動させると判定特徴点座標も斜め方向に移動する。いずれの方向に原稿600を移動させても、そのときの判定特徴点座標(Q11、Q12、Q13、Q14)と基準特徴点座標(P11、P12、P13、P14)の差分の絶対値が閾値を超えれば、原稿600を入れ替える位置に移動させたものと判定できる。
図22、図23、図24は、原稿600を原稿台130に対して回転させて移動させた場合を例示している。図22、図23、図24に例示したような原稿600の移動パターンにおいても、それぞれの判定特徴点座標と基準特徴点座標の差分の絶対値が閾値を超えれば、原稿600を入れ替える位置に移動させたものと判定できる。
図25(a)は、原稿600を原稿台130に対して持ち上げた場合を例示している。図25(b)は、原稿600を原稿台130の上で閉じた場合を例示している。図21から図25において例示したいずれの場合であっても、それぞれの判定特徴点座標と基準特徴点座標の差分の絶対値が閾値を超えたときに、原稿600は入れ替えされたと判定できる。これによって、原稿600に係る読み取り画像を1つの画像ファイルとして記憶させればよい。
以上説明した本実施形態に係るスキャナ100によれば、コストやサイズの制約を増やすことなく、原稿600を様々な移動パターンによって入れ替えを行った場合であっても、それを精度良く検知することができる。なお、本実施形態では、スキャナ100の例としてドキュメントスキャナを用いたが、透過性の原稿台130に原稿を下向きに置いて下から読み取る一般的なフラットヘッドスキャナにも適用することもできる。即ち、本発明に係る画像読取装置はフラットヘッドスキャナにも適用できる。
本実施形態に係るスキャナ100における原稿600の入れ替え検知方法は、他の方法に比べて多くの利点を有する。ここで他の方法とは例えば、原稿台130にあらかじめマークを印刷しておき、マークが見えたら原稿600の入れ替えと判断する方法が考えられる。しかしこの方法では、原稿600が原稿台130から完全に除かれる前に次の原稿600が入れられた場合、マークが検知されず入れ替えを判断できない可能性がある。また薄い原稿600ではマークが透けてしまい、読み取り画像に写り込んでしまい、入れ替え検知の精度が低くなる。
他にも読み取り画像から原稿600の面積を計算して、原稿600の面積が一定以下になるか0になった場合に、原稿600が入れ替えられたと判断する方法も考えられる。しかしこの場合も原稿600が完全に抜かれる前に次の原稿600が入れられると、入れ替えを判断できなくなる。また、原稿600を閉じてしまった場合には面積が少なくなるので、入れ替えを誤検知してしまう可能性がある。
以上のとおり、本実施形態に係るスキャナ100における原稿入れ替え検知方法は、他の方法に比べて優れた利点を有している。即ち、ユーザが原稿600の読み取りを行った際に取得した読み取り画像から、原稿600の位置の基準となる座標を取得し、当該基準となる座標と、その後周期的に取得される原稿600の位置を示す座標との差分に基づいて原稿600の入れ替えを判定する。したがって、原稿600が原稿台130から完全に取り除かれない場合でも確実に精度良く、原稿600の入れ替えの判定を行うことができる。
[本発明に係る画像読取方法の第二実施形態]
次に、スキャナ100を用いた画像読取方法の第二実施形態について、図7のフローチャートを用いて説明する。なお、図7に示す各処理のうち、図4を用いて説明した第一実施形態との大きな差異点は、閾値設定処理(S710)である。以下、差異点について詳細に説明することとし、その他の処理の説明は、必要な部分のみとする。
スキャナ100の動作が開始されて、キャプチャ動作が開始され、キャプチャ動作が周期的に実行され(S701)、操作キー160からの原稿読取り操作が検知された場合(S702/YES)、基準画像読み取り処理が実行される(S708)。S708において取得された読み取り画像は、画像記憶部1521に記憶され、特徴点座標取得処理が実行される(S709)。
特徴点座標取得処理(S709)の詳細は、既に説明した図5に係るフローチャートを用いて説明したものと同様である。したがって、特徴点座標取得処理(S709)では、読み取り画像に含まれる原稿600の四隅座標である基準特徴点座標が取得される。
S709に続いて、閾値設定処理が実行される(S710)。閾値設定処理の詳細について図8を用いて説明する。まず、原稿600の基準特徴点座標に基づいて、読み取り画像におけるX軸方向のサイズであるXサイズを算出する(S801)。続いて、読み取り画像のXサイズから第一閾値を算出して、差分閾値保持部1591に保持する(S802)。例えば、Xサイズの1/2の値を第一閾値とする。すでに、第一閾値が保持されている場合は、新たに算出された第一閾値を用いて更新する。
続いて、原稿600の基準特徴点座標に基づいて、読み取り画像におけるY軸方向のサイズであるYサイズを算出する(S803)。その後、読み取り画像のYサイズから第二閾値を算出し、差分閾値保持部1591に保持する(S804)。例えば、Yサイズの1/2の値を第二閾値とする。すでに、第二閾値が保持されている場合は、新たに算出された第二閾値を用いて更新する。
図7に戻る。閾値設定処理(S710)が終了すると、処理はS701に戻る。その後、読取り操作が検知される都度(S702/YES)、閾値設定処理が実行されて第一閾値と第二閾値が更新される(S710)。
操作キー160の操作が検知されなければ(S702/NO)、画像読取部152が原稿台130に置かれている原稿600の画像を取得するキャプチャ動作をし(S703)、判定特徴点の座標を取得する特徴点座標取得処理が実行される(S704)。
S704における特徴点座標取得処理の詳細も、すでに図5のフローチャートを用いて説明したとおりである。S704において判定特徴点座標の算出が正常に完了していれば(S705/NO)、特徴点座標差分算出処理が実行され(S706)、原稿入替判定処理が実行される(S707)。S707の詳細な処理は、図6を用いてすでに説明をしたものと同様である。ここで用いられる第一閾値および第二閾値は、閾値設定処理(S710)において差分閾値保持部1591に保持された最新の第一閾値および第二閾値である。
したがって、S707においてX差分の絶対値が第一閾値以上であるか否かの判定を実行するときは、読み取り画像のX方向のサイズの半分以上であるか否かの判定になる。同様に、S707においてY差分の絶対値が第二閾値以上であるか否かの判定を実行するときは、読み取り画像のY方向のサイズの半分以上であるか否かの判定になる。
以上のとおり、第二実施形態に係るスキャナ100による画像読取方法は、ユーザ操作に従って取得された原稿600の読み取り画像の画像サイズに基づいて原稿入替判定部161が用いる第一閾値および第二閾値を算出して設定する。例えば、画像読取り領域の幅寸法の半分、および画像読取り領域の奥行き寸法の半分の値を第一閾値および第二閾値として用いることができる。これによって、サイズの小さな原稿600は、読み取りが終わった後に原稿台130の端の方に置いたままで次の原稿600と入れ替えても、正しく原稿600の入れ替えを判定することができる。
特にスキャナ100の周辺に原稿600を置く場所がないような環境では、原稿台130を一時的に原稿600の置き場所として使用するケースが考えられる。本実施形態に係るスキャナ100は、ユーザが原稿600を読み取り領域の外に出すことで「原稿を替えた」と判定する。このように、読み取り領域のサイズに応じて閾値を設定すれば、スキャナ100における入れ替えの判定とユーザの認識のずれが生じることなく、入れ替え検知の精度を高めることができる。
本実施形態に係る閾値設定処理(S710)において設定される第一閾値および第二閾値は、読み取り原稿の幅寸法と奥行き寸法の半分の値に限らず、読み取り領域のサイズに連動するものであればよい。この場合、読み取り領域が小さい場合にユーザが読み取り領域外に読み取り後の原稿600を置いたままにしていた場合であっても、原稿600の入れ替えを正しく判断できればよい。
[本発明に係る画像読取方法の第三実施形態]
次に、スキャナ100を用いた画像読取方法の第三実施形態について説明する。本実施形態は、第二実施形態に係る閾値設定処理(S710)の代わりに、操作キー160を用いて読取り原稿サイズを指定し、この指定された読取り原稿サイズを用いて第一閾値と第二閾値を設定するものである。
本実施形態によれば、ユーザが不定形サイズの原稿600を読み取るときに、読取り原稿サイズを原稿600のサイズに合わせて設定することができる。即ち、その原稿600の具体的な寸法について操作キー160を介して入力させて、入力された原稿サイズに基づいて第一閾値と第二閾値を算出して、差分閾値保持部1591に保持させる。これにより、不定形原稿であってもユーザが決定した原稿サイズに基づいて原稿600の入れ替えを正しく検知することができる。
なお、本実施形態に係る第一閾値と第二閾値は、例えば、入力された原稿サイズの半分の長さであればよい。
[本発明に係る画像読取方法の第四実施形態]
次に、スキャナ100を用いた画像読取方法の第四実施形態について説明する。本実施形態は、第二実施形態に係る閾値設定処理(S710)の代わりに、特徴点座標取得処理(S709)において取得される原稿600の読み取り画像の寸法から、標準規格として規定されている紙のサイズ(A判やB判など)に基づいて、第一閾値と第二閾値を決定する。即ち、読み取り画像の寸法から、標準規格のサイズを決定し、当該標準規格のサイズに基づいて第一閾値と第二閾値を設定する。
例えば、読み取り画像の寸法がA4判として認識可能な寸法であれば、原稿サイズをA4判として決定し、A4判のサイズに基づいて第一閾値と第二閾値を算出して、差分閾値保持部1591に保持させる。この場合、原稿サイズの半分の寸法をそれぞれの閾値とすればよい。本実施形態によれば、例えばユーザがあえて原稿600よりも大きい領域を読み取りたい場合でも、実際の原稿サイズに基づいて原稿600の入れ替えを正しく検知することができる。
[本発明に係る画像読取方法の第五実施形態]
次に、本発明に係る画像読取装置の実施形態であるスキャナ100を用いて実行可能な画像読取方法の第五実施形態について説明する。すでに説明をしたとおり、スキャナ100は、所定の周期(例えば、33.3ms周期)においてキャプチャ動作を実行する。また、キャプチャ動作の度に、判定特徴点座標を算出し、基準特徴点座標との差分に基づいて、原稿600の入れ替えを判断する。
したがって、判定特徴点座標の算出処理を実行するときに、判定画像読取り処理(S403、S703)において、原稿600の読み取り画像にユーザの手が写り込む場合がある。ユーザは、原稿600を移動させるときに輪郭部分を持つので、原稿600の読み取り画像に係る判定特徴点座標を算出すべき四隅付近にユーザの手が含まれる。これによって、原稿600に係る判定特徴点座標が大きくずれた位置にあるものとして算出される可能性がある。判定特徴点座標が実際とは大きく異なると、基準特徴点座標との差分が実際とは異なる状態になり、場合によっては、原稿600の入れ替えが起きていると誤判定される可能性がある。
そこで、本実施形態に係るスキャナ100では、読み取り画像における原稿600の輪郭を抽出する処理を実行する際に、ユーザの手に相当する画像領域は輪郭から除外する処理を実行する。これによって、ユーザの手が写り込んでも原稿600の入れ替えを正しく行うことができる。
本実施形態の特徴は、基準特徴点座標を取得するための特徴点座標取得処理(S409、S709)にある。すでに説明をした特徴点座標取得処理(図5参照)と異なる部分について詳細に説明する。図9は、本実施形態に係る特徴点座標取得処理の詳細な流れを示すフローチャートである。
まず、前処理部153において、読み取り画像に含まれる色域のうち、輪郭の抽出から除外する色域を決定する色域決定処理が実行される(S901)。S901は、後段の色抽出処理において用いる閾値を読み取り画像に基づいて決定するための処理である。したがって、予め設定する閾値を用いて色抽出処理を実行する場合は、S901を実行しなくてもよい。予め色閾値を設定する場合、例えば、複数のユーザの肌の色を設定し、ヒストグラムを作成するなどして決定すればよい。以下、色域決定処理を実行する場合について、詳細な流れを説明する。
図10に示すように、まず、読み取り画像の各画素値の色情報を集計する処理を実行する(S1001)。色情報は、読み取り画像に対する色抽出を実行する際に用いる色としてRGB系を用いる場合はRGB値を集計し、HSV系を用いる場合にはHSV値を集計する。
次に、集計された色情報のR・G・B(またはH・S・V)のそれぞれの最大値と最小値を算出し、この最大値と最小値に基づいて、後段の色抽出処理で用いる閾値を算出する(S1002)。続いて、算出された色抽出用の閾値は色閾値設定部1531に保持される(S1003)。
図9に戻る。続いて、色抽出用の閾値である色閾値を用いて色抽出処理が実行される(S902)。ここで、図17の画像例を用いながら説明する。まず、S902において図17(a)に示す読み取り画像に対して、色抽出部1532が色抽出処理を実行すると、図17(c)に示す画像が得られる。ここで、仮にS902における処理を実行しなければ、図17(b)に示すような、ユーザの手が含まれた画像が得られることになる。
S902により、読み取り画像に含まれるユーザの手の部分は、原稿600の部分を示す画像と区別される。以降において実行される、二値化処理(S903)、輪郭抽出処理(S904)、中心座標算出処理(S905)、画像領域分割処理(S906)、特徴点座標算出処理(S907)によって基準特徴点座標が算出される。S903からS907までの処理は、すでに説明したS501からS505までの処理と同様であるので、詳細な説明を省略する。
本実施形態によれば、色抽出のための色閾値をユーザ操作に従って取得される基準画像に含まれる原稿600の一部分の色域に基づいて決定することができる。したがって、ユーザの肌の色に違いがあっても、当該ユーザが行う原稿600の画像読み取り処理において、当該画像における原稿600の輪郭をより正確に抽出することができる。また、基準画像に基づいて決定された色閾値を用いて、キャプチャ動作に従って取得される判定画像における輪郭を抽出する際にも、当該色閾値を用いて処理を実行することができる。これによって、より正確に判定基準点座標を算出することができ、ユーザに合わせてより正確に原稿600の入れ替えを判定することができる。
なお、ユーザが原稿600を手で押さえながらスキャン操作をする場合があるので、手の色が閾値決定に影響を与える場合がある。そこで、色域決定処理(S901)を実行するときに、読み取り画像に含まれる全ての画素値を用いるのではなく、読み取り画像の中央付近の画素値のみ使用するなど範囲を限定してもよい。
特定の色域を除外するには、読み取り画像を色相/彩度/明度で表現するHSV系を用いる方法がある。図18に示す例では、手の部分のHSV値は(22、111、91)付近の値であって、原稿領域のHSV値は(40、3、172)付近である。このように、HSV系を用いるときは、色相(H)の値は差が小さくても区別される。したがって、H値の閾値は彩度(S)や明度(V)よりも細かく設定すればよい。
[本発明に係る画像読取方法の第六実施形態]
次に、本発明に係る画像読取装置の実施形態であるスキャナ100を用いて実行可能な画像読取方法の第六実施形態について説明する。すでに説明をしたとおり、スキャナ100は、所定の周期(例えば、33.3ms周期)に従って実行されるキャプチャ動作において取得される判定画像に基づいて判定座標を算出する。キャプチャ動作が繰り返し実行されている間において、原稿600の入れ替え動作を行おうとすると、判定画像にユーザの手が入りこむことがある。
図18を参照しながら説明すると、図18(a)は、読み取り画像の例であって、ユーザの手が映り込んでいない画像の例である。図18(b)のように、ユーザの手が含まれた画像に基づいて輪郭抽出処理を実行すると、判定特徴点座標の一つである「P13」が、原稿600の中央座標から最も遠い手部分に相当する位置になってしまう。一方、色抽出処理を実行して手部分を排除すると、P13の位置は、図18(c)に例示するようになる。
図18(b)、図18(c)のいずれの場合であっても、判定特徴点座標の一部が、ユーザの手によって隠れてしまい、大きく移動したかのような状態になる。そこで、本実施形態に係るスキャナ100では、基準特徴点座標と判定特徴点座標との差分を算出するときに、判定特徴点座標の周期毎の変動が大きすぎる場合は、その特徴点座標を入れ替え判定に用いないことにする。具体的には、前の周期のキャプチャ動作において取得された判定画像から算出された判定特徴点座標と、今周期のキャプチャ動作において取得された判定画像から算出された判定特徴点座標を比較することで、周期毎の判定即頂点座標が異常変動した場合に対処できるようにする。
第六実施形態に係る画像読取方法において、既に説明をした実施形態との大きな差異点は、特徴点座標差分算出処理(S406、S706)にある。以下、この差異点について図11のフローチャートを用いて詳細に説明し、その他の処理の説明は省略する。
まず、特徴点座標が正常に算出された後に(S405/NO、S705/NO)、正常に算出された判定特徴点座標のそれぞれにおいて、前周期に算出された判定特徴点座標との比較を実行する(S1101)。S1101における比較の結果、今周期のキャプチャ動作に係る判定特徴点座標が前周期のキャプチャ動作に係る判定特徴点座標の一定距離(探索範囲)に該当するならば(1102/NO)、今周期に係る判定特徴点座標を用いて特徴点座標差分算出処理を実行する(S1104)。
一方、今周期のキャプチャ動作に係る判定特徴点座標が前周期のキャプチャ動作に係る判定特徴点座標の一定距離(探索範囲)に該当しない、即ち、探索範囲外に該当するならば(1102/YES)、今周期に係る判定特徴点座標を破棄して、代わりに、前周期に係る判定特徴点座標を後段の処理に用いるように設定する(S1103)。その後、前周期に係る判定特徴点座標を用いて特徴点座標差分算出処理を実行する(S1104)。その後、すでに説明したとおり、原稿入替判定処理(S407、S707)を実行する。
S1103において、今周期に係る判定特徴点座標の全てを前周期に係る判定特徴点座標に入れ替える必要はなく、探索範囲外に存在する判定特徴点座標のみ、すなわち、前周期のものとの差分が既定値を超える今周期の判定特徴点座標のみを、前周期に係る判定特徴点座標に代えればよい。また、今周期に係る判定特徴点座標のうち、前周期に係る判定特徴点座標から一定以上離れているものを、後段の処理の対象から外すようにしてもよい。
S1102の比較に用いる探索範囲の設定値は、最適な値が、対応する原稿サイズや想定するユーザによって異なる場合がある。そこで、例えば複数人によるユーザビリティ評価などを行った結果を用いて、探索範囲の設定値を決定してもよい。また、汎用的に使用可能な値を設定値としてもよい。例えば、原稿600の入れ替え動作が非常に速く、原稿600の移動速度が1000mm/s程度であっても対応可能なように、探索範囲を40mmに設定すればよい。この値は、キャプチャ動作の周期である30fpsに相当する移動距離(1000/30=33.3mm)を鑑みて、多少の余裕を用いて設定する例である。
本実施形態によれば、ユーザの手などが読み取り画像に写り込んだ場合であっても、誤って原稿600の入れ替えを誤判定することを防止できる。
なお原稿600の位置を表す全ての判定特徴点座標が無効となった場合は、その時点で原稿入れ替えありと判断してもよい。
[本発明に係る画像読取方法の第七実施形態]
次に、本発明に係る画像読取装置の実施形態であるスキャナ100を用いて実行可能な画像読取方法の第七実施形態について説明する。図19(a)に例示するように、ユーザが原稿600を入れ替える場合、前の原稿600を完全に抜き取る前に次の原稿600を挿入する場合がある。この場合、原稿600の輪郭は、図19(b)に示すように読み取り画像において複数抽出されることになる。図19(b)に例示するように、複数の原稿600の輪郭を同時に抽出した場合、どの判定特徴点を用いて原稿600の入れ替えを判定すべきか、見分けが付かなくなる。
そこで、第七実施形態に係る画像読取方法は、既に説明をした実施形態と特徴点座標差分算出処理(S406、S706)において、異なる処理を実行する。したがって、この異なる処理について図12のフローチャートを用いて詳細に説明し、その他の処理の説明は省略する。
まず、特徴点座標が正常に算出された後に(S405/NO、S705/NO)、今周期において取得した読み取り画像から算出した四隅座標(判定特徴点座標)を基準特徴点座標と比較した場合、その差が最小になる判定特徴点座標の組み合わせを決定する(S1201)。即ち、今周期において取得した読み取り画像のそれぞれの輪郭ごと算出した判定特徴点座標を基準特徴点座標と比較して、近い方の判定特徴点座標を入れ替え判定用として決定する。これによって、入れ替え後の原稿600の判定特徴点座標と参照してしまうことを防ぐ。
S1201において決定された判定特徴点座標を用いて、S406およびS706と同様の特徴点差分算出処理を実行する(S1202)。具体的には、に、(X11diff、Y11diff)、(X12diff、Y12diff)、(X13diff、Y13diff)、(X14diff、Y14diff)、をそれぞれ算出する。その後、すでに説明したとおり、原稿入替判定処理(S407、S707)をする。
本実施形態に係るスキャナ100によれば、読み取り後の原稿600が完全に抜き取られる前に次の原稿600を挿入された場合であっても、原稿600の入れ替えを正しく検知することができる。
以上説明した各実施形態に係るスキャナ100によれば、原稿600の中心座標を基準にして原稿600の入れ替えを判定するのではなく、原稿600の輪郭を構成する特徴点座標を用いて原稿600の入れ替えを判定する。これによって、例えば、ユーザが原稿600を垂直方向に持ち上げた場合であっても、原稿600の入れ替えを判定することができる。仮に、原稿600の中心座標に基づく入替判定とすると、原稿600を持ち上げた場合には、前周期の読み取り画像に係る中心座標と後周期の読み取り画像に係る中心座標の差はほとんど生じず、原稿600が動いていないように誤判定することになる。即ち、中心座標を用いると原稿600の入れ替えの判定ができない場合がある。
即ち、原稿600を持ち上げて、読み取り画像が原稿600で埋め尽くしてしまった状態で、持ち上げた原稿600の下で新たな原稿600を入れ替えた場合などは、原稿600の入替判定ができない。一般的に、原稿600を入れ替えない場合に原稿を持ち上げる動作を行うことは考え難い。
そこで、本実施形態に係るスキャナ100は、一般的に、原稿600を入れ替えない場合に原稿を持ち上げる動作を行うことは考え難いことに着目し、原稿600の入替判定に用いるための、原稿600の位置を示す情報として、原稿600の四隅の座標を用いる。これによって、ユーザが原稿600を垂直方向に持ち上げた場合であっても原稿600の入れ替えの判定を精度よく行うことができる。