JP2019146126A - 画像読取装置、その制御方法、及びプログラム - Google Patents
画像読取装置、その制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2019146126A JP2019146126A JP2018031190A JP2018031190A JP2019146126A JP 2019146126 A JP2019146126 A JP 2019146126A JP 2018031190 A JP2018031190 A JP 2018031190A JP 2018031190 A JP2018031190 A JP 2018031190A JP 2019146126 A JP2019146126 A JP 2019146126A
- Authority
- JP
- Japan
- Prior art keywords
- image
- document
- unit
- partial
- user
- 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.)
- Pending
Links
Landscapes
- Studio Devices (AREA)
- Stereoscopic And Panoramic Photography (AREA)
- Camera Bodies And Camera Details Or Accessories (AREA)
- Accessories Of Cameras (AREA)
- Image Input (AREA)
- Facsimile Scanning Arrangements (AREA)
Abstract
【課題】スティッチングを行う際に、ユーザが原稿台に載置した原稿の移動に追従して、当該原稿の撮影部分を支援する支援情報を好適に投影し、無駄なスキャンを低減する仕組みを提供する。【解決手段】本画像読取装置は、原稿を載置する載置台を備え、載置台上に載置された原稿を撮影して2次元画像を取得し、取得した2次元画像を、撮影した原稿の一部の領域に対応する部分画像として記録する。また、画像読取装置は、前回記録された部分画像の次に記録する部分画像を撮影するために、載置台上での原稿の移動をユーザに支援する支援情報を投影する。また、画像読取装置は、取得される現在の2次元画像に追従して、当該現在の2次元画像と前回記録された部分画像との画像の重複度を検出する。さらに、画像読取装置は、検出された重複度に応じて、支援情報を更新しつつ、次に記録する部分画像を撮影するタイミングをユーザに報知する。【選択図】 図9
Description
本発明は、読取装置の読取範囲より大きい大判原稿をスキャンする際に、読取範囲の一部分が相互に重なり合った複数の部分画像の撮影を支援する画像読取装置、その制御方法、及びプログラムに関する。
建築図面のような大判原稿をスキャンする方法として、ユーザが複写機の天板読取部に原稿の一部分(例えば、右半分)を載置してスキャンした後、もう一部分(例えば、左半分)を載置し直して再スキャンし、それらの部分画像群を合成する方法がある。この方法におけるユーザの作業は、天板部を開けて原稿を載置し、天板部を閉めて載置した部分をスキャンした後、もう一部分をスキャンするために同様の手順を繰り返すというものであり、煩雑である。
そこで、原稿載置部の上部に撮像装置を設置する上面読取装置を用いてスキャンする方法がある。この方法は、ユーザが上面読取装置の原稿載置部に原稿の一部分を載置して上部の撮像装置で撮影(スキャン)した後、原稿をずらして(例えば、横に平行移動して)もう一部分を原稿載置部に載置し直して再撮影し、それら分割して撮影した部分画像群を合成する方法である。複写機によるスキャンと違い、ユーザは原稿をずらすだけで原稿の再載置が完了するため、複写機によるスキャンよりも作業が簡略である。
上記方法に見られる、本来一枚である画像を部分毎に分割して取得し、それら部分画像群を合成する技術はスティッチングと呼ばれる。スティッチングは、各部分画像間の対応する特徴点を検出し、その対応関係を用いて各部分画像をホモグラフィ変換(平面上の点を別の点に射影)して重ね合わせる技術である。即ち、各部分画像間の重複している領域を重ね合わせる技術である。そのため、各部分画像には他の部分画像と重複する領域が映っている必要があり、ユーザは原稿の一部分を載置して撮影した後、その画像との重複領域が映るように次の一部分を載置し直して再撮影する必要がある。
このような上面読取装置では、一部分をスキャンした後、次に原稿をどこまでずらせばその一部分との重複領域が撮影できるかを判断するのはユーザである。ユーザは、これから撮影する原稿の一部分が既に撮影した一部分とどれだけ重なっているかを、既に撮影した部分画像を見て感覚的に判断するしかない。その判断次第では、重複領域が十分に確保できずにスティッチングに失敗する恐れがある。例えば、ユーザが十分重複していると判断できる場合でも、システムが特徴点を検出した結果スティッチングするには十分な特徴点数が検出できなかった場合、スティッチングに失敗する。
そこで、特許文献1には、ユーザにスティッチング可能な部分画像の撮影を促す支援情報を表示する技術が提案されている。より具体的には、デジタルカメラで撮影画角よりも広い範囲の画像を生成するためにスティッチング技術を用いる上で、ビューファインダ上に複数の部分画像の撮影を支援する情報を表示している。例えば、ビューファインダに映る撮影フレームに前回撮影したフレームの範囲を表す補助線を表示する手法が提案されている。
しかしながら、上記従来技術には以下に記載する課題がある。例えば、上記従来技術では、ビューファインダ上に映る範囲内でしか補助線を表示できないため、これまでに撮影した原稿の範囲をユーザは認識することができない。そのため、一度撮影した部分を再び撮影してしまう無駄が生じることがある。また、現在の上面読取装置の構成は、デジタルカメラのようにユーザの目線と情報表示用画面の位置を合わせられるものではない。従って、上記手法を上面読取装置に適用する場合、ユーザは原稿をずらしたあと原稿から目線を外して別の表示媒体上に表示される情報を確認し、また原稿の方を向いて原稿をずらすという一連の作業を繰り返すことになる。このように、逐一目線が外れるため、ユーザが円滑に原稿をずらせないという課題がある。つまり、上記従来技術では、無駄な撮影やユーザ操作の煩わしさによって、全体的に装置のスループットが低下してしまう。
本発明は、上述の問題の少なくとも一つに鑑みて成されたものであり、スティッチングを行う際に、ユーザが原稿台に載置した原稿の移動に追従して、当該原稿の撮影部分を支援する支援情報を好適に投影し、無駄なスキャンを低減する仕組みを提供することを目的とする。
本発明は、例えば、画像読取装置であって、原稿を載置する載置台と、前記載置台上に載置された原稿を撮影して2次元画像を取得する画像取得手段と、前記画像取得手段によって取得した2次元画像を、撮影した原稿の一部の領域に対応する部分画像として記録する記録手段と、前記記録手段に前回記録された部分画像の次に記録する部分画像を撮影するために、前記載置台上での原稿の移動をユーザに支援する支援情報を投影する投影手段と、前記画像取得手段によって取得される現在の2次元画像に追従して、該現在の2次元画像と前記記録手段に前記前回記録された部分画像との画像の重複度を検出する検出手段と、前記検出手段によって検出された重複度に応じて、前記投影手段による前記支援情報を更新しつつ、前記次に記録する部分画像を撮影するタイミングをユーザに報知する制御手段とを備えることを特徴とする。
本発明によれば、スティッチングを行う際に、ユーザが原稿台に載置した原稿の移動に追従して、当該原稿の撮影部分を支援する支援情報を好適に投影し、無駄なスキャンを低減するができる。
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下の個別の実施形態によって限定されるわけではない。
<第1の実施形態>
<システム構成>
以下では、本発明の第1の実施形態について説明する。まず、図1を参照して、一実施形態に係る大判原稿スキャンシステム101が含まれるネットワーク構成を説明する。
<システム構成>
以下では、本発明の第1の実施形態について説明する。まず、図1を参照して、一実施形態に係る大判原稿スキャンシステム101が含まれるネットワーク構成を説明する。
図1に示すように、大判原稿スキャンシステム101は、画像読取装置の一例であり、イーサネット(登録商標)等のネットワーク104を介して、ホストコンピュータ102及びプリンタ103に接続されている。図1のネットワーク構成においては、ホストコンピュータ102からの指示により、大判原稿スキャンシステム101による大判原稿スキャン機能や、そのスキャンデータ等をプリンタ103により出力するプリント機能の実行が可能である。また、ホストコンピュータ102を介さず、大判原稿スキャンシステム101へ直接指示することにより、大判原稿スキャン機能、及びプリント機能を実行することも可能である。
<大判原稿スキャンシステムの構成>
次に、図2を参照して、一実施形態に係る大判原稿スキャンシステム101の構成例を説明する。図2(a)に示すように、大判原稿スキャンシステム101は、コントローラ部201、カメラ部202、腕部203、プロジェクタ207、及び距離画像センサ208を備える。大判原稿スキャンシステム101の本体であるコントローラ部201、撮像を行うためのカメラ部202、プロジェクタ207及び距離画像センサ208は、腕部203により連結されている。腕部203は関節を用いて曲げ伸ばしが可能である。
次に、図2を参照して、一実施形態に係る大判原稿スキャンシステム101の構成例を説明する。図2(a)に示すように、大判原稿スキャンシステム101は、コントローラ部201、カメラ部202、腕部203、プロジェクタ207、及び距離画像センサ208を備える。大判原稿スキャンシステム101の本体であるコントローラ部201、撮像を行うためのカメラ部202、プロジェクタ207及び距離画像センサ208は、腕部203により連結されている。腕部203は関節を用いて曲げ伸ばしが可能である。
図2(a)には、大判原稿スキャンシステム101が設置されている載置台204も示している。カメラ部202及び距離画像センサ208のレンズは、載置台204方向に向けられており、破線で囲まれたスキャン領域205内の画像を読取可能である。図2(a)の例では、原稿206はスキャン領域205内に置かれているので、大判原稿スキャンシステム101で読取可能となっている。
カメラ部202は単一解像度で画像を撮像するものとしてもよいが、高解像度画像撮像と低解像度画像撮像が可能なものとすることが望ましい。載置台204内にはターンテーブル209を設けてもよい。ターンテーブル209はコントローラ部201からの指示によって回転することが可能であり、ターンテーブル209上に置かれた原稿206とカメラ部202との角度を変えることができる。
また、図2に示されていないが、大判原稿スキャンシステム101は、LCDタッチパネル330及びスピーカ340をさらに備えてもよい。さらに、周囲の環境情報を収集するための人感センサ、照度センサ、及び加速度センサなどの各種センサデバイスを含むこともできる。
図2(b)は、大判原稿スキャンシステム101における座標系について表している。大判原稿スキャンシステム101では各ハードウェアデバイスに対して、カメラ座標系、距離画像座標系、及びプロジェクタ座標系という座標系が定義される。これらはカメラ部202及び距離画像センサ208が撮像する画像平面、又はプロジェクタ207が投影する画像平面をそれぞれXY平面とし、各画像平面に直交した方向をZ方向として定義したものである。さらに、これらの独立した座標系の3次元データを統一的に扱えるようにするために、載置台204を含む平面をXY平面とし、このXY平面から上方に垂直な向きをZ軸とする直交座標系を定義する。
座標系を変換する場合の例として、図2(c)に直交座標系と、カメラ部202を中心としたカメラ座標系を用いて表現された空間と、カメラ部202が撮像する画像平面との関係を示す。直交座標系における3次元点P[X,Y,Z]は、(1)式によって、カメラ座標系における3次元点Pc[Xc,Yc,Zc]へ変換できる。
ここで、Rc及びtcは、直交座標系に対するカメラの姿勢(回転)と位置(並進)によって求まる外部パラメータによって構成される。Rcを3×3の回転行列と称し、tcを並進ベクトルと称する。逆に、カメラ座標系で定義された3次元点は(2)式によって、直交座標系へ変換することができる。
さらに、カメラ部202で撮影される2次元のカメラ画像平面は、カメラ部202によって3次元空間中の3次元情報が2次元情報に変換されたものである。即ち、カメラ座標系上での3次元点Pc[Xc,Yc,Zc]を、(3)式によってカメラ画像平面での2次元座標pc[xp,yp]に透視投影変換することによって変換することができる。
ここで、Aは、カメラの内部パラメータと呼ばれ、焦点距離と画像中心などで表現される3×3の行列である。
以上のように、(1)式と(3)式を用いることで、直交座標系で表された3次元点群を、カメラ座標系での3次元点群座標やカメラ画像平面に変換することができる。なお、各ハードウェアデバイスの内部パラメータ及び直交座標系に対する位置姿勢(外部パラメータ)は、公知のキャリブレーション手法により予めキャリブレーションされているものとする。以後、特に言及しない限り、3次元点群と表記した場合は、直交座標系における3次元データを表しているものとする。
<コントローラ部のハードウェア構成>
次に、図3を参照して、大判原稿スキャンシステム101の本体であるコントローラ部201のハードウェア構成例を説明する。図3に示すように、コントローラ部201は、システムバス301に接続されたCPU302、RAM303、ROM304、HDD305、ネットワークI/F306、画像処理プロセッサ307、及びカメラI/F308を含む。
次に、図3を参照して、大判原稿スキャンシステム101の本体であるコントローラ部201のハードウェア構成例を説明する。図3に示すように、コントローラ部201は、システムバス301に接続されたCPU302、RAM303、ROM304、HDD305、ネットワークI/F306、画像処理プロセッサ307、及びカメラI/F308を含む。
CPU302は、コントローラ部201全体の動作を制御する中央演算装置である。RAM303は揮発性メモリである。ROM304は不揮発性メモリであり、CPU302の起動用プログラムが格納されている。HDD305はRAM303と比較して大容量なハードディスクドライブ(HDD)である。HDD305にはコントローラ部201の実行する、大判原稿スキャンシステム101の制御用プログラムが格納されている。
CPU302は、電源ON等の起動時、ROM304に格納されている起動用プログラムを実行する。この起動用プログラムは、HDD305に格納されている制御用プログラムを読み出し、RAM303上に展開するためのものである。CPU302は起動用プログラムを実行すると、続けてRAM303上に展開した制御用プログラムを実行し、制御を行う。また、CPU302は制御用プログラムによる動作に用いるデータもRAM303上に格納して読み書きを行う。HDD305上にはさらに、制御用プログラムによる動作に必要な各種設定や、また、カメラ入力によって生成した各画像を格納することができ、CPU302によって読み書きされる。CPU302は、ネットワークI/F306を介してネットワーク104上の他の機器との通信を行う。
画像処理プロセッサ307は、RAM303に格納された各画像を読み出して処理し、処理後のデータをRAM303へ書き戻す。なお、画像処理プロセッサ307が実行する画像処理は、回転、変倍、色変換等である。
カメラI/F308は、カメラ部202及び距離画像センサ208と接続され、CPU302からの指示に応じてカメラ部202から画像を、距離画像センサ208から距離画像を取得してRAM303へ書き込む。また、CPU302からの制御コマンドをカメラ部202及び距離画像センサ208へ送信し、カメラ部202及び距離画像センサ208の設定を行う。
また、コントローラ部201は、ディスプレイコントローラ309、シリアルI/F310、オーディオコントローラ311及びUSBコントローラ312のうち少なくとも1つをさらに含むことができる。ディスプレイコントローラ309は、CPU302の指示に応じて出力する表示を制御する。ここでは、ディスプレイコントローラ309は、プロジェクタ207及びLCDタッチパネル330に接続され、それぞれの出力表示を制御する。
シリアルI/F310はシリアル信号の入出力を行う。ここでは、シリアルI/F310はターンテーブル209に接続され、CPU302の回転開始・終了及び回転角度の指示をターンテーブル209へ送信する。また、シリアルI/F310はLCDタッチパネル330に接続され、CPU302はLCDタッチパネル330が押下されたときに、シリアルI/F310を介して押下された座標を取得する。
オーディオコントローラ311はスピーカ340に接続され、CPU302の指示に応じて音声データをアナログ音声信号に変換し、スピーカ340を通じて音声を出力する。USBコントローラ312はCPU302の指示に応じて外付けのUSBデバイスの制御を行う。ここでは、USBコントローラ312は、USBメモリやSDカードなどの外部メモリ350に接続され、外部メモリ350へのデータの読み書きを行う。
<制御用プログラムの機能構成>
次に、図4を参照して、本実施形態に係る大判原稿スキャンシステム101の制御プログラムの機能構成について説明する。図4(a)は、CPU302が実行する大判原稿スキャンシステム101の制御用プログラムの機能構成401を示す図である。図4(b)は、機能構成401の各モジュールの関係をシーケンス図として示したものである。大判原稿スキャンシステム101の制御用プログラムは前述のようにHDD305に格納され、CPU302が起動時にRAM303上に展開して実行する。大判原稿スキャンシステム101は、機能構成として、メイン制御部402、ユーザインターフェイス部403、ネットワーク通信部404、データ管理部405、表示部406、画像取得部416、認識処理部417、及び画像処理部418を含む。
次に、図4を参照して、本実施形態に係る大判原稿スキャンシステム101の制御プログラムの機能構成について説明する。図4(a)は、CPU302が実行する大判原稿スキャンシステム101の制御用プログラムの機能構成401を示す図である。図4(b)は、機能構成401の各モジュールの関係をシーケンス図として示したものである。大判原稿スキャンシステム101の制御用プログラムは前述のようにHDD305に格納され、CPU302が起動時にRAM303上に展開して実行する。大判原稿スキャンシステム101は、機能構成として、メイン制御部402、ユーザインターフェイス部403、ネットワーク通信部404、データ管理部405、表示部406、画像取得部416、認識処理部417、及び画像処理部418を含む。
メイン制御部402は制御の中心であり、機能構成401内の他の各モジュールを図4(b)に示すように制御する。画像取得部416は画像入力処理を行うモジュールであり、カメラ画像取得部407及び距離画像取得部408から構成される。カメラ画像取得部407は、カメラ部202が出力する画像をカメラI/F308を介して取得し、RAM303へ格納する。距離画像取得部408は距離画像センサ208が出力する距離画像をカメラI/F308を介して取得し、RAM303へ格納する。距離画像取得部408の処理の詳細は図5を用いて後述する。
認識処理部417は、カメラ画像取得部407及び距離画像取得部408が取得する各画像から載置台204上の物体の動きを検知して認識するモジュールであり、ジェスチャー検知部409及び物体検知部410から構成される。ジェスチャー検知部409は、画像取得部416から載置台204上の画像を取得し続け、ユーザによるタッチなどのジェスチャーを検知するとメイン制御部402へ通知する。物体検知部410は、画像取得部416から載置台204を撮像した画像を取得し続け、載置台204上に物体が置かれるタイミング、物体が置かれて静止するタイミング、或いは物体が取り除かれるタイミングなどを検知する検知処理を実行する。ジェスチャー検知部の処理の詳細は図6を用いて後述する。画像処理部418は、カメラ画像取得部407及び距離画像取得部408が取得する各画像を画像処理プロセッサ307で解析するために用いられ、大判原稿スキャン部411や各種画像処理モジュールで構成される。大判原稿スキャン部411は、載置台204上に載置された原稿を部分毎に分割して撮影し、それら複数の部分画像を合成するモジュールである。また、前述のジェスチャー検知部409や大判原稿スキャン部411は、画像処理部418の各種画像処理モジュールを利用して実行される。
ユーザインターフェイス部403は、メイン制御部402からの要求を受け、メッセージやボタン等のGUI部品を生成する。そして、表示部406へ生成したGUI部品の表示を要求する。表示部406はディスプレイコントローラ309を介して、プロジェクタ207又はLCDタッチパネル330へ要求されたGUI部品の表示を行う。プロジェクタ207は載置台204に向けて設置されているため、載置台204上にGUI部品を投射することが可能となっている。また、ユーザインターフェイス部403は、ジェスチャー検知部409が認識したタッチ等のジェスチャー操作、又はシリアルI/F310を介したLCDタッチパネル330からの入力操作、そしてさらにそれらの座標を受信する。そして、ユーザインターフェイス部403は描画中の操作画面の内容と操作座標を対応させて操作内容(押下されたボタン等)を判定する。この操作内容をメイン制御部402へ通知することにより、操作者の操作を受け付ける。
ネットワーク通信部404は、ネットワークI/F306を介して、ネットワーク104上の他の機器とTCP/IPによる通信を行う。データ管理部405は、制御用プログラムの実行において生成した作業データなど様々なデータをHDD305上の所定の領域へ保存し、管理する。
ここで、図4(b)を参照して、大判原稿をスキャンする際の各モジュールのシーケンスの一例を説明する。まずメイン制御部402は、物体検知部410に対して物体検知の開始を指示する。物体検知部410は、画像取得部416のカメラ画像取得部407及び距離画像取得部408から各画像を取得し、物体の静止検知処理を実行する。物体検知部410は、物体の静止を検知すると、その旨をメイン制御部402へ通知する。メイン制御部402は、物体の静止検知通知を受信すると、ユーザインターフェイス部403に指示して、GUI部品の更新処理を実行させる。その後、当該更新したGUI部品に対してユーザによるジェスチャー操作が行われると、当該ジェスチャーをジェスチャー検知部409が検知し、メイン制御部402へジェスチャー検知通知が行われる。
ジェスチャー検知通知を受けると、メイン制御部402は、大判原稿スキャン部411に対して大判原稿のスキャン処理の開始を通知する。大判原稿スキャン部411は、画像取得部416のカメラ画像取得部407及び距離画像取得部408からの各画像を取得し、載置された原稿の一部を読み取る。
さらに、メイン制御部402は、物体検知部410に対して物体検知の開始を指示する。物体検知部410は、画像取得部416のカメラ画像取得部407及び距離画像取得部408から各画像を取得し、物体の除去検知処理を実行する。物体検知部410は、物体の除去を検知すると、その旨をメイン制御部402へ通知する。メイン制御部402は、物体の除去検知通知を受信すると、ユーザインターフェイス部403に指示して、GUI部品の更新処理を実行させ、処理を終了する。
<距離画像センサ及び距離画像取得部の説明>
次に、図5を参照して、本実施形態に係る距離画像センサ208の構成及び距離画像取得部408の処理手順について説明する。距離画像センサ208は、赤外線によるパターン投射方式の距離画像センサである。赤外線パターン投射部361は対象物に、人の目には不可視である赤外線によって3次元形状測定パターンを投射する。赤外線カメラ362は対象物に投射した3次元形状測定パターンを読み取るカメラである。RGBカメラ363は人の目に見える可視光をRGB信号で撮影するカメラである。
次に、図5を参照して、本実施形態に係る距離画像センサ208の構成及び距離画像取得部408の処理手順について説明する。距離画像センサ208は、赤外線によるパターン投射方式の距離画像センサである。赤外線パターン投射部361は対象物に、人の目には不可視である赤外線によって3次元形状測定パターンを投射する。赤外線カメラ362は対象物に投射した3次元形状測定パターンを読み取るカメラである。RGBカメラ363は人の目に見える可視光をRGB信号で撮影するカメラである。
距離画像取得部408の処理手順を図5(a)のフローチャートを用いて説明する。また、図5(b)乃至図5(d)はパターン投射方式による距離画像の計測原理を説明するための図である。以下で説明する処理は、コントローラ部201のCPU302がROM304やHDD305に格納された制御プログラムをRAM303に読み出して実行することにより実現される。
まず、S501で、距離画像取得部408は、図5(b)に示すように、赤外線パターン投射部361を用いて赤外線による3次元形状測定パターン522を対象物521に投射する。S502で、距離画像取得部408は、RGBカメラ363を用いて対象物を撮影したRGB画像523、及び赤外線カメラ362を用いてS501で投射した3次元形状測定パターン522を撮影した赤外線画像524を取得する。
なお、赤外線カメラ362とRGBカメラ363とでは設置位置が異なるため、図5(c)に示すように、それぞれで撮影される2つのRGB画像523及び赤外線画像524の撮影領域が異なる。そこで、S503で、距離画像取得部408は、赤外線カメラ362の座標系からRGBカメラ363の座標系への座標系変換を用いて赤外線画像524をRGB画像523の座標系に合わせる。なお、赤外線カメラ362とRGBカメラ363の相対位置や、それぞれの内部パラメータは事前のキャリブレーション処理により既知であるとする。
次に、S504で、距離画像取得部408は、図5(d)に示すように、3次元形状測定パターン522とS503で座標変換を行った赤外線画像524との間の対応点を抽出する。例えば、距離画像取得部408は、赤外線画像524上の1点を3次元形状測定パターン522上から探索して、同一の点が検出された場合に対応付けを行う。或いは、距離画像取得部408は、赤外線画像524の画素の周辺のパターンを3次元形状測定パターン522上から探索し、最も類似度が高い部分と対応付けてもよい。S505で、距離画像取得部408は、赤外線パターン投射部361と赤外線カメラ362とを結ぶ直線を基線525として三角測量の原理を用いて計算を行うことにより、赤外線カメラ362からの距離を取得する。S504で対応付けができた画素については、赤外線カメラ362からの距離を算出して画素値として保存し、対応付けができなかった画素については、距離の計測ができなかった部分として無効値を保存する。これをS503で座標変換を行った赤外線画像524の全画素に対して行うことで、各画素に距離値が入った距離画像を生成する。
S506で、距離画像取得部408は、距離画像の各画素にRGB画像523のRGB値を保存することにより、1画素につきR、G、Bと、距離との4つの値を持つ距離画像を生成する。ここで、取得した距離画像は距離画像センサ208のRGBカメラ363で定義された距離画像センサ座標系が基準となっている。そこで、S507で、距離画像取得部408は、図2(b)を用いて上述したように、距離画像センサ座標系として得られた距離データを直交座標系における3次元点群に変換し、処理を終了する。以下では、特に言及しない限り、3次元点群と表記した場合は、直交座標系における3次元点群を示すものとする。
なお、本実施形態では、上述したように、距離画像センサ208として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、2つのRGBカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するTOF(Time of Flight)方式など、他の計測方式を用いてもよい。
<ジェスチャー検知処理>
次に、図6A及び図6Bを参照して、本実施形態に係るジェスチャー検知部409の処理手順を説明する。以下で説明する処理は、例えばコントローラ部201のCPU302がROM304やHDD305に格納された制御プログラムをRAM303に読み出して実行することにより実現される。
次に、図6A及び図6Bを参照して、本実施形態に係るジェスチャー検知部409の処理手順を説明する。以下で説明する処理は、例えばコントローラ部201のCPU302がROM304やHDD305に格納された制御プログラムをRAM303に読み出して実行することにより実現される。
S601で、ジェスチャー検知部409は、開始されると、初期化処理を実行する。当該初期化処理において、ジェスチャー検知部409は、距離画像取得部408から距離画像を1フレーム取得する。ここで、ジェスチャー検知部409の開始時は載置台204上に対象物が置かれていない状態であるため、ジェスチャー検知部409は、初期状態として載置台204の平面の認識を行う。より具体的には、ジェスチャー検知部409は、取得した距離画像から最も広い平面を抽出し、その位置と法線ベクトル(以下では、載置台204の平面パラメータと称する。)を算出し、RAM303に保存する。
次に、S602で、ジェスチャー検知部409は、S621及びS622で示す、載置台204上に存在する物体の3次元点群を取得する処理を実行する。その際、S621で、ジェスチャー検知部409は、距離画像取得部408から距離画像と3次元点群を1フレーム取得する。続いて、S622で、ジェスチャー検知部409は、載置台204の平面パラメータを用いて、取得した3次元点群から載置台204を含む平面にある点群を除去する。
次に、S603で、ジェスチャー検知部409は、S631乃至S634で示す、取得した3次元点群から操作者の手の形状及び指先を検出する処理を実行する。ここで、図6Bに示す表示620、630、640も参照して、指先検出処理の方法を説明する。S631で、ジェスチャー検知部409は、S602で取得した3次元点群から、載置台204を含む平面から所定の高さ以上にある、肌色の3次元点群を抽出することで、ユーザの手の3次元点群を取得する。表示620の661は抽出した手の3次元点群を表している。
続いて、S632で、ジェスチャー検知部409は、抽出した手の3次元点群を載置台204の平面に射影した2次元画像を生成して、その手の外形を検出する。表示620の662は、抽出した手の3次元点群の各座標を、載置台204の平面パラメータを用いて載置台204の平面に投影した3次元点群を表している。また、表示630に示すように、投影した3次元点群から、xy座標の値だけを取り出せば、z軸方向から見た2次元画像663として扱うことができる。このとき、手の3次元点群の各点が、載置台204の平面に投影した2次元画像の各座標のどれに対応するかを、記憶しておくものとする。
続いて、S633で、ジェスチャー検知部409は、検出した手の外形上の各点について、その点での外形の曲率を算出し、算出した曲率が所定値より小さい点を指先として検出する。表示640は、外形の曲率から指先を検出する方法を模式的に表したものである。664は、載置台204の平面に投影された2次元画像663の外形を表す点の一部を表している。ここで、664のような、外形を表す点のうち、隣り合う5個の点を含むように円を描くことを考える。円665、667が、その例である。この円を、全ての外形の点に対して順に描き、その直径(例えば666、668)が所定の値より小さい(曲率が小さい)ことを以て、指先とする。この例では隣り合う5個の点としたが、本発明を限定する意図はなく、その数を限定するものではない。また、ここでは曲率を用いたが、外形に対して楕円フィッティングを行うことで、指先を検出してもよい。
続いて、S634で、ジェスチャー検知部409は、検出した指先の個数及び各指先の座標を算出する。このとき、前述したように、載置台204に投影した2次元画像663の各点と、手の3次元点群の各点の対応関係を記憶しているため、各指先の3次元座標を得ることができる。今回は、3次元点群から2次元画像に投影した画像から指先を検出する方法を説明したが、指先検出の対象とする画像は、これに限定されるものではない。例えば、距離画像の背景差分や、RGB画像の肌色領域から手の領域を抽出し、上に述べたのと同様の方法(外形の曲率計算等)で、手領域のうちの指先を検出してもよい。この場合、検出した指先の座標はRGB画像や距離画像といった2次元画像上の座標であるため、その座標における距離画像の距離情報を用いて、直交座標系の3次元座標に変換する必要がある。このとき、指先点となる外形上の点ではなく、指先を検出するときに用いた、曲率円の中心を指先点としてもよい。
次に、S604で、ジェスチャー検知部409は、S641乃至S646で示す、検出した手の形状及び指先からのジェスチャー判定処理を実行する。S641で、ジェスチャー検知部409は、S603で検出した指先が1つかどうか判定する。指先が1つでなければS646へ進み、ジェスチャー検知部409は、ジェスチャーなしと判定し、S605に進む。一方、S641で検出した指先が1つであればS642へ進み、ジェスチャー検知部409は、検出した指先と載置台204を含む平面との距離を算出する。続いて、S643で、ジェスチャー検知部409は、S642で算出した距離が微小な所定値以下であるかどうかを判定し、所定値以下であればS644へ進み、指先が載置台204へタッチした、タッチジェスチャーありと判定し、S605に進む。一方、所定値以下でなければS645へ進み、ジェスチャー検知部409は、指先が移動したジェスチャー(タッチはしていないが、指先が載置台204上に存在するジェスチャー)と判定し、S605に進む。
次に、S605で、ジェスチャー検知部409は、判定したジェスチャーをメイン制御部402へ通知し、S602へ処理を戻し、ジェスチャー検知処理を繰り返す。なお、ここでは一本指でのジェスチャー検知について説明を行ったが、複数の指又は複数の手でのジェスチャー検知に応用することも可能である。メイン制御部402は、通知されたジェスチャーと、載置台上に投影している選択表示とに基づいて、検出されたジェスチャーをユーザ入力として受け付ける。
<大判原稿スキャン処理>
次に、図7乃至図10を参照して、本実施形態に係るメイン制御部402が実行する大判原稿スキャン処理の処理手順について説明する。図7は、大判原稿スキャンシステム101の本実施形態における利用シーンについて説明する図である。原稿をスキャンすることが望ましいユーザ701は、まず、UI画面をジェスチャーによって操作して大判原稿スキャン処理を実行する。次に、図7(a)に示すように、ユーザ701は載置台204上に投影表示されたスキャン範囲を表すスキャン領域205に、図7(b)に示すようなコンテンツを含んでいる原稿702の一部分を置き、スキャンを開始する。そして大判原稿スキャンシステム101の投影表示に従って、スキャン領域205を原稿702の全領域が通り抜けるようにずらしていく。なお、以下の説明を簡単にするため、プロジェクタ207による投影可能範囲を表す投影領域703を破線で示すが、これは実際にはユーザ701に見えているものではない。また、図7(b)の原稿702の横向きの端部(上端部及び下端部)を横方向端部704、縦向きの端部(左端部及び右端部)を縦方向端部705と称することとする。
次に、図7乃至図10を参照して、本実施形態に係るメイン制御部402が実行する大判原稿スキャン処理の処理手順について説明する。図7は、大判原稿スキャンシステム101の本実施形態における利用シーンについて説明する図である。原稿をスキャンすることが望ましいユーザ701は、まず、UI画面をジェスチャーによって操作して大判原稿スキャン処理を実行する。次に、図7(a)に示すように、ユーザ701は載置台204上に投影表示されたスキャン範囲を表すスキャン領域205に、図7(b)に示すようなコンテンツを含んでいる原稿702の一部分を置き、スキャンを開始する。そして大判原稿スキャンシステム101の投影表示に従って、スキャン領域205を原稿702の全領域が通り抜けるようにずらしていく。なお、以下の説明を簡単にするため、プロジェクタ207による投影可能範囲を表す投影領域703を破線で示すが、これは実際にはユーザ701に見えているものではない。また、図7(b)の原稿702の横向きの端部(上端部及び下端部)を横方向端部704、縦向きの端部(左端部及び右端部)を縦方向端部705と称することとする。
(ユースケース)
図8は、本実施形態におけるスキャンを実行する際のUI表示とユーザ701の操作の様子の一例を示す図である。以下の説明において、UI画面はプロジェクタ207によって載置台204に投影されるものとして記述するが、本発明を限定する意図はなく、例えばLCDタッチパネル330や、その他の出力装置上に表示しても構わない。
図8は、本実施形態におけるスキャンを実行する際のUI表示とユーザ701の操作の様子の一例を示す図である。以下の説明において、UI画面はプロジェクタ207によって載置台204に投影されるものとして記述するが、本発明を限定する意図はなく、例えばLCDタッチパネル330や、その他の出力装置上に表示しても構わない。
図8(a)に、大判原稿スキャン処理開始時のUI画面の一例を示す。UI画面には操作指示メッセージ801、大判原稿スキャン機能の実行ボタン802、大判原稿スキャン機能の終了ボタン803が投影表示されている。また、以下の説明を簡単にするため、プロジェクタ207による投影領域703を破線で示す。ただし、投影領域703の破線はユーザ701に見えているものではない。
図8(b)に示すように、ユーザ701が実行ボタン802を押下すると、図8(c)に示すような大判原稿スキャン画面に遷移する。図8(c)の大判原稿スキャン画面では、操作指示メッセージ801を更新すると共に、原稿を載置するためのスキャン領域205を投影表示する。また、当該画面では、スキャンを開始するスキャンボタン804及びスキャンを終了するスキャン終了ボタン805が選択可能に表示される。ここで、スキャン領域205は、より広い範囲を撮影できるようカメラ部202を最も広角にしているが、撮影した原稿の解像度を上げるためズームして狭い範囲を撮影するようにしてもよい。また、図8のスキャン領域205は投影領域703より小さい範囲として描写しているが、スキャン領域205が投影領域703と同じ大きさ、或いはそれ以上の大きさになるようなカメラ部202を選ぶようにしてもよく、これに限るものではない。
ユーザ701は、図8(d)に示すように、操作指示メッセージ801に従って、スキャン領域205に原稿702の左上が来るように原稿702を載置する。その後、ユーザはスキャンボタン804を押下する。スキャンボタン804が押下されると、システムはカメラ部202を駆動してカメラ画像取得部407がスキャン領域205の画像を取得し、原稿の部分画像としてRAM303に記録する。なお、図8(d)では、スキャン領域205にユーザ701の手・腕が重なっているが、カメラ部202による撮影のタイミングは認識処理部417がスキャン領域205にユーザ701の手・腕が重なっていないと認識したタイミングが好ましい。或いは、スキャンボタン804を押下してから数秒後に撮影するようにしてもよく、その際には撮影するまでの秒数をカウントしてもよい。或いは、スキャン領域205に手・腕が重ならないようにスキャンボタン804をスキャン領域205よりユーザ701に近い位置に表示するようにしてもよい。
次に、図8(e)に示すように、プロジェクタ207からスキャン領域205中の原稿702に対して、次に撮影するべき領域を誘導するためのスキャン範囲誘導矢印806を投影する。即ち、スキャン範囲誘導矢印806は、ユーザが移動させる原稿702の移動方向を示すものである。また、スキャン範囲誘導矢印806の方向へ原稿702の移動を促すよう操作指示メッセージ801を更新する。スキャン範囲誘導矢印806は、半透明の緑無地画像などである。なお、カメラ部202はこの後も駆動し続け、スキャン終了ボタン805が押下されるまでカメラ画像取得部407が撮影フレームを更新して取得する。
原稿702を載置した領域の部分画像がRAM303に記録された後、ユーザ701は別の部分画像をスキャンするためにスキャン範囲誘導矢印806に沿って原稿702をずらして再載置する。その再載置中に、即ち、原稿702の移動に追従して、システムは記録した部分画像と撮影フレームの特徴点を検出し、各画像間の対応関係及び領域の重複度を算出する。算出した重複度により、操作指示メッセージ801を、撮影フレームが記録した部分画像とスティッチングするのに良好なタイミング(良好なポジション)であるかどうかを表すメッセージに更新する。
ユーザ701は図8(g)に示すように、操作指示メッセージ801に従ってスキャンボタン804を押下して次の部分画像のスキャンを開始する。或いは、ユーザ701は、スキャン範囲誘導矢印806の誘導に従ってまだ撮影していない原稿702の領域を撮影するように原稿702をずらすこともできる。
ユーザ701がスキャンボタン804を押下すると、システムはその時点での撮影フレームを新しい部分画像として取得し、RAM303に記録する。その後、システムは、その時点で記録した新しい部分画像とその1つ前に記録した部分画像間の対応関係、及び新しい部分画像と撮影フレーム間の対応関係に基づき、記録済みの全部分画像の範囲を再算出する。さらに、システムは、図8(h)に示すようにプロジェクタ207から原稿702に対してスキャン範囲誘導矢印806を投影表示する。図8(h)では、システムは、原稿702の右上隅が既に部分画像として取得されているため、原稿702の下側を撮影するよう誘導するスキャン範囲誘導矢印806を投影する。また、スキャン範囲誘導矢印806の方向へ原稿702の移動を促すよう操作指示メッセージ801を更新する。
図8(i)は、ユーザ701が原稿702を移動しすぎたことなどが要因で、撮影フレーム上に記録した部分画像とスティッチング可能な重複領域がほとんど存在しない場合の例である。その場合、該当する撮影フレームを部分画像として撮影することを阻止するために、図8(i)に示すようにスキャンボタン804を削除して無効化する。また、操作指示メッセージ801を、原稿702の載置位置を元に戻す方向に移動するよう求める旨のメッセージに更新する。
ユーザ701とシステムは、ユーザ701がスキャン終了ボタン805を押下するまで上記操作を繰り返し行う。なお、後述のフローチャートで詳細を説明するが、スキャン範囲誘導矢印806の誘導方向は、原稿702の左上から原稿の隅・端部まで右方向へ、その後、原稿702の上部重複領域が所定の重なりになるまで下方向へ誘導する。そして、原稿702の右端から左方向へ誘導し、端部を検出後、再び原稿702の上部重複領域が所定の重なりになるまで下方向へ誘導し、その後再び右方向へ誘導する。本実施形態では、このように大判の原稿702を左上から右、下、左、下、右、下、左と左右に予め定められた順番でジグザグに撮影していく。しかしながら、上下にジグザグに撮影していくか、或いは、原稿702の端部の検出結果に応じて上下か左右の誘導方向を変更するようにしてもよい。即ち、全体を網羅して撮影ができれば誘導の方向はこれに限るものではない。なお、スキャン範囲誘導矢印806の誘導によって最終的に原稿702の4隅が全て撮影されたときに、原稿702全体のスキャンが終わったとシステムが判定し、スキャン範囲誘導矢印806の投影を終了する。
ユーザ701が図8(j)に示すようにスキャン終了ボタン805を押下すると、システムはそれまでにRAM303に記録した部分画像群を用いてスティッチング処理を実行する。そして、図8(k)に示すように、スティッチング結果807、終了ボタン803、及びスキャンのやり直しボタン808を投影表示する。ユーザ701は投影表示されたスティッチング結果807を確認して、スキャンを終える場合は終了ボタン803を押下し、スキャンをやり直す場合はやり直しボタン808を押下する。終了ボタン803が押下された場合、システムはスティッチング結果807をHDD305に保存して大判原稿スキャン機能を終了する。やり直しボタン808が押下された場合、スティッチング結果807を破棄して図8(c)に示す画面に遷移し、ユーザ701に再び上記手順を繰り返させる。
(処理手順)
図9は、本実施形態におけるメイン制御部402が実行する大判原稿スキャン処理フローの一例である。以下で説明する処理は、例えばコントローラ部201のCPU302がROM304やHDD305に格納された制御プログラムをRAM303に読み出して実行することにより実現される。また、以下の処理の中で説明するユーザ入力は、上述したジェスチャー検知処理により検知されたジェスチャーと、その際に投影しているボタン等の選択表示とに基づいて判断される。
図9は、本実施形態におけるメイン制御部402が実行する大判原稿スキャン処理フローの一例である。以下で説明する処理は、例えばコントローラ部201のCPU302がROM304やHDD305に格納された制御プログラムをRAM303に読み出して実行することにより実現される。また、以下の処理の中で説明するユーザ入力は、上述したジェスチャー検知処理により検知されたジェスチャーと、その際に投影しているボタン等の選択表示とに基づいて判断される。
まずS901で、メイン制御部402は、図8(a)に示す大判原稿スキャン機能の実行開始画面を表示し、図8(b)に示すように実行ボタン802が押下されるまで待つ。押下されるとS902に進む。S902で、メイン制御部402は、図8(c)に示すスキャン作業用画面を表示し、ユーザ入力により原稿702が載置されてスキャンボタン804が押下されるのを待つ。押下されると、S903に進む。
S903で、メイン制御部402は、カメラ部202を駆動し、S902でスキャンボタン804が押下された時点でカメラ画像取得部407が取得した撮影フレームを部分画像In(n番目:n=1、2、・・・、n)としてRAM303に記録する。ここで記録する画像は大判原稿スキャン処理において初めて記録する画像であるため、n=1の部分画像I1となる。なお、カメラ部202はこの後も駆動し続け、スキャン終了ボタン805が押下されるまでカメラ画像取得部407が撮影フレームを更新して取得する。
次に、S904で、メイン制御部402は、カメラ画像取得部407が取得した更新された撮影フレームを、次の撮影フレームとしてRAM303に記録する。以降の処理で扱う撮影フレームは、ここで記録された撮影フレームをRAM303から取り出したものである。続いて、S905で、メイン制御部402は、直前(n番目:n=1、2、・・・、n)にRAM303に記録した部分画像Inと撮影フレームの特徴点群を検出し、各特徴点群間で対応する点群を検出する。特徴点及び対応点検出方法としては、照明の変化や回転、拡大縮小に比較的強い耐性をもつ特徴量算出手法であるSIFTやORBなど、様々な方法が提案されているため、ここでの詳細説明は割愛する。さらに、S906で、メイン制御部402は、記録した部分画像Inと、それに合成する新しい部分画像を取得するための支援情報を投影する表示処理を実行する。
ここで、S906の詳細について、図10を用いて説明する。図10は本実施形態におけるメイン制御部402が実行する部分画像を記録するための支援情報を投影する表示処理フローの一例である。以下で説明する処理は、例えばコントローラ部201のCPU302がROM304やHDD305に格納された制御プログラムをRAM303に読み出して実行することにより実現される。
まず、S961で、メイン制御部402は、部分画像Inと撮影フレームの重複度を検出し、検出した重複度に応じて、直前にRAM303に記録した部分画像Inと撮影フレームがスティッチング可能か不可能かを判断する。重複度として、例えばS905で検出した対応点群のマッチング率(部分画像Inの特徴点のうちどれだけ対応したか)に注目してもよい。メイン制御部402は、マッチング率が閾値(例えば、50%)より大きい(例えば、80%以上)場合、2つの画像には重複する領域が十分存在するためスティッチング可能と判断する。一方、メイン制御部402は、マッチング率が閾値より小さい(例えば、20%以下)場合、2つの画像には重複する領域が十分存在しないためスティッチング不可能と判断する。
S961でスティッチング不可能と判断した場合、S962に進む。S962、及びS963は、ユーザ701が原稿702を移動させ過ぎたことによりスティッキングが不可能になった場合の支援情報の例である。S962で、メイン制御部402は、操作指示メッセージ801を、現在の撮影フレームがスティッチング不可能であるため原稿702の載置位置を変更するよう求める旨のメッセージに一時的に設定し、投影表示する。その後、メイン制御部402は、原稿702の載置位置が元に戻ったと判断すると、また元のメッセージを設定する。例えば、図8(i)の操作指示メッセージ801が原稿702の載置位置を変更するよう求める旨のメッセージとなる。続いて、S963で、メイン制御部402は、原稿702の載置位置を元に戻させるよう、現在の設定と反対方向となるスキャン範囲誘導矢印806を一時的に設定し、投影表示する。原稿702の載置位置が元に戻った場合、また元のスキャン範囲誘導矢印806を設定する。
S961でスティッチング可能と判断した場合、S964に進む。S964で、メイン制御部402は、原稿702の移動を促すメッセージを設定に応じて投影表示する。例えば、図8(e)の操作指示メッセージ801が原稿702の移動を促すメッセージである。なお、最初は原稿702の左上をスキャンするため、原稿702右側がスキャン領域205に来るように移動を促すメッセージが設定されている。
次に、S965で、メイン制御部402は、スキャン範囲誘導矢印806を設定に応じて投影表示する。例えば、図8(e)のスキャン範囲誘導矢印806が原稿702の移動方向を示す矢印となる。なお、最初は原稿702の左上をスキャンするため、原稿702右側がスキャン領域205に来るように右矢印が設定されている。
次に、S966で、メイン制御部402は、撮影フレーム中の原稿702の端部、及び、隅のエッジ検出を行う。原稿702のエッジ検出については、公知の技術であるためここでの詳細な説明は割愛するが、これにより原稿702の上端部や右端部などの4辺と、左下隅などの4隅をそれぞれ検出できる。また、ここでの検出結果はスキャン終了時まで保持しておくこととする。
次に、S967で、メイン制御部402は、S966での検出結果に基づいて、原稿702の最後の隅である4つ目の隅が検出されたか否かを判定する。4つ目の隅が検出された場合はS968へ進み、そうでなければS9611へ進む。S968で、メイン制御部402は、後述するS907によって4つ目の隅が含まれる部分画像Inが記録済みであるか否かを判定する。記録済みであればS9610に進み、そうでなければS969へ進む。
S969で、メイン制御部402は、スキャン範囲誘導矢印806を消灯し、スキャンボタン804の押下を促すメッセージを設定し、S907に進む。例えば、図8(f)の操作指示メッセージ801がスキャンボタン804の押下を促すメッセージの例である。一方、S9610で、メイン制御部402は、原稿702の4隅が全てスキャンされている状態であるため、スキャンの完了を表す旨のメッセージを設定し、S907に進む。例えば、図8(j)の操作指示メッセージ801がスキャンの完了を表すメッセージとなる。
一方、S9611で、メイン制御部402は、部分画像Inと撮影フレームの重複度に応じて、重複度が閾値範囲内か否かを判定する。即ち、ここでは、スティッチングするのに良好なタイミングであるか否かを判断している。良好なタイミングでないと判断するとS9613に進み、良好なタイミングであると判断するとS9612へ進む。ここでは、各部分画像In間の重複領域はスティッチングを行う上で必要な分だけあればよく、その重複度が大きすぎると無駄であり、小さすぎるとスティッチングできない。そのため、重複度がスティッチングする上で過不足のない大きさである場合の撮影フレームをスキャンすることが望ましい。従って、メイン制御部402は、部分画像Inと撮影フレームの重複度に応じて、撮影フレームがスティッチングするのに良好なタイミングであるかどうかを判断する。重複度として、例えばS961と同様に、S905で検出した対応点群のマッチング率に注目する。マッチング率がある閾値範囲内(例えば、30%以上50%以下)である場合、2つの領域は過不足なく重複しているためスティッチングするのに良好なタイミングであると判断し、範囲外であれば良好なタイミングでないと判断する。
S9612で、メイン制御部402は、スキャン範囲誘導矢印806を消灯し、スキャンボタン804の押下を促すメッセージを設定し、S907に進む。具体例はS969と同じであるため説明を割愛する。
一方、S9613で、メイン制御部402は、現在のスキャン範囲誘導矢印806の方向が右又は左に設定されているか否かを判定する。右又は左に設定されていればS9614へ進み、そうでなければS9617へ進む。例えば、図8(e)のスキャン範囲誘導矢印806の方向は右方向の例であり、図8(h)は右又は左方向では無いときの例である。
S9614で、メイン制御部402は、原稿702の縦方向端部705を検出したか否かを判定する。縦方向端部705を検出した場合はS9616へ進み、そうでなければS9615へ進む。なお、縦方向端部705の説明は図7(b)でしているため、ここでの説明を割愛する。また、スキャン範囲誘導矢印806の設定方向が右又は左のときに縦方向端部705を検出した場合とは、例えば図8(f)のときがそれに当たる。
S9615で、メイン制御部402は、そのとき設定されている右又は左方向のスキャン範囲誘導矢印806の方向へ原稿702を移動するよう促すメッセージを操作指示メッセージ801に設定し、S907に進む。例えば、原稿702が横に長いときなどは、ユーザ701が原稿702を横に移動中に何回かスティッチングベストタイミングが来る可能性がある(不図示)。そのようなときは、原稿702の縦方向端部705を検出するまで同じ方向へ原稿702を移動することをユーザ701へ促すよう操作指示メッセージ801及びスキャン範囲誘導矢印806を表示する。
S9616で、メイン制御部402は、原稿702を下側に移動するよう促すメッセージに設定し、スキャン範囲誘導矢印806の方向を下方向に設定し、S907に進む。例えば、図8(h)では、S9613及びS9614でスキャン範囲誘導矢印806の方向が右のときに縦方向端部705が検出されたと判定され、操作指示メッセージ801及びスキャン範囲誘導矢印806が、原稿702を下側へ移動するよう設定される。
S9617で、メイン制御部402は、S9616で原稿702を下側に移動するよう促すメッセージを設定する前に設定されていたメッセージの方向と反対側に移動するよう促すメッセージを設定し、S907に進む。また、スキャン範囲誘導矢印806の方向も同様にその方向に設定する。例えば、図8(h)において、原稿702を下側に移動してスキャンした後(不図示)は、原稿702を左側に移動するようユーザ701に促す操作指示メッセージ801及びスキャン範囲誘導矢印806が表示される。
図9の説明に戻る。図10に示す部分画像記録の支援情報を投影する表示処理が終了すると、S907で、メイン制御部402は、新しい部分画像の記録処理を実行し、S908に進む。ここで、新しい部分画像は、S902及びS903のようにユーザ702が実行ボタン802を押下することによってRAM303に記録されてもよいし、S905の対応点群の検出結果を用いてシステムが自動で記録してもよい。また、部分画像を記録することなくS908に進んでもよい。
S908で、メイン制御部402は、図8(c)に示すようなスキャン終了ボタン805が押下されたかどうかを判断する。スキャン終了ボタン805が押下されていないと判断した場合、S904に処理を戻しS908までの処理を繰り返し実行する。一方、スキャン終了ボタン805が押下されたと判断した場合、S909に進み、メイン制御部402は、RAM303に記録した部分画像群を用いてスティッチング処理を実行する。即ち、メイン制御部402は、複数の部分画像を合成して1つの読取画像を作成する。
次に、S910で、メイン制御部402は、S909のスティッチング結果807を載置台204上に投影表示してユーザ702にスティッチング結果807を確認させる。このとき、終了ボタン803、及びやり直しボタン808も同時に投影表示し、ユーザ702にどちらかのボタンの押下を促す。続いて、S911で、メイン制御部402は、S910で投影表示した終了ボタン803、又はやり直しボタン808が押下されたかどうかを判断する。終了ボタン803が押下されたと判断した場合、メイン制御部402は、HDD305にスティッチング結果807を記録して、大判原稿スキャンシステムを終了する。一方、やり直しボタン808が押下されたと判断した場合、メイン制御部402は、S902に処理を戻し、S911までの処理を繰り返し実行する。
以上説明したように、本実施形態に係る画像読取装置は、原稿を載置する載置台を備え、載置台上に載置された原稿を撮影して2次元画像を取得し、取得した2次元画像を、撮影した原稿の一部の領域に対応する部分画像として記録する。また、画像読取装置は、前回記録された部分画像の次に記録する部分画像を撮影するために、載置台上での原稿の移動をユーザに支援する支援情報を投影する。また、画像読取装置は、取得される現在の2次元画像に追従して、当該現在の2次元画像と前回記録された部分画像との画像の重複度を検出する。さらに、画像読取装置は、検出された重複度に応じて、支援情報を更新しつつ、次に記録する部分画像を撮影するタイミングをユーザに報知する。これにより、ユーザ701は載置台204上に投影表示される操作指示メッセージ801及びスキャン範囲誘導矢印806等の支援情報に従って、スティッチングに掛かる作業を効率よく行うことができる。また、上記支援情報(操作指示メッセージ801及びスキャン範囲誘導矢印806)を原稿702及びその近傍に投影表示することで、ユーザが原稿から目線を外すことなく原稿を円滑に動かすことができる。このように、本実施形態によれば、スティッチングを行う際に、ユーザが原稿台に載置した原稿の移動に追従して、当該原稿の撮影部分を支援する支援情報を好適に投影し、無駄なスキャンを低減することができる。
<第2の実施形態>
以下では、本発明の第2の実施形態を説明する。上記第1の実施形態は、ユーザにスキャン開始時の原稿載置部分を指定し、また、ユーザがシステムの指示する通りに原稿をずらさないといけない制約がある。この手法は、ユーザが投影部の投影可能範囲よりもサイズが大きい大判原稿を移動させてスティッチングするための部分画像を取得するにあたり、有効な支援情報の投影方法である。
以下では、本発明の第2の実施形態を説明する。上記第1の実施形態は、ユーザにスキャン開始時の原稿載置部分を指定し、また、ユーザがシステムの指示する通りに原稿をずらさないといけない制約がある。この手法は、ユーザが投影部の投影可能範囲よりもサイズが大きい大判原稿を移動させてスティッチングするための部分画像を取得するにあたり、有効な支援情報の投影方法である。
ところで、投影部の投影可能範囲とサイズが同等、及び投影部の投影可能範囲よりもサイズが小さい原稿についても、即ち、投影可能範囲内のサイズの原稿領域を分割して撮影し、撮影した部分画像群をスティッチングして合成したい場合がある。例えば、原稿にOCR処理を施す場合、その精度を向上させるためにカメラ部202をズームして撮影することがある。その場合、大判原稿のように原稿の全領域が一度に撮影できないため、部分毎に撮影してスティッチング技術で合成することになる。上記投影部の投影可能範囲と原稿サイズが同等、及び投影部の投影可能範囲よりも原稿サイズが小さい場合でも上記第1の実施形態は有効であるが、上記第1の実施形態で生じる制約のない手法も提供できる。
具体的には、本実施形態では、既に記録済みの部分画像に対応する原稿の領域を投影部により識別可能に表示する。これにより、ユーザは、原稿の中で既に記録済みの領域を容易に認識することができ、他の領域をスキャン範囲に移動させることができる。なお、ユーザが原稿を移動させる動作に応じて、本システムは、上記記録済みの表示を原稿の移動に追従して移動させる。従って、ユーザは、原稿の移動中においても記録済みの領域を容易に認識することができる。
<大判原稿スキャン処理>
以下では、図11乃至図14を用いて、本実施形態に係るメイン制御部402が実行する大判原稿スキャン処理について説明する。図11は、本実施形態における大判原稿スキャンシステム101の利用シーンについて説明する図である。原稿をスキャンすることが望ましいユーザ1101は、まず、UI画面をジェスチャーによって操作して大判原稿スキャン処理を実行する。続いて、図11(a)に示すように、ユーザ1101は載置台204上に投影表示されたスキャン範囲を表すスキャン領域205に、図11(b)に示すような十分なコンテンツを含んでいる原稿1102の一部分を置き、スキャンを開始する。そして大判原稿スキャンシステム101の投影表示に従って、スキャン領域205を原稿1102の全領域が通り抜けるようにずらしていく。
以下では、図11乃至図14を用いて、本実施形態に係るメイン制御部402が実行する大判原稿スキャン処理について説明する。図11は、本実施形態における大判原稿スキャンシステム101の利用シーンについて説明する図である。原稿をスキャンすることが望ましいユーザ1101は、まず、UI画面をジェスチャーによって操作して大判原稿スキャン処理を実行する。続いて、図11(a)に示すように、ユーザ1101は載置台204上に投影表示されたスキャン範囲を表すスキャン領域205に、図11(b)に示すような十分なコンテンツを含んでいる原稿1102の一部分を置き、スキャンを開始する。そして大判原稿スキャンシステム101の投影表示に従って、スキャン領域205を原稿1102の全領域が通り抜けるようにずらしていく。
(ユースケース)
図12は、本実施形態におけるスキャンを実行する際のUI表示とユーザ1101の操作の様子の一例を示す。以下の説明において、UI画面はプロジェクタ207によって載置台204に投影されるものとして記述するが、LCDタッチパネル330や、その他の出力装置上に表示しても構わない。
図12は、本実施形態におけるスキャンを実行する際のUI表示とユーザ1101の操作の様子の一例を示す。以下の説明において、UI画面はプロジェクタ207によって載置台204に投影されるものとして記述するが、LCDタッチパネル330や、その他の出力装置上に表示しても構わない。
図12(a)に、大判原稿スキャン処理開始時のUI画面の一例を示す。UI画面には操作指示メッセージ1201、大判原稿スキャン機能の実行ボタン1202、大判原稿スキャン機能の終了ボタン1203が投影表示されている。図12(b)に示すように、ユーザ1101が実行ボタン1202を押下すると、図12(c)に示すような大判原稿スキャン画面に遷移する。大判原稿スキャン画面では、操作指示メッセージ1201を更新するとともに、原稿を載置するためのスキャン領域205を投影表示する。ここで、スキャン領域205は、カメラ部202をズームして撮影しているため、図8のスキャン領域205よりも小さくなっている。
ユーザ1101は、図12(d)に示すように操作指示メッセージ1201に従って、スキャン領域205に原稿1102を載置する。その後、ユーザはスキャンボタン1204を押下する。スキャンボタン1204が押下されると、システムはカメラ部202を駆動してカメラ画像取得部407がスキャン領域205の画像を取得し、原稿の部分画像としてRAM303に記録する。また、図12(e)に示すように、プロジェクタ207から原稿1102上の撮影した部分画像範囲に対して、スキャン済みであることを示す記録済み範囲画像1206を投影する。記録済み範囲画像1206は、例えば原稿1102の今撮影した範囲と同じ大きさで半透明の緑無地画像などである。なお、カメラ部202はこの後も駆動し続け、スキャン終了ボタン1205が押下されるまでカメラ画像取得部407が撮影フレームを更新して取得する。
原稿1102を載置した領域の部分画像がRAM303に記録された後、ユーザ1101は別の部分画像をスキャンするために原稿1102をずらして再載置する。その再載置中に、即ち、原稿1102の移動に追従して、システムは記録した部分画像と撮影フレームの特徴点を検出し、各画像間の対応関係及び領域の重複度を算出する。そして、図12(f)に示すように、システムは算出した対応関係により記録済み範囲画像1206の位置姿勢を撮影フレームに重なり合うように移動・回転し、記録済み範囲画像1206を原稿1102の移動に追従して投影表示する。また、算出した重複度により、操作指示メッセージ1201を、撮影フレームが記録した部分画像とスティッチングするのに良好なタイミング(ポジション)であるかどうかを表すメッセージに更新する。
ユーザ1101は、図12(g)に示すように、操作指示メッセージ1201に従ってスキャンボタン1204を押下して次の部分画像のスキャンを開始する。また、ユーザ1101は、記録済み範囲画像1206の投影に従ってまだ撮影していない原稿1102の領域を撮影するように原稿1102をずらしてもよい。
ユーザ1101がスキャンボタン1204を押下すると、システムはその時点での撮影フレームを新しい部分画像として取得し、RAM303に記録する。その後、その時点で記録した新しい部分画像とその1つ前に記録した部分画像間の対応関係、及び新しい部分画像と撮影フレーム間の対応関係に基づいて、記録済みの全部分画像の撮影範囲を再算出して記録済み範囲画像1206を再作成する。図12(h)に示すように、プロジェクタ207から原稿1102に対して再作成した記録済み範囲画像1206を投影表示する。
ここで、ユーザ1101が原稿1102を移動しすぎたことなどが要因で、撮影フレーム上に記録した部分画像とスティッチング可能な重複領域が存在しない場合がある。その場合、該当する撮影フレームを部分画像として撮影することを阻止するために、図12(i)に示すようにスキャンボタン1204を削除して無効化し、操作指示メッセージ1201を原稿1102の再載置を求める旨のメッセージに更新する。
ユーザ1101とシステムは、ユーザ1101がスキャン終了ボタン1205を押下するまで上記操作を繰り返し行う。ユーザ1101が図12(j)に示すようにスキャン終了ボタン1205を押下すると、システムはそれまでにRAM303に記録した部分画像群を用いてスティッチング処理を実行する。そして、図12(k)に示すように、スティッチング結果1207、終了ボタン1203、及びやり直しボタン1208を投影表示する。ユーザ1101は投影表示されたスティッチング結果1207を確認して、スキャンを終える場合は終了ボタン1203を押下し、スキャンをやり直す場合はやり直しボタン1208を押下する。終了ボタン1203が押下された場合、システムはスティッチング結果1207をHDD305に保存して大判原稿スキャン機能を終了する。やり直しボタン1208が押下された場合、スティッチング結果1207を破棄して図12(c)に示す画面に遷移し、ユーザ1101に再び上記手順を繰り返させる。
(処理手順)
図13は、本実施形態におけるメイン制御部402が実行する大判原稿スキャン処理フローの一例である。以下で説明する処理は、例えばコントローラ部201のCPU302がROM304やHDD305に格納された制御プログラムをRAM303に読み出して実行することにより実現される。
図13は、本実施形態におけるメイン制御部402が実行する大判原稿スキャン処理フローの一例である。以下で説明する処理は、例えばコントローラ部201のCPU302がROM304やHDD305に格納された制御プログラムをRAM303に読み出して実行することにより実現される。
まずS1301で、メイン制御部402は、図12(a)に示す大判原稿スキャン機能の実行開始画面を表示し、図12(b)に示すように実行ボタン1202が押下されるまで待つ。続いて、S1302で、メイン制御部402は、図12(c)に示すスキャン作業用画面を表示し、ユーザにより原稿1102が載置されてスキャンボタン1204が押下されるのを待つ。
次に、S1303で、メイン制御部402はカメラ部202を駆動し、S1302でスキャンボタン1204が押下された時点でカメラ画像取得部407が取得した撮影フレームを部分画像In(n番目:n=1、2、・・・、n)としてRAM303に記録する。ここで記録する画像は、大判原稿スキャン処理において初めて記録する画像であるため、n=1の部分画像I1となる。なお、カメラ部202はこの後も駆動し続け、スキャン終了ボタン1205が押下されるまでカメラ画像取得部407が撮影フレームを更新して取得する。
次に、S1304で、メイン制御部402は、カメラ画像取得部407が取得した更新された撮影フレームを、次の撮影フレームとしてRAM303に記録する。以降の処理で扱う撮影フレームは、ここで記録された撮影フレームをRAM303から取り出したものである。続いて、S1305で、メイン制御部402は、直前(n番目:n=1、2、・・・、n)にRAM303に記録した部分画像Inと撮影フレームの特徴点群を検出し、各特徴点群間で対応する点群を検出する。特徴点及び対応点検出方法としては、照明の変化や回転、拡大縮小に比較的強い耐性をもつ特徴量算出手法であるSIFTやORBなど、様々な方法が提案されているため、ここでの詳細説明は割愛する。
次に、S1306で、メイン制御部402は、記録した部分画像Inと合成する新しい部分画像を取得するための支援情報の投影表示処理を実行する。ここで、図14を参照して、本実施形態におけるメイン制御部402が実行する部分画像を記録するための支援情報の投影表示処理の処理手順を説明する。以下で説明する処理は、例えばコントローラ部201のCPU302がROM304やHDD305に格納された制御プログラムをRAM303に読み出して実行することにより実現される。
まず、S1361で、メイン制御部402は、部分画像Inと撮影フレームの重複度に応じて、直前にRAM303に記録した部分画像Inと撮影フレームがスティッチング可能か否かを判断する。重複度として、例えばS1305で検出した対応点群のマッチング率(部分画像Inの特徴点のうちどれだけ対応したか)に注目してもよい。マッチング率が閾値(例えば50%)より大きい(例えば、80%以上)場合、2つの画像には重複する領域が十分存在するためスティッチング可能と判断する。一方、閾値より小さい(例えば、20%以下)場合、2つの画像には重複する領域が十分存在しないためスティッチング不可能と判断する。
S1361でスティッチング不可能と判断した場合、S1362に進み、メイン制御部402は、操作指示メッセージ1201を、撮影フレームがスティッチング不可能であるため原稿1102の載置位置の変更を求める旨のメッセージに更新し、S1307に進む。
S1361でスティッチング可能と判断した場合、S1363に進む。ここで、各部分画像In間の重複領域はスティッチングを行う上で必要な分だけあればよく、その重複度が大きすぎると無駄であり、小さすぎるとスティッチングできない。そのため、重複度がスティッチングする上で過不足のない大きさである時の撮影フレームをスキャンすることが望ましい。そこで、S1363で、メイン制御部402は、部分画像Inと撮影フレームの重複度に応じて、撮影フレームがスティッチングするのに良好なタイミングであるかどうかを判断する。重複度として、例えばS1361と同様に、S1305で検出した対応点群のマッチング率に注目してもよい。マッチング率がある範囲内(例えば、30%以上50%以下)である場合、メイン制御部402は、2つの領域は過不足なく重複しているためスティッチングするのに良好なタイミングであると判断し、範囲外であれば良好なタイミングでないと判断する。
良好なタイミングでなければS1364に進み、メイン制御部402は、操作指示メッセージ1201を、撮影フレームが良好なタイミングでないため引き続き原稿1102の移動を求める旨のメッセージに更新し、S1366に進む。一方、良好なタイミングであればS1365に進み、メイン制御部402は、操作指示メッセージ1201を、撮影フレームが良好なタイミングであるためスキャンボタン1204を押下してスキャンするよう求める旨のメッセージに更新する。その後、S1366に進む。
S1366で、メイン制御部402は、S1305で検出した対応点群情報を用いて、直前にRAM303に記録した部分画像Inと撮影フレーム間のホモグラフィ変換行列Hnを算出し、RAM303に記録する。ここで、直前にRAM303に記録した部分画像Inの対応点群(XIn、YIn)を撮影フレームの対応点群(XF、YF)にホモグラフィ変換するホモグラフィ変換行列Hnは、(4)式で表される。
メイン制御部402は、上記(4)式をホモグラフィ変換行列Hnについて解くことで、ホモグラフィ変換行列Hnを取得する。
次に、S1367で、メイン制御部402は、直前にRAM303に記録したホモグラフィ変換行列Hnを直前にRAM303に記録した部分画像Inにかけ、直前にRAM303に記録した部分画像Inと撮影フレーム間のホモグラフィ変換結果を算出する。算出式は、(4)式の直前にRAM303に記録した部分画像Inの対応点群(XIn、YIn)を全画素(PxIn、PyIn)とし、撮影フレームの対応点群(XF、YF)をホモグラフィ変換として取得するようにして表される。これにより、直前にRAM303に記録した部分画像Inの位置姿勢が撮影フレームに重なり合うように移動・回転される。
S1368からS1369では、直前にRAM303に記録した部分画像Inよりも前に記録した部分画像の位置姿勢を撮影フレームに重なり合うように移動・回転する処理を実行する。S1368で、メイン制御部402は、記録した部分画像の枚数が2枚以上あるかないかを判断する。S1368で記録した部分画像の枚数が2枚以上であると判断した場合、S1369に進む。S1369で、メイン制御部402は、直前にRAM303に記録した部分画像Inと、さらにその直前(n−1番目)にRAM303に記録した部分画像In−1のホモグラフィ変換行列Hn−1をRAM303から取り出す。さらに、メイン制御部402は、取り出したホモグラフィ変換行列Hn−1を、S1367で算出したホモグラフィ変換結果にかける。そして、その結果を新しくホモグラフィ変換結果とする。
変換行列Hn−1は、n−1番目にRAM303に記録した部分画像In−1の位置姿勢を、n番目にRAM303に記録した部分画像Inに重なり合うように移動・回転する行列である。一方、S1367で算出したホモグラフィ変換結果は、n番目にRAM303に記録した部分画像Inの位置姿勢が、撮影フレームに重なり合うように移動・回転される行列である。S1367で算出したホモグラフィ変換結果にホモグラフィ変換行列Hn−1をかけるということは、部分画像In−1の位置姿勢を、撮影フレームに重なり合うように移動・回転した部分画像Inに重なり合うように移動・回転するということである。つまり、撮影フレームに映る原稿1102の位置姿勢に合うように部分画像In−1の位置姿勢を移動・回転するということである。上記処理を、直前にRAM303に記録されている部分画像の枚数だけ繰り返した後、S13610に進む。これにより、RAM303に記録した全ての部分画像の位置姿勢が、撮影フレームの位置姿勢に合うように移動・回転される。
S1368で記録した部分画像の枚数が2枚未満であると判断した場合S13610に進む。S13610で、メイン制御部402は、S1367又はS1369のホモグラフィ変換結果と同じ大きさ・位置姿勢をなす記録済み範囲画像1206を作成し、プロジェクタ座標系に変換して載置台204上の原稿1102に投影表示し、S1307に進む。記録済み範囲画像1206は、上述したとおり、例えば半透明の緑無地画像である。
図13の説明に戻る。図14に示す表示処理を終了すると、S1307で、メイン制御部402は、新しい部分画像の記録処理を実行し、S1308に進む。ここで、新しい部分画像は、S1302及びS1303のようにユーザ1101がスキャンボタン1204を押下することによってRAM303に記録されてもよいし、S1305の対応点群の検出結果を用いてシステムが自動で記録してもよい。また、部分画像を記録することなくS1308に進んでもよい。
S1308で、メイン制御部402は、図12(b)に示すようなスキャン終了ボタン1205が押下されたかどうかを判断する。スキャン終了ボタン1205が押下されていなければ、S1304に処理を戻しS1308までの処理を繰り返し実行する。一方、スキャン終了ボタン1205が押下されればS1309に進み、メイン制御部402は、RAM303に記録した部分画像群を用いてスティッチング処理を実行する。
S1310で、メイン制御部402は、S1309のスティッチング結果1207を載置台204上に投影表示してユーザ1101にスティッチング結果1207を確認させる。このとき、終了ボタン1203、及びやり直しボタン1208も同時に投影表示し、ユーザ1101にどちらかのボタンを押下するのを促す。続いて、S1311で、メイン制御部402は、S1310で投影表示した終了ボタン1203、又はやり直しボタン1208が押下されたかどうかを判断する。終了ボタン1203が押下されたと判断した場合、メイン制御部402は、HDD305にスティッチング結果1207を記録して、大判原稿スキャン処理を終了する。一方、やり直しボタン1208が押下されたと判断した場合、メイン制御部402は、S1302に処理を戻し、S1311までの処理を繰り返し実行する。
以上説明したように、本実施形態によれば、支援情報として、既に記録済みの部分画像の原稿上の範囲を示す表示を原稿台に載置された原稿上に投影する。これにより、投影可能範囲とサイズが同等、及び投影手段の投影可能範囲よりもサイズが小さい原稿については、ユーザ1101がシステムの指示する通りに原稿をずらさないといけないという制約を受けることなく、スティッチングを効率良く行うことができる。なお、上記第1の実施形態で述べた投影可能範囲より原稿のサイズが大きい場合にも、部分的に本実施形態を実施することは可能である。つまり、投影可能範囲から外れてしまう部分は対象外であるが、投影可能範囲内にある原稿領域のみ本実施形態で述べた記録済みの範囲を示す支援情報を投影してもよい。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101:大判原稿スキャンシステム、204:載置台、402:メイン制御部、407:カメラ画像取得部、408:距離画像取得部、411:大判原稿スキャン部
Claims (19)
- 画像読取装置であって、
原稿を載置する載置台と、
前記載置台上に載置された原稿を撮影して2次元画像を取得する画像取得手段と、
前記画像取得手段によって取得した2次元画像を、撮影した原稿の一部の領域に対応する部分画像として記録する記録手段と、
前記記録手段に前回記録された部分画像の次に記録する部分画像を撮影するために、前記載置台上での原稿の移動をユーザに支援する支援情報を投影する投影手段と、
前記画像取得手段によって取得される現在の2次元画像に追従して、該現在の2次元画像と前記記録手段に前記前回記録された部分画像との画像の重複度を検出する検出手段と、
前記検出手段によって検出された重複度に応じて、前記投影手段による前記支援情報を更新しつつ、前記次に記録する部分画像を撮影するタイミングをユーザに報知する制御手段と
を備えることを特徴とする画像読取装置。 - 前記原稿は、前記投影手段による投影可能な範囲より大きいサイズであり、
前記投影された支援情報には、前記載置台上に載置された原稿の移動方向を示す表示が含まれることを特徴とする請求項1に記載の画像読取装置。 - 前記制御手段は、前記検出手段によって検出された重複度が所定の閾値より小さい場合、前記移動方向を示す表示に従って原稿を移動することを促す情報を、前記投影手段によって前記載置台に投影させることを特徴とする請求項2に記載の画像読取装置。
- 前記制御手段は、前記検出手段によって検出された重複度が所定の閾値より大きく、かつ、所定の閾値範囲に含まれない場合は、前記移動方向を示す表示に従って原稿を移動することを促す情報を、又は、前記移動方向とは異なる方向を示す表示及び該異なる方向に従って原稿を移動することを促す情報を、前記投影手段によって前記載置台に投影させることを特徴とする請求項2又は3に記載の画像読取装置。
- 前記原稿は、前記投影手段による投影可能な範囲内のサイズであり、
前記投影された支援情報には、前記記録手段に既に記録済みの部分画像の範囲を示す表示が含まれることを特徴とする請求項1に記載の画像読取装置。 - 前記制御手段は、前記検出手段によって検出された重複度が所定の閾値より小さい場合、又は、前記検出手段によって検出された重複度が前記所定の閾値より大きく、かつ、所定の閾値範囲に含まれない場合は、前記原稿を移動することを促す情報を、前記投影手段によって前記載置台に投影させることを特徴とする請求項5に記載の画像読取装置。
- 前記制御手段は、前記検出手段によって検出された重複度が所定の閾値より大きく、かつ、所定の閾値範囲に含まれる場合、前記次に記録する部分画像を撮影するタイミングであると判断することを特徴とする請求項1乃至6の何れか1項に記載の画像読取装置。
- 前記記録手段に記録された複数の部分画像が原稿の全ての領域を含むか否かを判定する判定手段と、
前記判定手段によって前記複数の部分画像が原稿の全ての領域を含むと判定されると、該複数の部分画像を合成する合成手段と、をさらに備え、
前記制御手段は、原稿の読取が完了したことを示すメッセージと、前記合成手段によって合成した画像とを前記投影手段によって前記載置台に投影させることを特徴とする請求項1乃至7の何れか1項に記載の画像読取装置。 - 物体との距離を検知する距離画像センサによって取得した距離情報と、前記載置台上を撮影して取得した2次元画像とから、各画素に距離情報が含まれる2次元画像である距離画像を取得する距離画像取得手段と、
前記距離画像取得手段によって取得された距離画像に基づいてユーザのジェスチャーを検知するジェスチャー検知手段と、をさらに備え、
前記投影手段はユーザ入力を受け付けるための選択表示を前記載置台に投影し、
前記制御手段は、前記ジェスチャー検知手段によって検知されたユーザのジェスチャーと、前記投影された選択表示とから、ユーザ入力を受け付けることを特徴とする請求項8に記載の画像読取装置。 - 前記制御手段は、
前記合成手段によって合成された画像と、原稿の読み取りを完了するか又は原稿の読み取りをやり直すかをユーザに選択させる前記選択表示とを、前記投影手段によって前記載置台に投影させることを特徴とする請求項9に記載の画像読取装置。 - 前記制御手段は、
前記画像取得手段によって取得した2次元画像を前記記録手段に記録することをユーザに選択させる選択表示を、前記投影手段によって前記載置台に投影させ、前記ユーザによって該選択表示が選択されると、前記記録手段に前記2次元画像を記録させることを特徴とする請求項9又は10に記載の画像読取装置。 - 前記制御手段は、前記次に記録する部分画像を撮影するタイミングになったと判断すると、前記原稿の移動方向を示す表示を削除することを特徴とする請求項2に記載の画像読取装置。
- 前記移動方向を示す表示は、矢印であることを特徴とする請求項12に記載の画像読取装置。
- 前記制御手段は、原稿の部分画像を撮影する予め定められた順番に従って、次に記録する部分画像を撮影するために原稿を移動する移動方向を設定することを特徴とする請求項12又は13の何れか1項に記載の画像読取装置。
- 前記投影された支援情報には、前記画像取得手段によって取得される画像の範囲を示す表示が含まれることを特徴とする請求項1乃至14の何れか1項に記載の画像読取装置。
- 前記投影された支援情報には、ユーザの動作を促すメッセージの表示が含まれることを特徴とする請求項1乃至15の何れか1項に記載の画像読取装置。
- 前記判定手段は、前記複数の部分画像に読み取った原稿の4つの隅が含まれる場合に、該複数の部分画像が原稿の全ての領域を含むと判定することを特徴とする請求項8に記載の画像読取装置。
- 原稿を載置する載置台を備える画像読取装置の制御方法であって、
画像取得手段が、前記載置台上に載置された原稿を撮影して2次元画像を取得する画像取得工程と、
記録手段が、前記画像取得工程で取得した2次元画像を、撮影した原稿の一部の領域に対応する部分画像として記録する記録工程と、
投影手段が、前記記録工程で前回記録された部分画像の次に記録する部分画像を撮影するために、前記載置台上での原稿の移動をユーザに支援する支援情報を投影する投影工程と、
検出手段が、前記画像取得工程で取得される現在の2次元画像に追従して、該現在の2次元画像と前記記録工程で前記前回記録された部分画像との画像の重複度を検出する検出工程と、
制御手段が、前記検出工程で検出された重複度に応じて、前記投影手段による前記支援情報を更新しつつ、前記次に記録する部分画像を撮影するタイミングをユーザに報知する制御工程と
を含むことを特徴とする画像読取装置の制御方法。 - 原稿を載置する載置台を備える画像読取装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
画像取得手段が、前記載置台上に載置された原稿を撮影して2次元画像を取得する画像取得工程と、
記録手段が、前記画像取得工程で取得した2次元画像を、撮影した原稿の一部の領域に対応する部分画像として記録する記録工程と、
投影手段が、前記記録工程で前回記録された部分画像の次に記録する部分画像を撮影するために、前記載置台上での原稿の移動をユーザに支援する支援情報を投影する投影工程と、
検出手段が、前記画像取得工程で取得される現在の2次元画像に追従して、該現在の2次元画像と前記記録工程で前記前回記録された部分画像との画像の重複度を検出する検出工程と、
制御手段が、前記検出工程で検出された重複度に応じて、前記投影手段による前記支援情報を更新しつつ、前記次に記録する部分画像を撮影するタイミングをユーザに報知する制御工程と
を含むことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018031190A JP2019146126A (ja) | 2018-02-23 | 2018-02-23 | 画像読取装置、その制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018031190A JP2019146126A (ja) | 2018-02-23 | 2018-02-23 | 画像読取装置、その制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019146126A true JP2019146126A (ja) | 2019-08-29 |
Family
ID=67772841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018031190A Pending JP2019146126A (ja) | 2018-02-23 | 2018-02-23 | 画像読取装置、その制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019146126A (ja) |
-
2018
- 2018-02-23 JP JP2018031190A patent/JP2019146126A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107026973B (zh) | 图像处理装置、图像处理方法与摄影辅助器材 | |
JP6327931B2 (ja) | 画像処理装置、情報処理方法及びプログラム | |
US9992410B2 (en) | Apparatus and method photographing image | |
JP4010754B2 (ja) | 画像処理装置と画像処理方法及びコンピュータ読み取り可能な記録媒体 | |
JP6381361B2 (ja) | データ処理装置、データ処理システム、データ処理装置の制御方法、並びにプログラム | |
JP2003015218A (ja) | 投影型表示装置 | |
JP2016038820A (ja) | 画像処理装置および制御プログラム | |
JP6289254B2 (ja) | 画像処理装置、情報処理方法及びプログラム | |
JP2018112894A (ja) | システムおよび制御方法 | |
JP2015170907A (ja) | スキャナシステム、スキャナシステムのデータ処理方法、及びプログラム | |
CN114007053A (zh) | 图像生成方法、图像生成系统和记录介质 | |
JP2015212892A (ja) | 画像処理装置、情報処理方法及びプログラム | |
JP2015198406A (ja) | 画像読取装置、方法およびプログラム | |
JP2019146126A (ja) | 画像読取装置、その制御方法、及びプログラム | |
JP2019016843A (ja) | 原稿読取装置、原稿読取装置の制御方法、及びプログラム | |
JP2018107642A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP6478641B2 (ja) | 画像処理装置、情報処理方法及びプログラム | |
JP6624861B2 (ja) | 画像処理装置、制御方法およびプログラム | |
JP2009200612A (ja) | 画像作成システムおよび画像作成方法 | |
JP6614500B2 (ja) | 画像読取装置、携帯端末、画像読取方法及び画像読取プログラム | |
JP2018191094A (ja) | 原稿読取装置、原稿読取装置の制御方法、及びプログラム | |
JP2017041668A (ja) | 画像入力装置、画像入力システム、画像入力装置の制御方法、及びプログラム | |
JP6203070B2 (ja) | スキャンシステムおよびその制御方法、並びにプログラム | |
JP2019146127A (ja) | 画像読取装置、その制御方法、及びプログラム | |
JP2018173907A (ja) | 情報処理装置、および情報処理装置の制御方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |