JP2018207342A - 画像読取装置、その制御方法、並びにプログラム - Google Patents

画像読取装置、その制御方法、並びにプログラム Download PDF

Info

Publication number
JP2018207342A
JP2018207342A JP2017111841A JP2017111841A JP2018207342A JP 2018207342 A JP2018207342 A JP 2018207342A JP 2017111841 A JP2017111841 A JP 2017111841A JP 2017111841 A JP2017111841 A JP 2017111841A JP 2018207342 A JP2018207342 A JP 2018207342A
Authority
JP
Japan
Prior art keywords
document
floating
unit
user
image
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
Application number
JP2017111841A
Other languages
English (en)
Inventor
章宜 大井
Akiyoshi Oi
章宜 大井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017111841A priority Critical patent/JP2018207342A/ja
Publication of JP2018207342A publication Critical patent/JP2018207342A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Transforming Electric Information Into Light Information (AREA)
  • Facsimile Scanning Arrangements (AREA)
  • Studio Devices (AREA)

Abstract

【課題】ユーザが原稿の浮きに対して適切な押さえ方を容易に把握することできる画像読取装置、その制御方法、並びにプログラムを提供する。【解決手段】カメラスキャナ100は、書画台204の読み取り領域205に載置される原稿206の撮像画像を生成するカメラ部と、書画台204の方向に向けられる赤外線パターン投射部361及び赤外線カメラ362を用いて原稿206の距離画像を取得する距離画像センサ部208とを備える。取得した距離画像を用いて検出された原稿206の浮き領域の浮きの種類が浮き領域の重心の原稿206における位置に応じて特定され、特定された浮きの種類に応じたユーザの手による前記原稿の押さえ方がガイド表示される。【選択図】 図7

Description

本発明は、画像読取装置、その制御方法、並びにプログラムに関し、特に、カメラスキャナで原稿を読み取る画像読取装置、その制御方法、並びにプログラムに関する。
従来、載置台に載せられたA4用紙のような一枚の紙(以降、原稿と表現する)や書籍等を下向きに置いてそれらの画像のスキャンを行うフラットベット型スキャナが知られている。フラットベット型スキャナで書籍の見開きページをスキャンする際、書籍の綴じ部付近が載置台から浮き上がる場合がある。この場合、スキャンにより得られた画像データは、綴じ部付近の画像が暗くなったり、歪んだり、ぼけたりし、品質が十分でなくなる。これを防ぐため、ユーザは原稿カバーの上から載置台に対して書籍を押さえ付けてスキャンするか、書籍を載置台に対して直接手で押さえ付けながらスキャンすることが考えられる。
特許文献1では、上述のように書籍の綴じ部付近が載置台から浮き上がった状態でスキャンが行われた場合、得られたスキャンデータに基づいて、書籍の載置台から浮いた部分(以下「浮き部分」という)の位置が判断され、その位置がユーザに通知される。これにより、ユーザが書籍の浮き部分の位置を知り、書籍の適切な押さえ方を容易に把握することができる。
特開2012−160896号公報
しかしながら、特許文献1では、スタンド型スキャナ(カメラスキャナ)のように、書画台に原稿を上向きに置き、書画台上方に配置されたカメラにより撮像し、原稿をスキャンする場合は考慮されていない。
例えば、スタンド型スキャナで原稿を読み取る際、フラットベット型スキャナと異なり、原稿を原稿カバーで押さえることはできないため、原稿の辺や角が載置台から浮き上がることがある。このような浮き部分の位置は特許文献1の技術では判断することができない。
さらには、スタンド型スキャナを用いた場合のスキャンは、フラットベット型スキャナを用いた場合と異なり、ユーザの影や照明などに影響を受けやすいため、エッジベースの四辺検出手法を用いることによって原稿や書籍のページ領域のみが切り出される。このように、スキャン時、エッジベースの四辺検出手法で原稿の四辺を切り出す際、原稿のみを過不足なく抽出するためには、ユーザは原稿のエッジがなるべく手や指で隠れないように押さえる必要がある。一方、特許文献1は、フラットベット型スキャナを用いた場合のスキャンに関する技術であり、このような四辺検出手法を考慮した原稿の浮きに対する適切な押さえ方をユーザに提供することはできない。
このような課題を鑑みて本発明は、ユーザが原稿の浮きに対して適切な押さえ方を容易に把握することできる画像読取装置、その制御方法、並びにプログラムを提供することを目的とする。
本発明の請求項1に係る画像読取装置は、載置部の読み取り領域に載置される原稿の撮像画像を生成する撮像部を有する画像読取装置において、前記載置部の方向に向けられる赤外線投射部及び赤外線読取部を用いて前記載置される原稿の距離画像を取得する第1の取得手段と、前記取得した距離画像を用いて前記原稿の浮き領域を検出する第1の検出手段と、前記検出された浮き領域の浮きの種類を前記浮き領域の重心の前記原稿における位置に応じて特定する特定手段と、前記特定された浮きの種類に応じたユーザの手による前記原稿の押さえ方をガイド表示する表示手段とを備えることを特徴とする。
本発明によれば、ユーザが原稿の浮きに対して適切な押さえ方を容易に把握することできる。
実施例1に係る画像読取装置としてのカメラスキャナの構成を概略的に示す図である。 カメラスキャナのコントローラ部のハードウェア構成を示す図である。 カメラスキャナの制御用プログラムの機能構成を示す図である。 図3の制御用プログラムの各機能が行う処理の流れを示す図である。 図3の制御用プログラムの機能の1つであるメイン制御部が実行するスキャン処理の手順を示すフローチャートである。 図3の制御用プログラムの機能の1つであるユーザインターフェイス部を介してプロジェクタにより投射される画面を示す図である。 実施例1におけるガイド表示処理の手順を示すフローチャートである。 浮き領域を検出する処理を説明するための図である。 浮きの種類を特定する処理を説明するための図である。 図1におけるプロジェクタにより投射される、書画台上に角が浮いた原稿を置いた場合の原稿の押さえ方を表示する画像を示す図である。 実施例2におけるガイド表示処理の手順を示すフローチャートである。 実施例2における、複数の浮き領域が検出された場合に、検出された各浮き領域に対して優先度を付与する方法を説明するための図である。 カメラスキャナとユーザの位置関係を説明するための図である。 実施例3におけるガイド表示処理の手順を示すフローチャートである。 実施例1における角が浮いた原稿の押さえ方の表示例を示す図である。 図15の続きである。 実施例1における辺が浮いた原稿の押さえ方の表示例を示す図である。 実施例1における中央が浮いた原稿の押さえ方の表示例を示す図である。 図5のステップS543のスキャン開始判定処理の手順を示すフローチャートである。 実施例3における辺が浮いた原稿の押さえ方の表示例を示す図である。 図20の続きである。 実施例3における中央が浮いた原稿の押さえ方の表示例を示す図である。 実施例3における中央が浮いた原稿の押さえ方の表示例を示す図である。
以下、本発明を実施するための最良の形態について図面を参照して説明する。
(実施例1)
図1は、本実施例に係る画像読取装置としてのカメラスキャナ100の構成例を示す図である。
図1(a)に示すように、カメラスキャナ100は、コントローラ部201、カメラ部(撮像部)202、腕部203、短焦点プロジェクタ(以下、単に「プロジェクタ」という)207、距離画像センサ部(第1の取得手段)208を含む。カメラスキャナ100の本体であるコントローラ部201、撮像画像を生成するカメラ部202、画像を投射するプロジェクタ207、及び撮像して距離画像を生成する距離画像センサ部208は、腕部203により連結されている。腕部203は関節を用いて曲げ伸ばしが可能である。
図1(a)には、カメラスキャナ100の前方(図1(a)手前)に設置されている書画台(載置部)204も示している。カメラ部202及び距離画像センサ部208のレンズは書画台204方向に向けられており、書画台204にある破線で囲まれた読み取り領域205内の画像を読み取り可能である。図1(a)では、原稿206は読み取り領域205内に載置されているので、カメラスキャナ100はその画像を読み取り可能である。また、書画台204内にはターンテーブル209が設けられている。ターンテーブル209はコントローラ部201からの指示によって回転することが可能であり、ターンテーブル209上に載置される原稿等の物体は、カメラ部202に対する向きを変えることができる。
カメラ部202は単一解像度で読み取り領域205内の画像を撮像するものとしてもよいが、高解像度画像の撮像と低解像度画像の撮像が可能なものとすることが好ましい。
なお、図1に示されていないが、後述する図2に示すように、カメラスキャナ100は、LCDタッチパネル330及びスピーカ340をさらに含むこともできる。
図1(b)は、カメラスキャナ100における座標系について表している。カメラスキャナ100では、カメラ部202、距離画像センサ部208、及びプロジェクタ207のそれぞれに対して、カメラ座標系、距離画像座標系、及びプロジェクタ座標系という座標系が定義される。これらはカメラ部202及び距離画像センサ部208のRGBカメラ363が撮像する画像平面、あるいはプロジェクタ207が投射する画像平面をXY平面とし、画像平面に直交した方向をZ方向として定義したものである。さらに、これらの独立した座標系の3次元データを統一的に扱えるようにするために、書画台204を含む平面をXY平面とし、このXY平面から上方に垂直な向きをZ軸とする直交座標系を定義する。
座標系を変換する場合の例として、図1(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は、カメラ部202の内部パラメータと呼ばれ、焦点距離と画像中心などで表現される3×3の行列である。
以上のように、(1)式と(3)式を用いることで、直交座標系で表された3次元点群を、カメラ座標系での3次元点群座標やカメラ画像平面に変換することが出来る。なお、カメラ部202、距離画像センサ部208、及びプロジェクタ207のそれぞれの内部パラメータ及び直交座標系に対する位置姿勢(外部パラメータ)は、公知のキャリブレーション手法によりあらかじめキャリブレーションされているものとする。以後、特に断りがなく3次元点群と表記した場合は、直交座標系における3次元データを表しているものとする。
図2は、カメラスキャナ100のコントローラ部201及び距離画像センサ部208のハードウェア構成を示す図である。
図2に示すように、コントローラ部201は、システムバス301に接続されたCPU302、RAM303、ROM304、ハードディスクドライブ(以下、「HDD」という)305、ネットワークI/F306を備える。さらに、コントローラ部201には、画像処理プロセッサ307、カメラI/F308、ディスプレイコントローラ309、シリアルI/F310、オーディオコントローラ311、及びUSBコントローラ312が含まれる。
CPU302はコントローラ部201全体の動作を制御する中央演算装置である。RAM303は揮発性メモリである。ROM304は不揮発性メモリであり、CPU302の起動用プログラムが格納されている。HDD305はRAM303と比較して大容量なメモリである。HDD305にはコントローラ部201の実行する、カメラスキャナ100の制御用プログラムが格納されている。
CPU302は電源ON等の起動時、ROM304に格納されている起動用プログラムを実行する。この起動用プログラムは、HDD305に格納されている制御用プログラムを読み出し、RAM303上に展開するためのものである。CPU302は起動用プログラムを実行すると、続けてRAM303上に展開した制御用プログラムを実行し、コントローラ部201全体の動作の制御を行う。また、CPU302は制御用プログラムを実行する際に用いるデータもRAM303上に格納して読み書きを行う。HDD305上にはさらに、制御用プログラムを実行する際に必要な各種設定や、また、カメラ部202で生成された撮像画像を格納することができ、CPU302によって読み書きされる。
画像処理プロセッサ307はHDD305上に格納された撮像画像を読み出して処理し、またHDD305上へ書き戻す。なお、画像処理プロセッサ307が実行する画像処理は、回転、変倍、色変換等である。
カメラI/F308はカメラ部202及び距離画像センサ部208と接続され、CPU302からの指示に応じてカメラ部202から撮像画像を、距離画像センサ部208から距離画像を取得してRAM303へ書き込む。また、CPU302からの制御コマンドをカメラ部202及び距離画像センサ部208へ送信し、カメラ部202及び距離画像センサ部208の設定を行う。
コントローラ部201は、ディスプレイコントローラ309、シリアルI/F310、オーディオコントローラ311、及びUSBコントローラ312をさらに備える。
ディスプレイコントローラ309はCPU302の指示に応じてディスプレイ(表示手段)への画像表示を制御する。本実施例では、ディスプレイコントローラ309はプロジェクタ207及びLCDタッチパネル330に接続されているため、制御されるディスプレイは、プロジェクタ207による投射面やLCDタッチパネル330の画面となる。尚、本実施例は、ディスプレイが少なくとも一つあればよいため、カメラスキャナ100にLCDタッチパネル330は接続されない構成であってもよく、その場合はディスプレイコントローラ309はプロジェクタ207のみと接続される。
シリアルI/F310はシリアル信号の入出力を行う。ここでは、シリアルI/F310はターンテーブル209に接続され、CPU302の回転開始・終了及び回転角度の指示をターンテーブル209へ送信する。また、シリアルI/F310はLCDタッチパネル330に接続され、CPU302はLCDタッチパネル330が押下されたときに、シリアルI/F310を介して押下された座標を取得する。尚、ターンテーブル209は手動で回転させることもできる。
オーディオコントローラ311はスピーカ340に接続され、CPU302の指示に応じて音声データをアナログ音声信号に変換し、スピーカ340を通じて音声を出力する。尚、本実施例は、カメラスキャナ100にスピーカ340は接続されない構成であってもよく、その場合はオーディオコントローラ311をコントローラ部201に設けなくてもよい。
USBコントローラ312はCPU302の指示に応じて外付けのUSBデバイスの制御を行う。ここでは、USBコントローラ312はUSBメモリやSDカードなどの外部メモリ350に接続され、外部メモリ350へのデータの読み書きを行う。
距離画像センサ部208は、書画台204の方向に向けられる赤外線パターン投射部(赤外線投射部)361、赤外線カメラ(赤外線読取部)362、及びRGBカメラ363を備える。
赤外線パターン投射部361は、書画台204又は書画台204に載置される原稿等の対象物に対し赤外線パターンを投射する。赤外線カメラ362は書画台204又は対象物上で反射した赤外線パターンを撮像することにより書画台204又は対象物の距離画像を生成し、カメラI/F308を介して距離画像取得部408に出力する。
RGBカメラ363は、後述する図14のステップS1400においてカメラスキャナ100に対するユーザの位置を取得すべく、書画台204及びその近傍を撮像する人物検出用のカメラである。
図3は、カメラスキャナ100の制御用プログラムの機能構成401を示す図である。また、図4は、図3の制御用プログラムの各機能が行う処理の流れを示す図である。カメラスキャナ100の制御用プログラムは前述のようにHDD305に格納され、CPU302が起動時にRAM303上に展開して実行する。
画像取得部416は画像入力処理を行うモジュールであり、カメラ画像取得部407、距離画像取得部408から構成される。カメラ画像取得部407はカメラI/F308を介してカメラ部202が出力する撮像画像を取得し、RAM303へ格納する。距離画像取得部408はカメラI/F308を介して距離画像センサ部208が出力する距離画像を取得し、RAM303へ格納する。
認識処理部417はカメラ画像取得部407が取得する撮像画像及び距離画像取得部408が取得する距離画像から書画台204上の物体の動きを検知して認識するモジュールであり、ジェスチャ認識部409、物体検知部410から構成される。ジェスチャ認識部409は、画像取得部416から書画台204上の画像を取得し続け、タッチなどのジェスチャを検知するとメイン制御部402へ通知する。物体検知部410は、メイン制御部402から図4に示す物体載置待ち処理あるいは物体除去待ち処理の通知を受けると起動し、画像取得部416からカメラ部202による書画台204の撮像画像を取得する。取得した撮像画像から、書画台204上に物体が置かれて静止する(載置された)ことを検知した場合、その旨を通知する物体載置通知をメイン制御部402に行う。また、取得した撮像画像から、書画台204から物体が取り除かれた(除去された)ことを検知した場合、その旨を通知する物体除去通知をメイン制御部402に行う。尚、物体載置待ち処理、及び物体除去待ち処理については図5において詳述する。
スキャン処理部418は実際に対象物のスキャンを行うモジュールであり、平面原稿画像撮影部411、書籍画像撮影部412、立体形状測定部413、浮き領域検出部(第1の検出手段・特定手段)419、コンテンツ有無判定部420から構成される。
平面原稿画像撮影部411は平面原稿、書籍画像撮影部412は書籍、立体形状測定部413は立体物に、それぞれ適した処理を実行し、それぞれに応じた形式のスキャンデータを出力する。
浮き領域検出部419は、スキャン時における原稿の書画台204からの浮きの種類を特定し、浮きの種類に合わせたガイド表示方法を判定する。コンテンツ有無判定部420は指定された撮像画像における指定された領域にコンテンツが存在するか否かの判定を行う。コンテンツ有無判定は、以下のように行う。まず、指定された撮像画像の指定された領域以外の領域をマスクする。続いてキャニー法によるエッジ検出を行う。続いてエッジとして検出された画素数の、指定された領域の画素数に対する割合を調べ、それが所定値より大きい場合、コンテンツが存在すると判定し、所定値より小さい場合コンテンツが存在しないと判定する。
なお、コンテンツの対象を文字のみと限定してもよい、その場合、公知の属性判定技術を適用し、指定された領域に文字が含まれればコンテンツが存在すると判定する。もし、指定された領域に文字が含まれず、絵・図形等のみが含まれる場合はコンテンツが存在しないと判断する。このように、コンテンツの対象を文字のみに絞ることにより、視認性の低下を容認しつつ、OCRの精度低下を防ぐことができる。
ユーザインターフェイス部403は、GUI部品生成表示部414と投射領域検出部415から構成される。GUI部品生成表示部414は、メイン制御部402からの要求を受け、メッセージやボタン等のGUI部品を生成する。そして、表示部406へ生成したGUI部品の表示を要求する。なお、書画台204上のGUI部品の表示場所は、投射領域検出部415により検出される。
表示部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上の所定の領域へ保存し、管理する。例えば平面原稿画像撮影部411、書籍画像撮影部412、立体形状測定部413が生成したスキャンデータなどである。
距離画像取得部408、ジェスチャ認識部409、物体検知部410、平面原稿画像撮影部411、書籍画像撮影部412、及び立体形状測定部413における処理は従来技術である。例えば“特開2015−212892”に記載される処理が行なわれる。このため詳細な処理については省略する。
次に、図5のフローチャートを用いてメイン制御部402が実行するスキャン処理について説明する。
図5において、まず、メイン制御部402は書画台204にスキャンの対象物が載置されるのを待つ物体載置待ち処理を行う(ステップS501)。
この対象物載置待ち処理は具体的には、まず、ステップS511において、ユーザインターフェイス部403を介して、書画台204にプロジェクタ207によって図6(a)の初期画面を投射する。図6(a)の初期画面では、書画台204上に対象物を置くことをユーザに促すメッセージ601を投射する。
次に、ステップS512で物体載置待ち処理の通知を行うことにより物体検知部410を起動し、ステップS513では、物体検知部410からの物体載置通知を待つ。物体検知部410が物体載置をメイン制御部402へ通知すると、ステップS513において物体載置通知ありと判断し、物体載置待ち処理を終了する。
ステップS501の物体載置待ち処理を終了すると、メイン制御部402は続いてステップS502のスキャン実行処理を行う。
このスキャン実行処理は具体的には、まず、ステップS531において、図6(b)に示すスキャン開始画面を、ユーザインターフェイス部403を介して書画台204に投射する。図6(b)において、対象物611がユーザによって載置されたスキャン対象物体である。2Dスキャンボタン612は平面原稿の撮影指示を受け付けるボタンである。ブックスキャンボタン613は書籍原稿の撮影指示を受け付けるボタンである。3Dスキャンボタン614は立体形状の測定指示を受け付けるボタンである。スキャン開始ボタン615は選択したスキャンの実行開始指示を受け付けるボタンである。
ユーザインターフェイス部403は、前述したようにジェスチャ認識部409から通知されるタッチジェスチャの座標とこれらのボタンを表示している座標から、図6(b)に示すいずれかのボタンがユーザによって押下されたことを検知する。以降、ユーザインターフェイス部403による検知の説明を省略して「ボタンへのタッチを検知する」と記載する。また、ユーザインターフェイス部403は、2Dスキャンボタン612、ブックスキャンボタン613、及び3Dスキャンボタン614のそれぞれを排他的に選択できるようにしている。ユーザのいずれかのボタンへのタッチを検知すると、タッチされたボタンを選択状態とし、他のボタンの選択を解除する。
次にステップS539では、ユーザに対する浮きの生じた原稿の押さえ方のガイド表示あり・なしを決定する。
このステップS539ではまず、ジェスチャ認識部409はユーザの手領域の状態を取得する。ここでの手領域の状態の取得は例えば“特開2015−212892”に記載される手の3次元点群及び指先の検出処理の結果を用いればよく、従来技術であるため詳細な処理については省略する。
次に、取得されたユーザの手領域の状態から、メイン制御部402は原稿が既にユーザの手によって押さえられている状態であるかを判定する。本実施例では、例えば取得した手の3次元点群や指先検出結果の3次元座標Z値が、書画台204から所定の閾値以内にある場合に、原稿がユーザの手によって押さえられている状態であると判定される。
原稿が既にユーザの手によって押さえられていると判定された場合、ユーザに押さえ方をガイド表示する必要がないために、ガイド表示なしと決定し、ステップS540に進む。一方、原稿はまだユーザの手によって押さえられていないと判定された場合、さらに、原稿に浮きが生じているかを判定する。本実施例では、例えば書画台204上の3次元点群の座標Z値が所定の閾値以内である場合に原稿に浮きが生じていると判定される。
上記判定の結果、原稿に浮きが生じていると判定された場合、ガイド表示ありと決定し、ステップS540に進む。原稿に浮きが無いと判定された場合には、ユーザに原稿を押さえさせる必要がないために、ガイド表示なしと決定して、ステップS540に進む。尚、予めユーザがガイド表示なしの設定を行っていた場合など、上記各種判定をせずともガイド表示なしと決定しえるような場合、ステップS539において上記各種判定を行うことなくガイド表示なしと決定してステップS540に進んでもよい。
次にステップS540ではガイド表示ありと決定されているかを判定する。この判定の結果、ガイド表示なしと決定されている場合にはガイド表示を行わずステップS543のスキャン開始判定処理に進む。一方、ステップS540でガイド表示ありと決定されている場合にはステップS541のガイド表示処理を実行する。尚、図6(b)の3Dスキャンボタン614が選択された場合など、物体の種類からガイド表示が不要であると予め判別可能な場合がある。この場合は、ステップS540でガイド表示ありと決定されている場合であっても、ステップS541のガイド表示処理を実行せずステップS543のスキャン開始判定処理に進んでも良い。
浮き領域検出部419が行うステップS541のガイド表示処理の詳細については図7のフローチャートと図8を用いて説明する。図8は浮き領域を検出する処理を説明するための図である。図8(a)は浮きのない原稿である。図8(b)は角が浮いている原稿である。図8(c)は辺が浮いている原稿である。図8(d)は中央が浮いている原稿である。
図7(a)のステップS700において、距離画像取得部408によって距離画像を取得する。例えば図8(a)から図8(d)の原稿800,801,802,803を書画台204にそれぞれ置いた場合、取得される距離画像はそれぞれ図8(e)から図8(h)の距離画像804,805,806,807となる。
続いてステップS701において、ステップS700で得た距離画像を用いて浮き領域を検出する。浮き領域の検出は以下のようにして行う。まず、ステップS700で得た距離画像と、事前に取得された書画台204に何も置かれていない状態の距離画像との差分画像を取得する。続いて差分画像において事前に決定した所定値を閾値とし、閾値以上の値を持つピクセルを特定し、ピクセルが連続している領域の外接矩形を検出する。検出された外接矩形を原稿における浮き領域とする。原稿の複数箇所に浮きがある場合、互いに隣接しない複数の外接矩形がそれぞれ浮き領域として検出される。
浮き領域の検出について、図8(f)の角が浮いた原稿の距離画像805から図8(i)の浮き領域808を検出するまでの具体例を、図9の浮きの種類を特定する処理を説明するための図を用いて説明する。
図9(a)は、図8(f)の角が浮いた原稿の距離画像805における座標系を示す図である。距離画像805はXY座標系で表され、画像サイズは640×480ピクセルである。図8(f)の距離画像805に対してステップS701を実行すると、図9(a)のような浮き領域808が検出される。浮き領域808の座標は、領域の左上の座標から幅w、高さhの矩形で検出される。具体的には領域の左上の座標が(500,400)、幅50、高さ50の矩形として検出される。以上のように、図8(f)の角が浮いた原稿の距離画像805から図8(i)の浮き領域808を検出する。
同様に、図8(g)、図8(h)の距離画像806,807において、ステップS701でそれぞれ浮き領域を検出すると、図8(j)、図8(k)の浮き領域809,810,811が検出され、それぞれ浮き領域の座標と幅高が算出される。図8(a)のように原稿に浮きがない場合、図8(e)に示す距離画像804から浮き領域は検出されない。また、図8(c)のように原稿に複数の浮きがある場合、図8(g)に示す距離画像から図8(j)のように複数の浮き領域809,810が検出される。
次に、図7(a)のフローチャートに戻り、ステップS702において、浮きの種類を特定していない浮き領域を一つ取得する。次にステップS703において、ステップS702で取得した浮き領域における浮きの種類を特定する浮きの種類特定処理を行なう。この浮きの種類特定処理の詳細については図7(b)を用いて説明する。
図7(b)では、まず、ステップS709において、浮き領域における重心位置を特定する。重心位置は、浮き領域内で特に浮いている箇所を特定するために用いる。浮き領域の各画素の座標を(x,y)、浮き領域における全画素数をMとすると、重心位置(X,Y)は以下の(4)式を用いて算出される。
重心位置によって浮き領域内で特に浮いている箇所を特定するため、重心位置を特定する際に用いる閾値は、ステップS701で用いた閾値よりも大きい閾値を用いるのが望ましい。
続いてステップS710において、浮き領域を複数の領域に分割する。例えば、浮き領域の幅高をそれぞれ3等分することによって、浮き領域を9つの領域に分割する。
次に、ステップS711において、重心が分割した領域の辺に含まれるか否か判定する。含まれる場合、ステップS715に進み、浮きの種類を辺として本処理を終了する。含まれない場合、ステップS712へ進む。
ステップS712において、重心が分割した領域の角に含まれるか否か判定する。含まれる場合、ステップS714に進み、浮きの種類を角として本処理を終了する。含まれない場合、ステップS713に進み、浮きの種類を中央として本処理を終了する。
この浮きの種類特定処理について、図8(i)の浮き領域808から浮きの種類を特定するまでの具体例を、図9(b)と図9(c)を用いて説明する。
図9(b)は、浮き領域808を示す図である。上述のステップS709の説明にある(4)式を用いることによって、重心位置が(x、y)=(548,448)と算出されている。その後、上述のステップS710で説明したように、浮き領域808が複数の領域に分割される。図9(c)では、浮き領域808を9つの領域に分割した例を示す。分割した領域はそれぞれ角、辺、中央に分類する。浮き領域808における重心位置は、分割した領域の内、右下の角の領域に含まれる。
続いてステップS711における重心が分割した領域の辺に含まれるか否かの判定が行われる。図9(c)の場合、重心は分割した領域の辺に含まれていないため、ステップS712に進み、重心が分割した領域の角に含まれるか否かの判定が行われる。図9(c)の場合、重心は分割した領域の角に含まれているため、ステップS714に進み、浮き領域808における浮きの種類は「角」と判定される。
以上のように、図8(i)の浮き領域808から浮きの種類が特定される。
同様に、図8(j),(k)の浮き領域809,810,811は、図9(d)と図9(e)のようにそれぞれ領域が分割され、浮き領域809,810における浮きの種類は「辺」となる。また、浮き領域811の浮きの種類は「中央」となる。
ステップS708では全ての浮き領域に対して種類を特定したかを判定する。全ての浮き領域に対して種類を特定していないのであれば、ステップS702に戻る。全ての浮き領域に対して特定した場合はステップS716に進む。
ステップS716では、ステップS703で特定した浮きの種類に従って、浮きの種類を修正する。例えば図8(l)の原稿812のように原稿中央部に折れが生じているような原稿であると、図8(m),(n)のように距離画像813と、複数の浮き領域814,815が得られる。ここで、浮き領域814,815であるが、ステップS703の浮き特定処理では中央が浮いた状態として判定される。しかしながら、図8(l)のような浮きが生じている原稿の場合、その中央部分が押さえられるのではなく、原稿の辺を引き延ばすように押さえられることが望ましい。そのために、ステップS716では、全ての浮き領域の浮きの種類の特定結果から、修正が必要な種類の組み合わせが存在しないかを確認し、浮きの種類について修正する処理を実行する。修正方法についてであるが、例えば浮き領域814,815のように浮きの種類が中央である領域が連続して生じているかなどを判定し、連続して生じている場合には辺の押さえ方として修正するなどしても良い。また、ここでの修正については種類についてだけでなく押さえる座標についても修正しても良い。当然浮きの種類の修正については上記に限定されるものでなく、複数の浮きの種類や座標に基づいて修正できれば良い。
ステップS717においてガイド表示されていない浮き領域を一つ取得し、ステップS704に進む。ステップS704において、ステップS707で取得した浮き領域における浮きの種類を判定する。浮きの種類が辺である場合、ステップS705に進む。浮きの種類が角である場合、ステップS706に進む。浮きの種類が中央である場合、ステップS707に進む。
ステップS705において、辺を指で押さえるために適切な押さえ方をプロジェクタ207によって書画台204に表示し、その後ステップS718に進む。ステップS706において、角を指で押さえるために適切な押さえ方をプロジェクタ207によって書画台204に表示し、その後ステップS718に進む。ステップS707において、中央を指で押さえるために適切な押さえ方をプロジェクタ207によって書画台204に表示し、その後ステップS718に進む。
以下、原稿の押さえ方の表示について、図10を用いて説明する。
図10は、プロジェクタ207により投射される、書画台204上に図8(b)の角が浮いた原稿801を置いた場合の原稿の押さえ方を表示する画像を示す図である。
書画台204は、XY座標系で左上を原点として幅640、高さ480とする。書画台204の幅や高さはこの値に限定せず、別の値を用いてもよい。押さえ方の表示例として、メッセージ1000やアイコン1001を表示する。メッセージ1000は、原稿801の角の辺りを隠さないよう促す文言を書画台204の上側に表示する。メッセージ1000の表示位置はこれに限定せず、例えば書画台204の下側や左側、右側等でもよい。またアイコン1001は、ユーザが実際の押さえ方をイメージしやすい指アイコンである。この指アイコンは、浮き領域の位置に応じて、右手を示す指アイコンと左手を示す指アイコンの一方に切替えて表示してもよい。例えば図10では、原稿801の右下の角が浮いているため、右手の指アイコンを表示する。
アイコン1001の表示位置は図10のように、ステップS709で求めた重心位置に、アイコン1001の表示範囲を示す点線の矩形の頂点が一致するように表示する。アイコン1001の表示位置はこれに限定せず、例えば重心位置から所定距離以上離れた位置に表示したり、浮き領域の近辺に表示したりしてもよい。また、アイコン1001が指アイコンの場合、その表示範囲を示す点線の矩形内における指アイコンの指先部分の座標を予め取得し、指先部分の座標と重心位置が一致するように表示してもよい。以上のように、本実施例では、書画台204に置かれた原稿801に対して押さえ方が表示される。
原稿の角や辺、中央がそれぞれ浮いた場合の表示のバリエーションについて、図15から図18を用いて説明する。図15、図16は角が浮いた原稿に対する押さえ方の表示の一覧を示す図である。図17は辺が浮いた原稿に対する押さえ方の表示の一覧を示す図である。図18は中央が浮いた原稿に対する押さえ方の表示の一覧を示す図である。
図15(a)から図15(d)は、原稿の角のうち1箇所だけが浮いている場合の表示例を示す図である。図15(a),(c)のように、浮き領域が左側にある場合は、左手を示す指アイコンをアイコン1001として表示し、図15(b)、(d)のように、浮き猟奇が右側にある場合は、右手を示す指アイコンをアイコン1001として表示するように切替える。また、重心位置に指アイコンで示す指先部分が一致するようにそれぞれアイコン1001を表示する。
図16(e)〜(j)は、原稿の角のうち2箇所が浮いている場合の表示例を示す図である。この場合浮き領域は複数検出されるため、浮き領域毎にそれぞれアイコン1001が、角が1箇所だけが浮いている場合と同様の処理で表示される。例えば、図16(g)のように、原稿の左上と左下の2箇所の角で浮き領域が検出された場合、左上の角に左手の指アイコンであるアイコン1001a、左下の角に右手の指アイコンであるアイコン1001bを表示する。また、図16(h)のように、原稿の右上と右下の2箇所の角で浮き領域が検出された場合、右上の角に右手の指アイコンであるアイコン1001b、右下の角に左手の指アイコンであるアイコン1001aを表示する。このように原稿に対する押さえ方を表示することで、ユーザの影が原稿にかかることを防止し、エッジベースの四辺検出手法で確実に原稿の四辺を切り出すことができる。
図17(a)〜(d)は、原稿の辺のうち1箇所だけが浮いている場合の表示例を示す図である。図17(a)〜(d)は、浮いている辺に含まれる2箇所の角も浮いている場合にプロジェクタ207で投射される画面であり、図16(e)〜(h)と同様のメッセージ1000及びアイコン1001a,1001bが表示される。また、指アイコンであるアイコン1001a,1001bのそれぞれの指先部分の表示位置は、点線で示す浮き領域の短辺の近傍とする。
図17(e),(f)は、原稿の辺のうち2箇所が浮いている場合の表示例を示す図である。図17(e)のように原稿の左右両側の辺が浮いている場合、浮いている辺のそれぞれの中央を押さえるよう促すメッセージ1000とアイコン1001a,1001bを表示する。図17(f)のように原稿の上下両側の辺が浮いている場合、ユーザの位置からは押さえづらいため、原稿を90度回転後、浮いている辺のそれぞれの中央を押さえるよう促すメッセージ1000を表示する。その際のアイコン1001a,1001bは、図17(f)に示すように、ターンテーブル209をユーザが回転させやすい位置である、浮き領域から所定以上離れた、書画台204の辺に近い位置にそれぞれ表示することが好ましい。
図18(a)〜(c)は、原稿の中央が浮いている場合の表示例を示す図である。図18(a)のように原稿の中央が縦長に浮いている場合、原稿を伸ばしながら辺の中央を押さえるよう促すメッセージ1000を表示する。また、図18(b)のように原稿を90度回転後、辺の中央を押さえるよう促すメッセージ1000を表示してもよい。図17(f)と同様、その際のアイコン1001a,1001bは、浮き領域から所定以上離れた、書画台204の辺に近い位置にそれぞれ表示する。図18(c)のように原稿の中央が横長に浮いている場合、辺の中央を押さえるよう促すメッセージ1000を表示する。指アイコンであるアイコン1001a,1001bのそれぞれの指先部分の表示位置は、点線で示す浮き領域の短辺の近傍とする。
図7に戻り、ステップS718では全ての浮き領域についてガイド表示をしたかを判定する。この判定の結果、全ての浮き領域についてガイド表示が終了していない場合、ステップS717に戻る。一方、全ての浮き領域についてガイド表示を終了した場合、ステップS541のガイド表示処理を終了する。
次に、図5のステップS543に進み、スキャン開始判定処理を実行する。このメイン制御部402が実行するスキャン開始判定処理の詳細を図19のフローチャートに示す。
まず、ステップS1900でユーザの手領域の状態を取得する。ユーザの手領域の状態の取得方法については、ステップS1701と同じであるために詳細な説明は省略する。
次にステップS1901でステップS539でガイド表示ありと決定されたかを判定する。ステップS539でガイド表示なしと決定されたと判定した場合には、ステップS1907〜S1910,S1906の、ユーザがスキャン開始ボタン615を押した場合にスキャンを開始する手動スキャン処理を実行する。ここで、図6(d)に示すようにユーザが両手617で原稿を押さえているような場合には、ユーザはスキャン開始ボタン615をタッチすることができない。そのために、ステップS1907からの処理ではユーザの手領域の状態に応じてスキャン開始ボタン615の表示位置を変更する。
具体的には、ステップS1907で、ステップS1900で取得したユーザの手領域の状態から原稿が両手で押さえられた状態であるかを判定する。例えば、ジェスチャ認識部409から通知される手領域の個数が二つ以上であり、且つそれぞれの手領域における指先検出結果の3次元座標Z値が書画台204から所定の閾値以内にある場合、原稿が両手で押さえられた状態であると判定する。ステップS1907で原稿が両手で押さえられていると判定した場合、ステップS1908に進み、ユーザの手領域の座標に従って、スキャン開始ボタン615の表示位置を変更する。表示位置の変更については、例えば図6(e)に示すように右手の手領域のうち、3次元座標X値が最も小さい位置618から、所定のオフセットをかけた位置をスキャン開始ボタン615の表示位置に変更すれば良い。ここで、表示位置の変更方法については上記に限定するものではなく、ユーザの手の位置に従ってユーザがスキャン開始ボタン615に対してタッチしやすい位置にスキャン開始ボタン615の表示位置を変更できれば良い。
一方、ステップS1907で、ユーザの両手で原稿が押さえられていない状態であると判定した場合には、ステップS1909に進み、図6(b)のように予め定めた座標にスキャン開始ボタン615を表示する。
次にステップS1910ではユーザがスキャン開始ボタン615へタッチしたかを検知する。ここで、スキャン開始ボタン615に対してのタッチが検知された場合、ステップS1906に進みスキャン開始と判定し、本処理を終了する。一方、ステップS1910でタッチが検出されなかった場合には、スキャン開始しないと判定し、そのまま本処理を終了する。
ステップS1901に戻って、ステップS539でガイド表示ありと決定されたと判定した場合には、ステップS1902に進み、自動スキャンを実行するか否か判定する。例えば、この判定は、自動スキャンを行うかを予めユーザに設定させておき、その設定結果を用いて行われる。ステップS1902で自動スキャンを行わないと判定した場合、ステップS1907からの上記手動スキャン処理を実行する。一方、自動スキャンを行うと判定した場合には、ステップS1904に進み、ステップS1900で取得されたユーザの手領域に基づき、ガイド(例えば、図15(a)のアイコン1001)に合わせてユーザの手が配置されたか否かを判定する。例えば、ステップS1900で得られたユーザの手領域とアイコン1001とのX、Y座標の差分値が閾値以内である場合、ガイドに合わせてユーザの手が配置されたと判定される。
ここでガイドに合わせてユーザの手が正しく配置された事を示すために、アイコン1001やメッセージ1000の表示変更を行ってもよい。例えば、正しく配置された場合に、図15(a)のアイコン1001の色を変更することなどが例として挙げられるが、ユーザが自分の手を正しく配置したか否かがわかるような表示変更であれば、かかる例に限定されない。
ステップS1904でガイドに合わせてユーザの手が配置されないと判定した場合は自動スキャンを開始せず、そのまま本処理を終了する。一方、ステップS1904でガイドに合わせてユーザの手が配置されたと判定した場合はステップS1905に進み、所定の秒数、ユーザの手が静止したままであるか否かを検知する。例えば、物体検知部410の物体裁置検知処理で記述した手段を用いてこの検知は行われる。尚、ステップS1905は、予め設定された時間以上ユーザの手が静止したままであるか否か検知できればよく、その時間は特に限定されるものではない。
ステップS1905で所定の秒数以上静止していると検知した場合は、ステップS1906に進み、スキャン開始と判定し、本処理を終了する。尚、このスキャン開始の判定がされた後、図6(b)に示すような、2Dスキャンボタン612、ブックスキャンボタン613、及び3Dスキャンボタン614のそれぞれが排他的に選択できる形で、プロジェクタ207により書画台204に表示される。
一方、ステップS1905で所定の秒数静止しなかったと検知した場合は、自動スキャンを開始せず、そのまま本処理を終了する。
ステップS544では、上記図19に示すステップS543のスキャン開始判定処理の結果から、スキャン開始と判定されなかった場合にはステップS540に戻る。一方、スキャン開始と判定された場合はステップS533に進む。
ステップS533で2Dスキャンボタン612が選択状態であればステップS534へ進んで平面原稿画像撮影部411がスキャンデータを出力して、スキャン実行処理を終了する。ステップS533で2Dスキャンボタン612が選択状態でなければステップS535へ進んでブックスキャンボタン613が選択状態かどうかを判定する。ステップS535でブックスキャンボタン613が選択状態であればステップS534へ進んで書籍画像撮影部412がスキャンデータを出力して、スキャン実行処理を終了する。ステップS535でブックスキャンボタン613が選択状態で無ければステップS537へ進んで3Dスキャンボタン614が選択状態かどうかを判定する。ステップS537で3Dスキャンボタン614が選択状態であればステップS538へ進んで立体形状測定部413がスキャンデータを出力して、スキャン実行処理を終了する。ステップS537で3Dスキャンボタン614が選択状態で無ければ2Dスキャンボタン612、ブックスキャンボタン613、及び3Dスキャンボタン614のいずれも選択状態でないということである。そこで、ステップS543へ戻り、いずれかのボタンが選択状態になってからスキャン開始ボタン615へのタッチを検知するのを待つ。
尚、本実施例では、ユーザが原稿を両手で押さえつつステップS1908で位置変更されたスキャン開始ボタン615を押下する場合や、図16(e)のようなガイド表示に従ってユーザが両手で原稿を押さえている状態で自動スキャンが行われる場合がある。このような場合、その後、2Dスキャンボタン612、ブックスキャンボタン613、及び3Dスキャンボタン614のいずれかをユーザが手で押下することにより選択することは困難である。よって、このような場合は、ステップS1908で変更されたスキャン開始ボタン615の位置に(不図示の)選択ボタンを表示すると共に、2Dスキャンボタン612、ブックスキャンボタン613、及び3Dスキャンボタン614を順次点滅させる。ユーザは選択したいボタンの点滅中に選択ボタンをタッチすることで、2Dスキャンボタン612、ブックスキャンボタン613、及び3Dスキャンボタン614のいずれかを選択状態とする。
ステップS502のスキャン実行処理を終了すると、メイン制御部402は続いてステップS503の物体除去待ち処理を行う。
この物体除去待ち処理は具体的には、まず、ステップS521において、図6(c)に示すスキャン終了画面を、ユーザインターフェイス部403を介して書画台204に投射する。図6(c)のスキャン終了画面では、スキャンした原稿を除去する旨をユーザに通知するメッセージ621と、メイン制御部402の処理終了指示を受け付ける終了ボタン622が表示される。
その後、ステップS522で物体除去待ち処理の通知を行うことにより物体検知部410を起動し、物体検知部410からの物体除去通知を受信するのを待つ。ステップS522で物体除去通知があると、本処理を終了する。
ステップS503の物体除去待ち処理を終了すると、ステップS504では、ステップS503の物体除去待ち処理の実行中に、終了ボタン622がタッチされていたかどうかを判定する。ステップS504で終了ボタン622がタッチされていたと判定した場合、メイン制御部402は、スキャン処理を終了する。一方、ステップS504で終了ボタン622がタッチされていないと判定した場合、ステップS501の物体載置待ち処理へ戻り、図6(a)の初期画面を表示して書画台204への物体載置を待つ。このようにすることで、ユーザが複数の原稿をスキャンしたい場合に、書画台204上の原稿を取り換えたことを検知することができ、複数の原稿のスキャンを連続して実行できる。
以上のように、本実施例によれば、浮き領域を特定し、特定した浮き領域に応じて異なる押さえ方をユーザに対して提示する。これによりユーザは原稿をスキャンする際、その原稿を浮き領域に応じて適切に押さえることが出来る。
なお、本実施例では、スキャンのモードとして、2Dスキャンボタン612、ブックスキャンボタン613、及び3Dスキャンボタン614の3種類の1つが選択される例を説明したが、すべて必要無い場合も考えられる。例えば、ユーザの設定等により平面原稿のスキャンと厚みのある書籍のスキャンの2種類を実行すれば良い場合である。このような場合、実行する2つのスキャンを選択できるように表示を行えばよい。具体的には、図6(b)において2Dスキャンボタン612、ブックスキャンボタン613、スキャン開始ボタン615のみを投射することにより、2種類のスキャンを選択するユーザの入力を受け付けることができる。また、スキャンのモードが1種類のみであればよい場合、例えば、ユーザの設定等により平面原稿のスキャンのみ、あるいは、書籍のスキャンのみを実行すれば良い場合も考えられる。その場合、図6(b)においてはスキャン開始ボタン615のみを投射し、ユーザのスキャン種類の選択を受け付けることなく、スキャン開始ボタン615へのタッチを検知したときにスキャンを実行すれば良い。また、このようにスキャンのモードが1種類のみである場合、書画台204への物体の載置を検知したとき、図6(b)のようなスキャン操作画面を投射せず、すぐにスキャンを実行しても良い。
(実施例2)
本実施例では、原稿に対して所定数、例えば2か所より多くの浮き領域が検出され、ユーザの両手では押さえきれないような場合、浮き領域毎に優先度を決定し、優先度の高い浮き領域のみ押さえ方を表示する仕組みを提供する。
図11は、本実施例におけるガイド表示処理の手順を示すフローチャートである。本処理は、図7と同様、浮き領域検出部419により実行される。なお、図7と同じ処理を行なうステップについては同じステップ番号を付与し、詳細な説明は省略する。
ステップS1100において、まず、ステップS700で取得した距離画像に基づいてステップS701で検出された浮き領域が所定数より多いか否か判定する。所定数より多い場合、ステップS1101に進む。一方、所定数以下の場合、ステップS702に進む。本実施例においては、所定数は2として説明する。ステップS1101において、検出された浮き領域毎に優先度を付与する。優先度は、浮き領域内のコンテンツの有無や浮き領域内の浮きの大きさによって決定する。優先度を決定する際、コンテンツのある浮き領域がユーザの手で押さえられることなくそのまま撮像すると、コンテンツが歪んでしまうため、浮きの大きさよりもコンテンツの有無を優先する。浮き領域内のコンテンツの有無は、コンテンツ有無判定部420によっておこなう。また、浮き領域内の浮きの大きさは、事前に取得された書画台204に何も置かれていない状態の距離画像との差分画像における差分の最大値を用いる。続いてステップS1102において、優先度の高い浮き領域を所定数分だけ取得する。ステップS1102で取得した浮き領域にのみ浮きの種類が特定され、押さえ方が表示される。
図12(a)は、複数検出された浮き領域それぞれの特性を示す図である。また、図12(b)は、検出された浮き領域を示す図である。図12(b)における浮き領域1200、浮き領域1201、浮き領域1202は、図12(a)における浮き領域1、浮き領域2、浮き領域3とそれぞれ対応している。ステップS1101において、まずコンテンツの有無を比較し、コンテンツが含まれる浮き領域1を最も高い優先度を設定する。次に浮き領域2と浮き領域3を浮きの大きさで比較し、浮きの大きい浮き領域2を2番目に高い優先度を設定する。最後に残った浮き領域3を3番目に高い優先度を設定する。ステップS1102において、優先度の高い浮き領域1と浮き領域2が取得される。その後、ステップS703において、取得した浮き領域における浮きの種類を特定し、ステップS705からステップS707において、図12(c)のように優先度の高い浮き領域1200と浮き領域1201に対する押さえ方のみが表示される。
以上、実施例2によれば、浮き領域毎に優先度を付与し、優先度の高い浮き領域のみ押さえ方を提示する。これによりユーザは原稿をスキャンする際、複数の浮きのある原稿の中でも特に押さえた方が良い個所を押さえながらスキャンすることが出来る。
(実施例3)
実施例1において、ユーザがカメラスキャナ100で原稿をスキャンする場合、図13(a)のユーザ1300のように、ユーザはカメラスキャナ100に対して正面にいることを想定としていた。しかし、図13(b)のユーザ1300のように、ユーザはカメラスキャナ100に対して横にいる場合がある。この場合、ユーザ1300が原稿1301の辺が隠れないように一本の指で押さえたとしても、図13(b)のようにカメラスキャナ100と原稿1301の間にあるユーザの左手で撮像時に原稿が遮られる場合がある。この状態で、カメラ部202で書画台204の原稿1301を撮像すると、図13(c)のように、ユーザの左手により原稿の辺が大きく隠れる撮像画像1302が得られる。このようになる理由として、カメラ部202がユーザの視点とは異なる方向から原稿を撮像しているためである。
そこで、本実施例では、カメラスキャナ100と原稿の間に手や指が入らないよう、カメラスキャナ100に対するユーザの位置を検出し、ユーザの位置と浮きの種類に応じて浮き領域の押さえ方を表示する仕組みを提供する。
図14は、実施例3におけるガイド表示処理の手順を示すフローチャートである。本処理は、図7と同様、浮き領域検出部419により実行される。なお、図7と同じ処理を行なうステップについては同じステップ番号を付与し、詳細な説明は省略する。
ステップS1400において、カメラスキャナ100に対するユーザの位置を取得する。取得するユーザの位置として、図13(a)や図13(b)のように正面か横にいるかを取得する。ユーザの位置は以下のように判定する。まず、人物検出用のRGBカメラ363で撮像画像を取得する。続いて、撮像画像に対して公知の顔検出技術を適用する。検出された顔の位置が画像の中央の領域など、所定の領域に含まれている場合、ユーザの位置を正面と判定する。それ以外の領域であれば、ユーザの位置を横と判定する。
次に、ステップS700〜S717の処理を行ない、ステップS704において、浮きの種類が辺である場合、ステップS1401に進む。浮きの種類が角である場合、ステップS1402に進む。浮きの種類が中央である場合、ステップS1403に進む。
ステップS1401において、ユーザの位置に応じた辺の押さえ方をプロジェクタ207によって書画台204に表示する。ステップS1402において、ユーザの位置に応じた角の押さえ方をプロジェクタ207によって書画台204に表示する。ステップS1403において、ユーザの位置に応じた中央の押さえ方をプロジェクタ207によって書画台204に表示する。
表示する押さえ方の具体例として、ユーザが正面にいる場合は実施例1と同様の表示をするため説明は省略し、本実施例ではユーザが横にいる場合の具体例を説明する。
図20〜23は、本実施例のようにユーザが横にいる場合における、原稿の角、辺、中央それぞれの押さえ方の表示例を示す図である。表示例はすべてカメラスキャナ100から見て右側にユーザがいる場合、つまり図13(b)のようにユーザから見て左側にカメラスキャナ100がある場合であり、ユーザから見たときの書画台204における表示である。
図20(a)〜(d)は、原稿の角のうち1箇所だけが浮いている場合の表示例を示す図である。図20(a)のように原稿の左上の角が浮いている場合のみ、ユーザに対して正面に移動してから角を押さえるよう促すメッセージ1000を表示する。図20(a)のアイコン1001は、ユーザが移動した後の押さえ方を表示するため、図15(a)のアイコン1001と同様の表示となる。
図21(e)〜(j)は、原稿の角のうち2箇所が浮いている場合の表示例を示す図である。図21(f),(g),(j)のように2か所の浮いている角に左上の角が含まれる場合のみ、ユーザに対して正面に移動してから角を押さえるよう促すメッセージ1000を表示する。図21(f),(g),(j)のアイコン1001aは、ユーザが移動した後の押さえ方を表示するため、それぞれ図16(f),(g),(i)のアイコン1001aと同様の表示となる。
図22(a)〜(d)は、原稿の辺のうち1箇所だけが浮いている場合の表示例を示す図である。図22(a),(c)のように浮いている辺に左上の角が含まれる場合のみ、ユーザに対して正面に移動してから角を押さえるよう促すメッセージ1000を表示する。図22(a),(c)のアイコン1001aは、ユーザが移動した後の押さえ方を表示するため、それぞれ図17(a)、(c)のアイコン1001aと同様の表示となる。
図22(e),(f)は、原稿の辺のうち2箇所が浮いている場合の表示例を示す図である。図22(e)では、ユーザに対して正面に移動したのち、原稿を90度回転させて辺の中央を押さえるよう促すメッセージ1000を表示する。アイコン1001a,1001bは、ユーザが移動した後の押さえ方を表示するため、図17(e)のアイコン1001a,1001bと同様の表示となる。また、図22(f)では、ユーザに対して正面に移動したのち、辺の中央を押さえるよう促すメッセージ1000を表示する。アイコン1001a,1001bは、ユーザが移動した後の押さえ方を表示するため、図17(f)のアイコン1001a,1001bと同様の表示となる。
図23(a),(b)は、原稿の中央が浮いている場合の表示例を示す図である。図23(a)のように原稿の中央が縦長に浮いている場合、ユーザに対して正面に移動してから、原稿を90度回転後、辺の中央を押さえるよう促すメッセージ1000を表示する。アイコン1001a,1001bは、ユーザが移動した後の押さえ方を表示するため、図18(b)と同様の表示となる。また、図23(b)のように原稿の中央が横長に浮いている場合、ユーザに対して正面に移動し、辺の中央を押さえるよう促すメッセージ1000を表示する。アイコン1001は、ユーザが移動した後の押さえ方を表示するため、図18(c)と同様の表示となる。
以上、実施例3によれば、ユーザの位置に応じて浮き領域毎に適切な押さえ方をユーザに対して提示する。これによりユーザは原稿をスキャンする際、カメラスキャナ100と原稿の間に手が入らない押さえ方をすることが出来る。
(その他の実施形態)
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、以下のようなものがある。フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。すなわち、ホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他にも、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後にも前述した実施形態の機能が実現される。すなわち、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現される。
100 カメラスキャナ
201 コントローラ部
202 カメラ部
204 書画台
207 プロジェクタ
208 距離画像センサ部
307 画像処理プロセッサ
361 赤外線パターン投射部
362 赤外線カメラ
363 RGBカメラ

Claims (7)

  1. 載置部の読み取り領域に載置される原稿の撮像画像を生成する撮像部を有する画像読取装置において、
    前記載置部の方向に向けられる赤外線投射部及び赤外線読取部を用いて前記載置される原稿の距離画像を取得する第1の取得手段と、
    前記取得した距離画像を用いて前記原稿の浮き領域を検出する第1の検出手段と、
    前記検出された浮き領域の浮きの種類を前記浮き領域の重心の前記原稿における位置に応じて特定する特定手段と、
    前記特定された浮きの種類に応じたユーザの手による前記原稿の押さえ方をガイド表示する表示手段とを備えることを特徴とする画像読取装置。
  2. ユーザの手領域の状態を取得する取得手段と、
    前記取得された手領域の状態に応じて前記ガイド表示する必要があるかないかを決定する第1の決定手段とをさらに備え、
    前記第1の決定手段により前記ガイド表示する必要があると決定された場合、前記ガイド表示された前記原稿の押さえ方がされた状態で、予め設定された時間以上、前記ユーザの手が静止していることが検知されたときに、前記撮像部による前記原稿の撮像画像の生成を開始することを特徴とする請求項1記載の画像読取装置。
  3. 前記読み取り領域における前記ユーザの手領域の座標を取得する第2の取得手段と、
    前記第1の決定手段により前記ガイド表示する必要がないと決定された場合、前記第2の取得手段で取得した座標に基づき、前記原稿が前記ユーザの両手で押さえられているか否かを判定する判定手段とをさらに備え、
    前記判定手段が前記原稿が前記ユーザの両手で押さえられていないと判定した場合、前記撮像部による前記原稿の撮像画像の生成を開始するためのボタンを予め定めた位置に表示し、前記判定手段が前記原稿が前記ユーザの両手で押さえられていると判定した場合、前記ボタンの表示位置を前記第2の取得手段で取得した座標に基づいて変更することを特徴とする請求項2記載の画像読取装置。
  4. 前記第1の検出手段が前記原稿の浮き領域を2つより多く検出した場合、前記検出された浮き領域のそれぞれに含まれるコンテンツの有無及び浮きの大きさに基づき、前記ガイド表示すべき浮き領域として選択される優先度を決定する第2の決定手段をさらに備えることを特徴とする請求項1乃至3のいずれか1項に記載の画像読取装置。
  5. 前記画像読取装置に対する前記ユーザの位置を検出する第2の検出手段をさらに備え、
    前記表示手段は、前記第2の検出手段により検出された位置に応じて、前記ガイド表示することを特徴とする請求項1乃至4のいずれか1項に記載の画像読取装置。
  6. 載置部の読み取り領域に載置される原稿の撮像画像を生成する撮像部を有する画像読取装置の制御方法において、
    前記載置部の方向に向けられる赤外線投射部及び赤外線読取部を用いて前記載置される原稿の距離画像を取得する第1の取得ステップと、
    前記取得した距離画像を用いて前記原稿の浮き領域を検出する第1の検出ステップと、
    前記検出された浮き領域の浮きの種類を前記浮き領域の重心の前記原稿における位置に応じて特定する特定ステップと、
    前記特定された浮きの種類に応じたユーザの手による前記原稿の押さえ方をガイド表示する表示ステップとを有することを特徴とする制御方法。
  7. 請求項6記載の制御方法を実行することを特徴とするプログラム。
JP2017111841A 2017-06-06 2017-06-06 画像読取装置、その制御方法、並びにプログラム Pending JP2018207342A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017111841A JP2018207342A (ja) 2017-06-06 2017-06-06 画像読取装置、その制御方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017111841A JP2018207342A (ja) 2017-06-06 2017-06-06 画像読取装置、その制御方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2018207342A true JP2018207342A (ja) 2018-12-27

Family

ID=64958394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017111841A Pending JP2018207342A (ja) 2017-06-06 2017-06-06 画像読取装置、その制御方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2018207342A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7404282B2 (ja) 2021-02-10 2023-12-25 株式会社豊田中央研究所 顔モデルパラメータ推定装置、顔モデルパラメータ推定方法及び顔モデルパラメータ推定プログラム
JP7404137B2 (ja) 2020-04-01 2023-12-25 株式会社豊田中央研究所 顔画像処理装置及び顔画像処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7404137B2 (ja) 2020-04-01 2023-12-25 株式会社豊田中央研究所 顔画像処理装置及び顔画像処理プログラム
JP7404282B2 (ja) 2021-02-10 2023-12-25 株式会社豊田中央研究所 顔モデルパラメータ推定装置、顔モデルパラメータ推定方法及び顔モデルパラメータ推定プログラム

Similar Documents

Publication Publication Date Title
JP4033582B2 (ja) 座標入力/検出装置および電子黒板システム
JP6191511B2 (ja) 画像シーケンスをキャプチャする方法、システム及びプログラム
JP4933389B2 (ja) 画像投影表示装置、画像投影表示方法、画像投影表示プログラム及び記録媒体
US9917957B1 (en) Cropping image within image preview
JP2017199289A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US20180035077A1 (en) Remote communication system, method for controlling remote communication system, and storage medium
JP6381361B2 (ja) データ処理装置、データ処理システム、データ処理装置の制御方法、並びにプログラム
US9392263B2 (en) 3D scanner, 3D scan method, computer program, and storage medium
JP2016103137A (ja) ユーザインタフェース装置、画像処理装置及び制御用プログラム
JPWO2017130504A1 (ja) 画像投影装置
JP6399840B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2018207342A (ja) 画像読取装置、その制御方法、並びにプログラム
CN106373154B (zh) 图像处理装置及图像处理方法
JP2018112894A (ja) システムおよび制御方法
JP2017126225A (ja) 画像処理装置、方法およびプログラム
JP6036856B2 (ja) 電子制御装置、制御方法、及び制御プログラム
JP2018018308A (ja) 情報処理装置、及びその制御方法ならびにコンピュータプログラム
JP2017199288A (ja) 画像処理装置、画像処理方法及びプログラム
JP2019016843A (ja) 原稿読取装置、原稿読取装置の制御方法、及びプログラム
JP2018191094A (ja) 原稿読取装置、原稿読取装置の制御方法、及びプログラム
JP6639257B2 (ja) 情報処理装置及びその制御方法
JP2016139396A (ja) ユーザーインターフェイス装置、方法およびプログラム
JP6203070B2 (ja) スキャンシステムおよびその制御方法、並びにプログラム
JP6624861B2 (ja) 画像処理装置、制御方法およびプログラム
JP6157068B2 (ja) 情報処理装置及びその制御方法