(57)【要約】【課題】  載置される複数のオブジェクトを同時に撮影することに応じて、それぞれのオブジェクトを分離した電子文書データ、あるいはそれぞれのオブジェクトを一体とする電子文書データを効率よく作成できる。【解決手段】    複数のオブジェクトを載置する載置手段と、前記載置手段に載置される複数のオブジェクトを撮影してカメラ画像を生成するカメラと、前記載置手段に所定の測定パターンまたはユーザインタフェースを投影する投影手段とを備えるスキャナシステムにおいて、前記ユーザインタフェースに対する指示に従い前記載置手段に載置された複数のオブジェクトを１ページに合成して格納するか、それぞれのオブジェクトを分離して１ページずつ格納するかを示す格納形式を設定する。そして、設定された格納形式に基づいて、複数のオブジェクトをページ合成した電子文書に変換する処理と、それぞれオブジェクトを分離した電子文書に変換する処理とを切り換え制御することを特徴とする。【選択図】  図１５Ｂ
2015170907.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトを載置する載置手段と、
前記載置手段に載置される複数のオブジェクトを撮影してカメラ画像を生成するカメラと、
前記載置手段に載置される複数のオブジェクトに照射される赤外線パターンを撮影して得られる赤外線画像から距離画像を生成する第１の距離画像生成手段と、
前記載置手段に所定の測定パターンまたはユーザインタフェースを投影する投影手段と、
前記ユーザインタフェースに対する指示に従い前記載置手段に載置された複数のオブジェクトを１ページに合成して格納するか、それぞれのオブジェクトを分離して１ページずつ格納するかを示す格納形式を設定する設定手段と、
前記設定手段により設定された格納形式に基づいて、複数のオブジェクトをページ合成した電子文書データに変換する処理と、それぞれオブジェクトを分離した電子文書データに変換する処理とを切り換え制御する制御手段と、
を備えることを特徴とするスキャナシステム。
【請求項２】
前記ユーザインタフェースに対する指示に従い前記カメラ画像から前記載置手段に載置されたオブジェクトに対応づけられる平面原稿画像を取得する第１の取得手段を有することを特徴とする請求項１に記載のスキャナシステム。
【請求項３】
前記ユーザインタフェースに対する指示に従い前記カメラ画像と距離画像とから前記載置手段に載置されたオブジェクトに対応づけられる書籍画像を取得する第２の取得手段を有することを特徴とする請求項１又は請求項２に記載のスキャナシステム。
【請求項４】
前記ユーザインタフェースに対する指示に従い前記投影手段がオブジェクトに投影した前記所定のパターンを前記カメラが撮影して得られるカメラ画像から距離画像を生成する第２の距離画像生成手段と、
前記第２の距離画像生成手段が生成した距離画像に所定の座標変換処理を行い前記載置手段に載置されたオブジェクトの立体形状を特定する３次元点群を取得する第３の取得手段を有することを特徴とする請求項１乃至３の何れか１項に記載のスキャナシステム。
【請求項５】
前記投影手段は、前記載置手段に対して、電子文書データに設定されるページ領域を投影することを特徴とする請求項１乃至４のいずれか１項に記載のスキャナシステム。
【請求項６】
前記投影手段は、前記載置手段を撮影する撮影条件を設定するユーザインタフェースを投影することを特徴とする請求項１乃至４のいずれか１項に記載のスキャナシステム。
【請求項７】
前記投影手段は、前記載置手段に載置される平面オブジェクトおよび立体オブジェクトを配置するページ領域を特定するためのマーカーを投影することを特徴とする請求項１乃至４のいずれか１項に記載のスキャナシステム。
【請求項８】
前記第１の距離画像生成手段が生成する距離画像を解析して前記ユーザインタフェースに対する操作者による指示動作を認識する認識手段と、
前記認識手段が前記投影手段により投影されたマーカーに対する移動指示を認識することに応じて、前記ページ領域を調整する調整手段と、を備えることを特徴とする請求項７記載のスキャナシステム。
【請求項９】
前記載置手段に載置される各オブジェクトとの位置関係によりの一方のオブジェクトの全体を撮影できない死角領域があるかどうかを判定する判定手段と、
前記判定手段により死角領域があると判定した場合、前記載置手段を載置平面に対して回転移動させて前記カメラにより前記載置手段に載置されるオブジェクトを撮影させる撮影制御手段と、
を備えることを特徴とする請求項１乃至４のいずれか１項に記載のスキャナシステム。
【請求項１０】
前記カメラが撮影する載置手段のカメラ画像とあらかじめ記憶されたカメラ画像とに基づいて、前記載置手段にオブジェクトが載置されているかいなかを判断する判断手段と、
前記載置手段にオブジェクトが載置されていないと判断した場合、前記撮影制御手段は、前記死角領域の撮影を実行しないことを特徴とする請求項９記載のスキャナシステム。
【請求項１１】
前記判定手段により死角領域があると判定した場合、前記オブジェクトが前記載置手段の配置位置から他の配置位置へ移動されているかどうかを判別する判別手段と、
前記立体オブジェクトが前記載置手段の配置位置から他の配置位置へ移動されていると判別した場合、前記撮影制御手段は、前記カメラで前記載置手段に載置されるオブジェクトを撮影させることを特徴とする請求項９記載のスキャナシステム。
【請求項１２】
複数のオブジェクトを載置する載置手段と、前記載置手段に載置される複数のオブジェクトを撮影してカメラ画像を生成するカメラと、前記載置手段に所定の測定パターンまたはユーザインタフェースを投影する投影手段とを備えるスキャナシステムのデータ処理方法であって、
前記載置手段に載置される複数のオブジェクトに照射される赤外線パターンを撮影して得られる赤外線画像から距離画像を生成する第１の距離画像生成工程と、
前記投影手段が載置手段に所定の測定パターンまたはユーザインタフェースを投影する投影工程と、
前記ユーザインタフェースに対する指示に従い前記載置手段に載置された複数のオブジェクトを１ページに合成して格納するか、それぞれのオブジェクトを分離して１ページずつ格納するかを示す格納形式を設定する設定工程と、
前記設定工程により設定された格納形式に基づいて、複数のオブジェクトをページ合成した電子文書データに変換する処理と、それぞれオブジェクトを分離した電子文書データに変換する処理とを切り換え制御する制御工程と、
を備えるスキャナシステムのデータ処理方法。
【請求項１３】
請求項１２に記載のスキャナシステムのデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナシステム、スキャナシステムのデータ処理方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、文書をスキャンして電子データとして保存する場合、撮像にラインセンサを用いるラインスキャナと、２次元の撮像センサを用いるカメラスキャナとがある。特に、書画台の上方にカメラを配置し、原稿を上向きに書画台に置いて撮像するカメラスキャナの場合には、１枚の原稿であれば置くだけで素早くスキャンすることができるとともに、本のように厚みのある原稿も容易に書画台に置いてスキャンすることができる。さらに、紙や本のような文書だけでなく、立体物を書画台上に置いて立体形状をスキャンするカメラスキャナが特許文献１で開示されている。特許文献１のカメラスキャナは、撮像するためのカメラとともに投光部を備え、投光部から投光する計測パターンをカメラで撮像し、三角測量の原理により立体形状を測定する。そして、書画台上の置かれた物体の立体形状を算出して平面原稿か書籍か立体物かを判別し、それぞれに応じて適切な撮影モードで撮影を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−７８７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のカメラスキャナにおいては、書画台に複数の異なる種類の物体を置いた場合に適切な撮影モードで撮影することができず、１個ずつの撮影が必要となるため大量の物体の撮影を行う場合に手間と時間がかかった。また、複数の物体のデータをＰＤＦのようなドキュメントにまとめる際に同一ページ内に複数のデータを配置するためには一度パソコン等にデータを転送しＰＤＦの編集ソフトで個々のデータを配置することが必要で手間と時間がかかった。
【０００５】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、載置される複数のオブジェクトを同時に撮影することに応じて、それぞれのオブジェクトを分離した電子文書データ、あるいはそれぞれのオブジェクトを一体とする電子文書データを効率よく作成できる仕組みを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成する本発明のスキャナシステムは以下に示す構成を備える。
複数のオブジェクトを載置する載置手段と、前記載置手段に載置される複数のオブジェクトを撮影してカメラ画像を生成するカメラと、前記載置手段に載置される複数のオブジェクトに照射される赤外線パターンを撮影して得られる赤外線画像から距離画像を生成する第１の距離画像生成手段と、前記載置手段に所定の測定パターンまたはユーザインタフェースを投影する投影手段と、前記ユーザインタフェースに対する指示に従い前記載置手段に載置された複数のオブジェクトを１ページに合成して格納するか、それぞれのオブジェクトを分離して１ページずつ格納するかを示す格納形式を設定する設定手段と、前記設定手段により設定された格納形式に基づいて、複数のオブジェクトをページ合成した電子文書に変換する処理と、それぞれオブジェクトを分離した電子文書に変換する処理とを切り換え制御する制御手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、載置される複数のオブジェクトを同時に撮影することに応じて、それぞれのオブジェクトを分離した電子文書データ、あるいはそれぞれのオブジェクトを一体とする電子文書データを効率よく作成できる。
【図面の簡単な説明】
【０００８】
【図１】スキャナシステムの一例を示す図である。
【図２】図１に示したカメラスキャナの構成例を示す図である。
【図３】コントローラ部のハードウェア構成例を示すブロック図である。
【図４】カメラスキャナの制御用プログラムの機能構成を示す図である。
【図５】距離画像取得部の処理を説明する図である。
【図６】ジェスチャー認識部の処理の詳細を説明するフローチャートである。
【図７】指先検出処理の方法を模式的に表した図である。
【図８】物体検知部の処理を説明するフローチャートである。
【図９】平面原稿画像撮影部が実行する処理を示すフローチャートである。
【図１０】平面原稿画像撮影部の処理を説明するための模式図である。
【図１１】書籍画像撮影部が実行する処理を示すフローチャートである。
【図１２】書籍画像撮影部の処理を説明するための模式図である。
【図１３】立体形状測定部が実行する処理を説明するフローチャートである。
【図１４】立体形状測定部の処理を説明するための模式図である。
【図１５Ａ】スキャンアプリケーションの処理を示すフローチャートである。
【図１５Ｂ】スキャンアプリケーションの処理を示すフローチャートである。
【図１５Ｃ】スキャンアプリケーションの処理を示すフローチャートである。
【図１６Ａ】スキャナシステムで表示されるＵＩ画面例を示す図である。
【図１６Ｂ】スキャナシステムで表示されるＵＩ画面例を示す図である。
【図１７】スキャナシステムで表示されるＵＩ画面例を示す図である。
【発明を実施するための形態】
【０００９】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１０】
図１は、本実施形態を示すスキャナシステムの一例を示す図である。本例は、カメラスキャナ１０１はイーサネット（登録商標）等のネットワーク１０４にてホストコンピュータ１０２およびプリンタ１０３に接続されている例である。
【００１１】
図１のネットワーク構成において、ホストコンピュータ１０２からの指示により、カメラスキャナ１０１から画像を読み取るスキャン機能や、スキャンデータをプリンタ１０３により出力するプリント機能の実行が可能である。また、ホストコンピュータ１０２を介さず、カメラスキャナ１０１への直接の指示により、スキャン機能、プリント機能の実行も可能である。
【００１２】
＜カメラスキャナの構成＞
図２は、図１に示したカメラスキャナ１０１の構成例を示す図である。
図２の（ａ）に示すように、カメラスキャナ１０１は、コントローラ部２０１、カメラ部２０２、腕部２０３、短焦点プロジェクタ部２０７、距離画像センサ部２０８を含む。カメラスキャナ１０１の本体であるコントローラ部２０１と、撮像を行うためのカメラ部２０２、短焦点プロジェクタ部２０７および距離画像センサ部２０８は、腕部２０３により連結されている。腕部２０３は関節を用いて曲げ伸ばしが可能である。
【００１３】
図２の（ａ）には、カメラスキャナ１０１が設置されている書画台２０４も示している。カメラ部２０２および距離画像センサ部２０８のレンズは書画台２０４方向に向けられており、破線で囲まれた読み取り領域２０５内の画像を読み取り可能である。
図２の例では、原稿２０６は読み取り領域２０５内に置かれているので、カメラスキャナ１０１に読み取り可能となっている。また、書画台２０４内にはターンテーブル２０９が設けられている。ターンテーブル２０９はコントローラ部２０１からの指示によって回転することが可能であり、ターンテーブル２０９上に置かれた物体（オブジェクト）とカメラ部２０２との角度を変えることができる。ここで、オブジェクトとには、平面オブジェクト（２次元オブジェクト）と立体オブジェクト（３次元オブジェクト）が含まれる。
カメラ部２０２は単一解像度で画像を撮像するものとしてもよいが、高解像度画像撮像と低解像度画像撮像が可能なものとすることが好ましい。
なお、図２に示されていないが、カメラスキャナ１０１は、ＬＣＤタッチパネル３３０およびスピーカ３４０をさらに含むこともできる。
【００１４】
図２の（ｂ）は、カメラスキャナ１０１における座標系について表している。
カメラスキャナ１０１において取得される撮影データは、距離画像センサ部２０８により得られる距離画像センサ座標系における３次元データと、カメラ部２０２と短焦点プロジェクタ部２０７によって得られるカメラ座標系における３次元データである。ここで、距離画像センサ座標系およびカメラ座標系では、距離画像センサ部２０８のＲＧＢカメラ部５０３およびカメラ部２０２が撮像する画像平面をＸＹ平面とし、画像平面に直交した方向をＺ方向として定義するものである。
すなわち、これらの３次元データは独立した座標系で得られるものであるため、両者を統一的に扱えるようにする必要がある。そこで、書画台２０４を含む平面をＸＹ平面とし、このＸＹ平面から上方に垂直な向きをＺ軸とする直交座標系を定義する。
そして、距離画像センサ座標系およびカメラ座標系で得られたそれぞれの３次元データを、所定の演算処理、具体的には直交座標系における３次元データに変換する。例えば、距離画像センサ座標系中の３次元点は下記（１）式によって直交座標系における３次元座標へと変換する。
数式１
2015170907.tif 000003
【００１５】
ここで、［Ｘｓ，Ｙｓ，Ｚｓ，１］は距離画像センサ座標系における３次元座標、［Ｘ，Ｙ，Ｚ］は座標変換後の直交座標系における３次元座標を表す。また、［Ｒｓ｜ｔｓ］は距離画像センサ座標系から直交座標系への変換行列（回転行列Ｒｓと並進ベクトルｔｓ）である。
なお、直交座標系に対する距離画像センサ座標系およびカメラ座標系の相対位置（直交座標系へ変換するための回転行列および並進ベクトル）は、公知のキャリブレーション手法によりあらかじめキャリブレーションされているものとする。以後、特に断りがなく３次元点群と表記された場合は、直交座標系における３次元データを表しているものとする。
【００１６】
＜カメラスキャナのコントローラのハードウェア構成＞
図３は、図２に示したコントローラ部２０１のハードウェア構成例を示すブロック図である。
【００１７】
図３に示すように、コントローラ部２０１は、システムバス３０１に接続されたＣＰＵ３０２、ＲＡＭ３０３、ＲＯＭ３０４、ＨＤＤ３０５、ネットワークＩ／Ｆ３０６、画像処理プロセッサ３０７、カメラＩ／Ｆ３０８、ディスプレイコントローラ３０９、シリアルＩ／Ｆ３１０、オーディオコントローラ３１１およびＵＳＢコントローラ３１２を含む。
【００１８】
ＣＰＵ３０２は、コントローラ部２０１全体の動作を制御する中央演算装置である。ＲＡＭ３０３は、揮発性メモリである。ＲＯＭ３０４は不揮発性メモリであり、ＣＰＵ３０２の起動用プログラムが格納されている。ＨＤＤ３０５はＲＡＭ３０３と比較して大容量なハードディスクドライブ（ＨＤＤ）である。ＨＤＤ３０５にはコントローラ部２０１の実行する、カメラスキャナ１０１の制御用プログラムが格納されている。
【００１９】
ＣＰＵ３０２は、電源ＯＮ等の起動時、ＲＯＭ３０４に格納されている起動用プログラムを実行する。この起動用プログラムは、ＨＤＤ３０５に格納されている制御用プログラムを読み出し、ＲＡＭ３０３上に展開するためのものである。ＣＰＵ３０２は、起動用プログラムを実行すると、続けてＲＡＭ３０３上に展開した制御用プログラムを実行し、制御を行う。
また、ＣＰＵ３０２は制御用プログラムによる動作に用いるデータもＲＡＭ３０３上に格納して読み書きを行う。ＨＤＤ３０５上にはさらに、制御用プログラムによる動作に必要な各種設定や、また、カメラ入力によって生成した画像データを格納することができ、ＣＰＵ３０２によって読み書きされる。ＣＰＵ３０２はネットワークＩ／Ｆ３０６を介してネットワーク１０４上の他の機器との通信を行う。
【００２０】
画像処理プロセッサ３０７はＲＡＭ３０３に格納された画像データを読み出して処理し、またＲＡＭ３０３へ書き戻す。なお、画像処理プロセッサ３０７が実行する画像処理は、回転、変倍、色変換等である。
【００２１】
カメラＩ／Ｆ３０８は、カメラ部２０２および距離画像センサ部２０８と接続され、ＣＰＵ３０２からの指示に応じてカメラ部２０２で撮影された画像データを、距離画像センサ部２０８で撮影された距離画像データを取得してＲＡＭ３０３へ書き込む。また、ＣＰＵ３０２からの制御コマンドをカメラ部２０２および距離画像センサ部２０８へ送信し、カメラ部２０２および距離画像センサ部２０８の設定を行う。
【００２２】
また、コントローラ部２０１は、ディスプレイコントローラ３０９、シリアルＩ／Ｆ３１０、オーディオコントローラ３１１およびＵＳＢコントローラ３１２のうち少なくとも１つをさらに含むことができる。
【００２３】
ディスプレイコントローラ３０９は、ＣＰＵ３０２の指示に応じてディスプレイへの画像データの表示を制御する。ここでは、ディスプレイコントローラ３０９は短焦点プロジェクタ部２０７およびＬＣＤタッチパネル３３０に接続されている。
【００２４】
シリアルＩ／Ｆ３１０はシリアル信号の入出力を行う。ここでは、シリアルＩ／Ｆ３１０はターンテーブル２０９に接続され、ＣＰＵ３０２の回転開始・終了および回転角度の指示をターンテーブル２０９へ送信する。また、シリアルＩ／Ｆ３１０は、ＬＣＤタッチパネル３３０に接続され、ＣＰＵ３０２はＬＣＤタッチパネル３３０が押下されたときに、シリアルＩ／Ｆ３１０を介して押下された座標を取得する。
オーディオコントローラ３１１は、スピーカ３４０に接続され、ＣＰＵ３０２の指示に応じて音声データをアナログ音声信号に変換し、スピーカ３４０を通じて音声を出力する。
【００２５】
ＵＳＢコントローラ３１２は、ＣＰＵ３０２の指示に応じて外付けのＵＳＢデバイスの制御を行う。ここでは、ＵＳＢコントローラ３１２はＵＳＢメモリやＳＤカードなどの外部メモリ３５０に接続され、外部メモリ３５０へのデータの読み書きを行う。なお、距離画像センサ部２０８の詳細構成については、後述する。
＜カメラスキャナの制御用プログラムの機能構成＞
図４は、図３に示したＣＰＵ３０２が実行するカメラスキャナ１０１の制御用プログラムの機能構成４０１を示す図である。
なお、カメラスキャナ１０１の制御用プログラムは、前述のようにＨＤＤ３０５に格納され、ＣＰＵ３０２が起動時にＲＡＭ３０３上に展開して実行する。
メイン制御部４０２は制御の中心であり、機能構成４０１内の他の各部を制御する。
【００２６】
カメラ画像取得部４０７、距離画像取得部４０８は、画像入力処理を行うモジュールである。カメラ画像取得部４０７は、カメラＩ／Ｆ３０８を介してカメラ部２０２が撮影した画像データを取得し、ＲＡＭ３０３へ格納する。距離画像取得部４０８は、カメラＩ／Ｆ３０８を介して距離センサ部２０８が出力する距離画像データを取得し、ＲＡＭ３０３へ格納する。距離画像取得部４０８の処理の詳細は後に説明する。
【００２７】
ジェスチャー認識部４０９、物体検知部４１０はカメラ画像取得部４０７、距離画像取得部４０８が取得する画像データを解析して書画台２０４上の物体の動きを検知して認識するモジュールである。ジェスチャー認識部４０９、物体検知部４１０の処理の詳細は後述する。ここで、物体の動きには、投影されるユーザインタフェースを操作するユーザの手による指示動作が含まれる（詳細は後述する）
【００２８】
平面原稿画像撮影部４１１、書籍画像撮影部４１２、立体形状測定部４１３は実際に対象物のスキャンを行うモジュールである。平面原稿画像撮影部４１１は平面原稿、書籍画像撮影部４１２は書籍、立体形状測定部４１３は立体物に、それぞれ適した演算処理を実行し、それぞれに応じた形式のデータを出力する。これらのモジュールの処理の詳細は後述する。
【００２９】
ユーザインタフェース部４０３は、物体配置表示部４１４と物体配置修正部４１５から構成される。物体配置表示部４１４は、メイン制御部４０２からの要求を受け、メッセージやボタン、ドキュメントや対象物の大きさや位置を示す枠等のＧＵＩ部品を生成する。
そして、ユーザインタフェース部４０３は、表示部４０６へ生成したＧＵＩ部品の表示を要求する。なお、物体配置修正部４１５はドキュメントの用紙サイズや対象物の表示大きさや位置の変更要望を受け取りデータ管理部４０５にデータを送り保存する。表示部４０６は、ディスプレイコントローラ３０９を介して、短焦点プロジェクタ部２０７もしくはＬＣＤタッチパネル３３０へ要求されたＧＵＩ部品の表示を行う。
プロジェクタ部２０７は書画台２０４に向けて設置されているため、書画台２０４上にＧＵＩ部品を投射することが可能となっている。また、ユーザインタフェース部４０３は、ジェスチャー認識部４０９が認識したタッチ等のジェスチャー操作、あるいはシリアルＩ／Ｆ３１０を介したＬＣＤタッチパネル３３０からの入力操作、そしてさらにそれらの座標を受信する。そして、ユーザインタフェース部４０３は描画中の操作画面の内容と操作座標を対応させて操作内容（押下されたボタン等）を判定する。この操作内容をメイン制御部４０２へ通知することにより、操作者の操作を受け付ける。
ネットワーク通信部４０４は、ネットワークＩ／Ｆ３０６を介して、ネットワーク１０４上の他の機器とＴＣＰ／ＩＰによる通信を行う。
【００３０】
データ管理部４０５は、機能構成４０１に含まれるプログラムの実行において生成した作業データ、例えば平面原稿画像撮影部４１１、書籍画像撮影部４１２、立体形状測定部４１３が生成したスキャンデータのような様々なデータや物体配置修正部４１５が生成したドキュメントや対象物の大きさや位置情報などをＨＤＤ３０５上の所定の領域へ保存し、管理する。また、対象物のデータをＰＤＦのように一つのドキュメントにまとめて保存する。
＜距離画像センサおよび距離画像取得部の説明＞
【００３１】
図３に本実施形態の距離画像生成手段に対応する距離画像センサ部２０８の構成を示している。距離画像センサ部２０８は赤外線によるパターン投射方式の距離画像センサである。赤外線パターン投射部３６１は対象物に、人の目には不可視である赤外線によって３次元測定パターンを照射する。赤外線カメラ３６２は対象物に投射した３次元測定パターン（赤外線画像）を撮影するカメラである。ＲＧＢカメラ３６３は人の目に見える可視光をＲＧＢ信号で撮影するカメラである。
【００３２】
図５は、図４に示した距離画像取得部４０８の処理を説明する図である。特に、図５の（ａ）は図４に示した距離画像取得部４０８のデータ処理手順に対応するフローチャートである。以下、図５の（ｂ）〜（ｄ）はパターン投射方式による距離画像の計測原理を説明する。また、図５の（ａ）に示すフローチャートの各ステップは、ＣＰＵ３０２が制御プログラム（図４に示すモジュール）を実行することで実現される。以下、図４に示したモジュールを主体として説明する。
距離画像取得部４０８が処理を開始すると、Ｓ５０１では図５の（ｂ）に示すように赤外線パターン投射部３６１を用いて赤外線による３次元測定パターン５２２を対象物５２１に投射する。Ｓ５０２では赤外線カメラ３６２を用いてＳ５０１で投射した３次元測定パターン５２２を撮影し、赤外線カメラ画像５２４を取得する。
【００３３】
Ｓ５０３では、図５の（ｃ）に示すように、３次元測定パターン５２２と赤外線カメラ画像５２４間での対応点を抽出する。例えば、赤外線カメラ画像５２４上の１点を３次元測定パターン５２２上から探索し、同一の点が検出された場合に対応付けを行う。あるいは、赤外線カメラ画像５２４の画素の周辺のパターンを３次元測定パターン５２２上から探索し、一番類似度が高い部分と対応付けてもよい。
【００３４】
Ｓ５０４では、赤外線パターン投射部３６１と赤外線カメラ３６２を結ぶ直線を基線５２３として三角測量の原理を用いて計算を行うことにより、赤外線カメラ３６２からの距離を算出する。
Ｓ５０３で対応付けが出来た画素については、赤外線カメラ３６２からの距離を算出して画素値として保存し、対応付けが出来なかった画素については、距離の計測が出来なかった部分として無効値を保存する。これを赤外線カメラ画像の全画素に対して行うことで、各画素に距離値が入った距離画像を生成する。
【００３５】
Ｓ５０５では、ＲＧＢカメラ３６３を用いて対象物のＲＧＢ画像５２５を撮影する。赤外線カメラ３６２とＲＧＢカメラ３６３とでは設置位置が異なるため、図５の（ｄ）に示すようにそれぞれで撮影される２つの赤外線カメラ画像５２４および赤外線カメラ画像５２５の位置合わせを行う必要がある。
そこで、Ｓ５０６では、赤外線カメラ３６２の座標系からＲＧＢカメラ３６３の座標系への座標系変換を用いて赤外線カメラ画像５２４を変換し、距離画像をＲＧＢカメラ画像５２５の座標系に合わせる。
【００３６】
なお、赤外線カメラ３６２とＲＧＢカメラ３６３の相対位置や、それぞれの内部パラメータは事前のキャリブレーション処理により既知であるとする。Ｓ５０７では、Ｓ５０６で座標変換を行った距離画像の各画素にＲＧＢカメラ画像５２５のＲＧＢ値を保存することにより、１画素につきＲ、Ｇ、Ｂ、距離の４つの値を持つ距離画像を生成し、距離画像取得部４０８の処理を終了する。
【００３７】
以上のように、ここで取得した距離画像は距離画像センサ部２０８のＲＧＢカメラ３６３で定義された距離画像センサ座標系が基準となっている。そこで、図２（ｂ）を用いて上述したように、距離画像センサ座標系として得られた距離データを直交座標系における点群の集合に変換する。（以後、この点の集合を３次元点群と呼ぶ）
【００３８】
なお、本実施形態では上述したように、距離画像センサ部２０８として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、２つのＲＧＢカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するＴＯＦ（Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ）方式を用いても良い。
【００３９】
＜ジェスチャー認識部の説明＞
図６は、図４に示したジェスチャー認識部４０９のデータ処理の詳細を説明するフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
図６の（ａ）において、ジェスチャー認識部４０９が処理を開始すると、Ｓ６０１では初期化処理を行う。続いて、Ｓ６０２では、書画台２０４上に存在する物体の３次元点群を取得する。Ｓ６０３では取得した３次元点群からユーザの手の形状および指先の検出処理を行う。Ｓ６０４では検出した手の形状および指先からジェスチャーの判定を行う。Ｓ６０５では判定したジェスチャーをユーザインタフェース部４０３へ通知し、Ｓ６０２へ戻ってジェスチャー認識処理を繰り返す。
【００４０】
続いて、Ｓ６０１〜Ｓ６０４のデータ処理の詳細について説明する。
図６の（ｂ）は、図６の（ａ）に示したＳ６０１のジェスチャー認識部初期化処理のフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
Ｓ６１１では、ジェスチャー認識部４０９は距離画像取得部４０８から距離画像を１フレーム取得する。ここで、ジェスチャー認識部の開始時は書画台２０４上に対象物が置かれていない状態であるため、初期状態として書画台２０４の平面の認識を行う。つまり、Ｓ６１２において、Ｓ６１１で取得した距離画像から最も広い平面を抽出し、その位置と法線ベクトル（以降、書画台２０４の平面パラメータと呼ぶ）を算出する。
【００４１】
図６の（ｃ）は、図６の（ａ）に示したＳ６０２の３次元点群取得処理のフローチャートである。
Ｓ６２１では距離画像取得部４０８から距離画像を１フレーム取得し、所定の演算処理により３次元点群に変換する。Ｓ６２２では書画台２０４の平面パラメータを用いて、取得した３次元点群から書画台２０４を含む平面にある点群を除去する。このようにして書画台２０４の上に存在する物体の３次元点群を取得し、Ｓ６０２の３次元点群取得処理を終了する。
【００４２】
図６の（ｄ）は、図６の（ａ）に示したＳ６０３の手形状および指先検出処理のフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。また、図７は、図６の（ｄ）での指先検出処理の方法を模式的に表した図である。
Ｓ６３１では、Ｓ６０２で取得した３次元点群から、書画台２０４を含む平面から所定の高さ以上にある、肌色の３次元点群を抽出することで、手の３次元点群を得る。
図７の（ａ）の７０１は、抽出した手の３次元点群を表している。Ｓ６３２では、抽出した手の３次元点群を、書画台２０４の平面に射影した２次元画像を生成して、その手の外形を検出する。
図７の（ａ）の７０２は、書画台２０４の平面に投影した３次元点群を表している。投影は、点群の各座標を、書画台２０４の平面パラメータを用いて投影すればよい。
また、図７の（ｂ）に示すように、投影した３次元点群から、ｘｙ座標の値だけを取り出せば、ｚ軸方向から見た２次元画像７０３として扱うことができる。この時、手の３次元点群の各点が、書画台２０４の平面に投影した２次元画像の各座標のどれに対応するかを、記憶しておくものとする。Ｓ６３３では検出した手の外形上の各点について、その点での外形の曲率を算出し、算出した曲率が所定値より小さい点を指先として検出する。
図７の（ｃ）は、外形の曲率から指先を検出する方法を模式的に表したものである。７０４は、書画台２０４の平面に投影された２次元画像７０３の外形を表す点の一部を表している。
ここで、７０４のような、外形を表す点のうち、隣り合う５個の点を含むように円を描くことを考える。円７０５、７０７が、その例である。この円を、全ての外形の点に対して順に描き、その直径（例えば７０６、７０８）が所定の値より小さい（曲率が小さい）ことを以て、指先とする。
この例では隣り合う５個の点としたが、その数は限定されるものではない。また、ここでは曲率を用いたが、外形に対して楕円フィッティングを行うことで、指先を検出してもよい。
Ｓ６３４では、検出した指先の個数および各指先の座標を算出して、手形状および指先の検出処理を終了する。この時、前述したように、書画台２０４に投影した２次元画像の各点と、手の３次元点群の各点の対応関係を記憶しているため、各指先の３次元座標を得ることができる。
今回は、３次元点群から２次元画像に投影した画像から指先を検出する方法を説明したが、指先検出の対象とする画像は、これに限定されるものではない。例えば、距離画像の背景差分や、ＲＧＢ画像の肌色領域から手の領域を抽出し、上に述べたのと同様の方法（外形の曲率計算等）で、手領域のうちの指先を検出してもよい。この場合、検出した指先の座標はＲＧＢ画像や距離画像といった、２次元画像上の座標であるため、その座標における距離画像の距離情報を用いて、直交座標系の３次元座標に変換する必要がある。この時、指先点となる外形上の点ではなく、指先を検出するときに用いた、曲率円の中心を指先点としてもよい。
【００４３】
図６の（ｅ）は、図６の（ａ）に示したＳ６０４のジェスチャー判定処理のフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
Ｓ６４１では、Ｓ６０３で検出した指先が１つかどうか判定する。指先が１つでなければＳ６４６へ進み、ジェスチャー無しと判定してジェスチャー判定処理を終了する。Ｓ６４１において検出した指先が１つであればＳ６４２へ進み、検出した指先と書画台２０４を含む平面との距離を算出する。Ｓ６４３ではＳ６４２で算出した距離が微小な所定値以下であるかどうかを判定し、Ｓ６４３がＹＥＳであればＳ６４４へ進んで指先が書画台２０４へタッチした、タッチジェスチャーありと判定する。
Ｓ６４３においてＳ６４２で算出した距離が所定値以下で無ければＳ６４５へ進み、指先が移動したジェスチャー（タッチはしていないが指先が書画台２０４上に存在するジェスチャー）と判定し、ジェスチャー判定処理を行う。上述したように、ここで判定したジェスチャーおよびその座標はＳ６０５でメイン制御部４０２へ通知する。
【００４４】
＜物体検知部の処理＞
図８は、図４に示した物体検知部４１０のデータ処理を説明するフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
図８の（ａ）は、物体検知部４１０の処理の概要を示したフローチャートである。物体検知部４１０が処理を開始すると、Ｓ８０１では物体検知部初期化処理を行う。Ｓ８０２では物体が書画台２０４上に置かれたことの検知（物体載置検知処理）を行う。Ｓ８０３ではＳ９０２で検知した書画台２０４上の物体が除去されることの検知（物体除去検知処理）を行う。続いて、Ｓ８０１、Ｓ８０２、Ｓ８０３の処理の詳細を説明する。
【００４５】
図８の（ｂ）はＳ８０１の物体検知部初期化処理の詳細手順を示すフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。物体検知部初期化処理を開始すると、Ｓ８１１ではカメラ画像取得部４０７からカメラ部２０２が撮影したカメラ画像を１フレーム取得する。Ｓ８１２では取得したカメラ画像を書画台背景カメラ画像として保存しておく（以降、「書画台背景カメラ画像」と記載した場合はここで取得したカメラ画像のことを指す）。Ｓ８１３では、同じカメラ画像を前フレームカメラ画像として保存しておく。Ｓ８１４では距離画像取得部４０８から距離画像を１フレーム取得する。Ｓ８１５では取得した距離画像を書画台背景距離画像とし保存しておき、物体検知部初期化処理を終了する（以降、「書画台背景距離画像」と記載した場合はここで取得した距離画像のことを指す）。
【００４６】
図８の（ｃ）は、図８の（ａ）に示したＳ８０２の物体載置検知処理の詳細手順を示すフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
物体載置検知処理を開始すると、Ｓ８２１ではカメラ画像取得部４０７からカメラ画像を１フレーム取得する。Ｓ８２２では取得したカメラ画像と前フレームカメラ画像との差分を計算してその絶対値を合計した差分値を算出する。Ｓ８２３では算出した差分値があらかじめ決めておいた所定値以上かどうかを判定する。算出した差分値が所定値未満であれば書画台２０４上には物体が無いと判断し、Ｓ８２８へ進んで今のカメラ画像を前フレームカメラ画像として保存してからＳ８２１へ戻って処理を続ける。
Ｓ８２３において差分値が所定値以上であればＳ８２４へ進み、Ｓ８２１で取得したカメラ画像と前フレームカメラ画像との差分値を、Ｓ８２２と同様に算出する。Ｓ８２５では算出した差分値があらかじめ決めておいた所定値以下であるかどうかを判定する。Ｓ８２５において算出した差分値が所定値よりも大きければ書画台２０４上の物体が動いていると判断し、Ｓ８２８へ進んで今のカメラ画像を前フレームカメラ画像として保存してから、Ｓ８２１へ戻り処理を続ける。Ｓ８２５において算出した差分値が所定値以下であればＳ８２６へ進む。
Ｓ８２６では、Ｓ８２５が連続してＹＥＳとなった回数から、差分値が所定値以下、つまり書画台２０４上の物体が静止した状態があらかじめ決めておいたフレーム数続いたかどうかを判定する。Ｓ８２６において書画台２０４上の物体が静止した状態があらかじめ決めておいたフレーム数続いていないと判定したら、Ｓ８２８へ進んで今のカメラ画像を前フレームカメラ画像として保存し、Ｓ８２１へ戻って処理を続ける。
Ｓ８２６において書画台２０４上の物体が静止した状態があらかじめ決めておいたフレーム数続いたと判定したら、Ｓ８２７へ進んで物体が置かれたことをメイン制御部４０２へ通知し、物体載置検知処理を終了する。
【００４７】
図８の（ｄ）は、図８の（ａ）に示したＳ８０３の物体除去検知処理の詳細フローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
物体除去検知処理を開始するとＳ８３１ではカメラ画像取得部４０７からカメラ画像を１フレーム取得する。Ｓ８３２では取得したカメラ画像と書画台背景カメラ画像との差分値を算出する。Ｓ８３３では算出した差分値が予め決めておいた所定値以下かどうかを判定する。Ｓ８３３において算出した差分値が予め決めておいた所定値よりも大きければ書画台２０４上にまだ物体が存在するため、Ｓ８３１へ戻って処理を続ける。Ｓ８３３において算出した差分値が予め決めておいた所定値以下であれば書画台２０４上の物体が無くなったため、物体除去をメイン制御部４０２へ通知し、物体除去検知処理を終了する。
【００４８】
＜平面原稿画像撮影部の説明＞
図９は、図４に示した平面原稿画像撮影部４１１が実行する処理を説明するフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。図１０は、図４に示した平面原稿画像撮影部４１１の処理を説明するための模式図である。
平面原稿画像撮影部４１１は処理を開始すると、Ｓ８０１ではカメラ画像取得部４０７を介してカメラ部２０２からの画像を１フレーム取得する。ここで、カメラ部２０２の座標系は図２の（ｂ）で示したように書画台２０４に正対していないため、このときの撮影画像は、図１０の（ａ）に示すように対象物１００１、書画台２０４ともに歪んでいる。
Ｓ９０２では、書画台背景カメラ画像とＳ９０１で取得したカメラ画像との画素毎の差分を算出し、差分画像を生成した上で、差分のある画素が黒、差分の無い画素が白となるように二値化する。したがって、ここで生成した差分画像は、図１０の（ｂ）の差分領域１００２のように、対象物１００１の領域が黒色である（差分がある）画像となる。Ｓ９０３では差分領域１００２を用いて、図１０の（ｃ）のように対象物１００１のみの画像を抽出する。
Ｓ９０４では、抽出した原稿領域画像に対して階調補正を行う。Ｓ９０５では、抽出した原稿領域画像に対してカメラ座標系から書画台２０４への射影変換を行い、図１０の（ｄ）のように書画台２０４の真上から見た画像１００３に変換する。ここで用いる射影変換パラメータは、ジェスチャー認識部４０９の処理において、前述した図６の（ｂ）のＳ６１２で算出した平面パラメータとカメラ座標系から求めることができる。なお、図１０の（ｄ）に示したように、書画台２０４上への原稿の置き方により、ここで得られる画像１００３は傾いていることがある。
そこで、Ｓ９０６では、画像１００３を矩形近似してからその矩形が水平になるように回転し、図１０の（ｅ）で示した画像１００４のように傾きの無い画像を得る。Ｓ９０７では抽出した画像１００４に対して、あらかじめ決めておいた画像フォーマット（例えばＪＰＥＧ、ＴＩＦＦ、ＰＤＦ等）に合わせて圧縮およびファイルフォーマット変換を行う。
Ｓ９０８では生成した画像データを、データ管理部４０５を介してＨＤＤ３０５の所定の領域へファイルとして保存し、平面原稿画像撮影部４１１の処理を終了する。
【００４９】
＜書籍画像撮影部の処理＞
図１１は、図４に示した書籍画像撮影部４１２が実行するデータ処理を説明するフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。図１２は、図４に示した書籍画像撮影部４１２の処理を説明するための模式図である。
書籍画像撮影部４１２は処理を開始すると、Ｓ１１０１ではカメラ画像取得部４０７を用いてカメラ部２０２からカメラ画像を、距離画像取得部４０８を用いて、距離画像センサ部２０８から距離画像を、それぞれ１フレームずつ取得する。ここで得られるカメラ画像の例を図１２の（ａ）に示す。
図１２の（ａ）では、書画台２０４と撮影対象書籍１２１１を含むカメラ画像１２０１が得られている。図１２の（ｂ）はここで得られた距離画像の例である。図１２の（ｂ）では、距離画像センサ部２０８に近い方が濃い色であらわされており、距離画像センサ部２０８から対象物体１２１２上の各画素への距離が含まれる距離画像１２０２が得られている。
また、図１２の（ｂ）において、距離画像センサ部２０８からの距離が書画台２０４よりも遠い画素については白であらわされており、対象物体１２１２の書画台２０４に接している部分（対象物体１２１２では右側のページ）も同じく白色となる。
Ｓ１１０２では取得したカメラ画像と距離画像から書画台２０４上に載置された書籍物体の３次元点群を算出する演算処理を行う。Ｓ１１０３では取得したカメラ画像とＳ１１０２で算出した３次元点群から、書籍画像のゆがみ補正処理を行い、２次元の書籍画像を生成する。続いて、Ｓ１１０２およびＳ１１０３の処理について説明する。
【００５０】
図１１の（ｂ）は、図１１の（ａ）に示したＳ１１０２の書籍物体３次元点群算出処理を説明するフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
書籍物体に対する３次元点群算出処理を開始すると、Ｓ１１１１では距離画像１２０２と書画台背景カメラ画像との画素毎の差分を算出して二値化を行い、図１２の（ｃ）のように物体領域１２１３が黒で示されるカメラ差分画像１２０３を生成する。
Ｓ１１１２ではカメラ差分画像１２０３を、カメラ座標系から距離画像センサ座標系へ変換する演算処理を行い、図１２の（ｄ）のように距離画像センサ部２０８からみた物体領域１２１４を含むカメラ差分画像１２０４を生成する。Ｓ１１１３では距離画像と書画台背景距離画像との画素毎の差分を算出して二値化を行い、図１２の（ｅ）のように物体領域１２１５が黒で示される距離差分画像１２０５を生成する。ここで、対象物体である撮影対象書籍１２１１の書画台２０４と同じ色で有る部分については、画素値の差が小さくなるためカメラ差分画像１２０４中の物体領域１２１３に含まれなくなる場合がある。
また、対象物体１２１２の書画台２０４と高さが変わらない部分については距離センサ部２０８からの距離値が書画台２０４と差が小さいため、距離差分画像１２０５中の物体領域１２１５には含まれない場合がある。
そこで、Ｓ１１１４ではカメラ差分画像１２０４と距離差分画像１２０５の和をとって図１２の（ｆ）に示す物体領域画像１２０６を生成し、物体領域１２１６を得る。ここで物体領域１２１６は書画台２０４と比べて色が異なるかまたは高さが異なる領域となり、カメラ差分画像１２０３中の物体領域１２１３か距離差分画像１２０５中の物体領域１２１５のいずれか片方のみを使った場合よりも、より正確に物体領域を表している。
物体領域画像１２０６は距離画像センサ座標系であるため、Ｓ１１１５では距離画像１２０２から物体領域画像１２０６中の物体領域１２１６のみを抽出することが可能である。Ｓ１１１６では、Ｓ１１１５で抽出した距離画像を直交座標系に変換する演算処理を行うことにより図１２（ｇ）に示した３次元点群１２１７を生成する。この３次元点群１２１７が書籍物体の３次元点群であり、書籍物体３次元点群算出処理を終了する。
【００５１】
図１１の（ｃ）は、図１１の（ａ）に示したＳ１１０３の書籍画像ゆがみ補正処理を説明するフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
書籍画像ゆがみ補正処理を開始すると、Ｓ１１２１では物体領域画像１２０６を距離センサ画像座標系からカメラ座標系に変換する。Ｓ１１２２ではカメラ画像１２０１から物体領域画像１２０６中の物体領域１２１６をカメラ座標系に変換したものを用いて物体領域を抽出する。
Ｓ１１２３では抽出した物体領域画像を書画台平面へ射影変換する。Ｓ１１２４では射影変換した物体領域画像を矩形近似し、その矩形が水平になるように回転することによって、図１２の（ｈ）の書籍画像１２０８を生成する。書籍画像１２０８は近似矩形の片方の編がＸ軸に平行となっているため、以降書籍画像１２０８に対してＸ軸方向へのゆがみ補正処理を行う。
Ｓ１１２５では書籍画像１２０８の最も左端の点をＰとする（図１２の（ｈ）の点Ｐ）。Ｓ１１２６では書籍物体の３次元点群１２１７から点Ｐの高さ（図１２の（ｈ）のｈ１）を取得する。Ｓ１１２７では書籍画像１２０８の点Ｐに対してＸ軸方向に所定の距離（図１２の（ｈ）のｘ１）離れた点をＱとする（図１２の（ｈ）の点Ｑ）。Ｓ１１２８では３次元点群１２１７から点Ｑの高さ（図１２（ｈ）のｈ２）を取得する。Ｓ１２１９では点Ｐと点Ｑの書籍物体上での距離（図１２（ｈ）のｌ１）を直線近似で算出する。
数式２
2015170907.tif 000004
【００５２】
Ｓ１１３０では、算出した距離ｌ１でＰＱ間の距離を補正し、図１２の（ｈ）における画像１２１９上の点Ｐ'と点Ｑ'の位置に画素をコピーする。Ｓ１１３１では処理を行った点Ｑを点Ｐとし、Ｓ１１２８に戻って同じ処理を行うことによって図１２の（ｈ）の点Ｑと点Ｒの間の補正を実行することができ、画像１２１９上の点Ｑ'と点Ｒ'の画素とする。この処理を全画素について繰り返すことにより、画像１２１９はゆがみ補正後の画像となる。Ｓ１１３２ではゆがみ補正処理を全ての点について終えたかどうかを判断し、終えていれば書籍物体のゆがみ補正処理を終了する。以上のようにして、Ｓ１１０２、Ｓ１１０３の処理を行ってゆがみ補正を行った書籍画像を生成することができる。
【００５３】
ゆがみ補正を行った書籍画像の生成後、Ｓ１１０４では生成した書籍画像に階調補正を行う。Ｓ１１０５では生成した書籍画像に対して、あらかじめ決めておいた画像フォーマット（例えばＪＰＥＧ、ＴＩＦＦ、ＰＤＦ等）に合わせて圧縮およびファイルフォーマット変換を行う。Ｓ１１０６では生成した画像データを、データ管理部４０５を介してＨＤＤ３０５の所定の領域へファイルとして保存し、書籍画像撮影部４１２の処理を終了する。
【００５４】
＜立体形状測定部の説明＞
図１３は、図４に示した立体形状測定部４１３が実行するデータ処理を説明するフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。図１４は、図４に示した立体形状測定部４１３の処理を説明するための模式図である。
立体形状測定部４１３が処理を開始すると、Ｓ１３０１では書画台２０４内に設けられたターンテーブル２０９上の対象物に対して、カメラ部２０２とプロジェクタ部２０７を用いた３次元点群測定処理を行う。
図１３の（ｂ）は、図１３の（ａ）に示したＳ１３０１で実行する３次元点群測定処理のフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
３次元点群測定処理を開始すると、Ｓ１３１１では図１４の（ａ）に示したターンテーブル２０９上の対象物１４０１に対して、プロジェクタ部２０７から３次元測定パターン１４０２を投射する。Ｓ１３１２では、カメラ画像取得部４０７を介してカメラ部２０２からカメラ画像を１フレーム取得する。Ｓ１３１３では、取得したカメラ画像とカメラ部２０２およびプロジェクタ部２０７の位置関係から、３次元測定パターン１４０２上の各点の距離を測定する。
ここでの測定方法は、距離画像取得部４０８の処理において、図５のＳ５０３で説明した測定方法と同じである。
Ｓ１３１４では距離画像取得部４０８の処理と同様に、カメラ画像の各画素の距離値を算出し、距離画像を生成する。Ｓ１３１５では距離画像の各画素について直交座標系へ座標変換する所定の演算処理（座標変換処理）を行い、３次元点群を算出する。Ｓ１３１６では算出した３次元点群から書画台２０４の平面パラメータを用いて書画台平面に含まれる３次元点群を除去する。
そして、Ｓ１３１７では残った３次元点群の中から位置が大きく外れている点をノイズとして除去し、対象物１４０１の３次元点群１４０３を生成する。Ｓ１３１８ではプロジェクタ部２０７から投射している３次元測定パターン１４０２を消灯する。Ｓ１３１９ではカメラ画像取得部４０７を介してカメラ部２０２からカメラ画像を取得し、その角度から見たときのテクスチャ画像として保存し、３次元点群測定処理を終了する。
【００５５】
Ｓ１３０１の最初の３次元点群測定処理を行うと、Ｓ１３０２ではシリアルＩ／Ｆ３１０を介してターンテーブル２０９へ回転指示を行い、ターンテーブルを所定の角度、回転する。ここでの回転角度は小さければ小さいほど最終的な測定精度は高くなるが、その分測定回数が多くなり時間がかかるため、装置として適切な回転角度を予め決めておけば良い。Ｓ１３０３では、再び図１３（ｂ）の３次元点群測定処理を行う。
このとき、図１４の（ｃ）に示すようにターンテーブル２０９上の対象物１４０１と、プロジェクタ部２０７およびカメラ部２０２の角度が変わっている。そのため、図１４（ｄ）に示した３次元点群１４０４のように、Ｓ１３０１で得られた３次元点群１４０３とは異なる視点から見た３次元点群が得られる。ここで、３次元点群は、載置されたオブジェクトの立体形状を特性するデータである。
つまり、３次元点群１４０３ではカメラ部２０２およびプロジェクタ部２０７から死角領域となって一方のオブジェクトの３次元点群が算出できなかった部分の３次元点群が、３次元点群１４０４では含まれることになる（逆に、３次元点群１４０４には含まれない３次元点群が、３次元点群１４０３には含まれている）。
なお、死角領域撮影に際して、オブジェクトが撮影前の配置位置から他の配置位置へ移動されたかを判断して、カメラ部２０２に撮影させるように撮影制御を行う。
そこで、異なる視点から見た２つの３次元点群１４０３と１４０４を重ね合わせて合成する処理を行う。Ｓ１３０４ではＳ１３０３で測定した３次元点群１４０４を、ターンテーブルが初期位置から載置平面に対して回転した角度分逆回転移動させてカメラ部２０２により撮影させるように撮影制御することにより、３次元点群１４０３との位置を大まかに合わせた３次元点群１４０５を算出する。Ｓ１３０５では特徴点による３次元点群合成処理を行う。
図１３の（ｃ）は、図１３の（ａ）に示したＳ１３０５の３次元点群合成処理の詳細を示すフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
３次元点群合成処理を開始すると、Ｓ１３２１では合成対象の２つの３次元点群１４０３と１４０５から、それぞれコーナーとなる点を抽出し、３次元特徴点とする。Ｓ１３２２では３次元点群１４０３の特徴点と３次元点群１４０５の特徴点の対応をとって、すべての対応点同士の距離を算出して加算し、３次元点群１４０５の位置を動かしながら対応点同士の距離の和が最小となる位置を算出する。Ｓ１３２３では算出した位置に３次元点群１４０５を移動してから３次元点群１４０３と重ね合わせることにより、２つの３次元点群１４０３と１４０５を合成する。Ｓ１３２４では、合成により点の密度が大きくなっている部分があるため、点の密度が均一になるようにダウンサンプリングを行う。このようにして合成後の３次元点群１４０６を生成し、３次元点群合成処理を終了する。
【００５６】
Ｓ１３０５の３次元点群合成処理が終了するとＳ１３０６ではターンテーブル２０９が１周回転したかを判断する。Ｓ１３０６でまだターンテーブル２０９が１周回転していなければ、Ｓ１３０２へ戻ってターンテーブル２０９をさらに回転してからＳ１３０３を実行して別の角度の３次元点群を測定する。そしてＳ１３０４、Ｓ１３０５で既に生成した３次元点群１４０５と新たに測定した３次元点群との合成処理を行う。
このようにＳ１３０２からＳ１３０５の処理をターンテーブル２０９が１周するまで繰り返すことにより、対象物１４０１の３次元点群を生成することができる。
【００５７】
Ｓ１３０６でターンテーブル２０９が１周したと判断するとＳ１３０７へ進み、生成した３次元点群から３次元モデルを算出する処理を行う。
図１３の（ｄ）は、図１３の（ａ）に示すＳ１３０７の３次元モデル算出処理の詳細手順を示すフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。
３次元モデル算出処理を開始すると、Ｓ１３３１では３次元点群からノイズ除去および平滑化を行う。Ｓ１３３２では３次元点群の点を平面でつなぎ、メッシュ化を行う。Ｓ１３３３ではメッシュ化によって得られた平面へＳ１３１０で保存したテクスチャをテクスチャマッピングする。Ｓ１３３３ではテクスチャマッピング後のデータをＶＲＭＬやＳＴＬ等の標準的な３次元モデルデータフォーマットへ変換し、３次元モデル算出処理を終了する。
【００５８】
Ｓ１３０７の３次元モデル算出処理を終了すると、Ｓ１３０８では算出した３次元モデルを、データ管理部４０５を介してＨＤＤ３０５上の所定の領域に格納し、立体形状測定部４１３のデータ処理を終了する。
【００５９】
＜メイン制御部の説明＞
図１５Ａ〜図１５Ｃは、図４に示したメイン制御部４０２が実行するスキャンアプリケーションの処理を説明するフローチャートである。特に、図１５Ａの（ａ）は、図４に示したメイン制御部４０２の処理を示すフローチャートである。なお、各ステップは、ＣＰＵ３０２が対応する制御プログラム（図４に示すモジュール）を実行することで実現される。また、特に断らない場合、各ステップの制御主体は、メイン制御部４０２とする。
メイン制御部４０２が処理を開始すると、Ｓ１５０１で、格納方法と用紙サイズを選択させる。図１５Ｂの（ｅ）は格納方法／用紙サイズ選択処理を示すフローチャートである。
【００６０】
Ｓ１５４１で図１６Ａの（ｄ）に示した格納法選択開始画面を、ユーザインタフェース部４０３を介して書画台２０４に投射する。図１６Ａの（ｄ）において、格納形式（格納方法）の選択を促すメッセージ１６３１、「１ページ１個」ボタン１６３２、「１ページ１ステージ」ボタン１６３３である。「１ページ１個」ボタン１６３２は、ドキュメントの新規１ページに１個ずつ対象物のデータを格納することを選択する。「１ページ１ステージ」ボタン１６３３は、書画台２０４のターンテーブル２０９上においた対象物すべてをドキュメントの新規１ページ内に格納することを選択する。ステージは、書画台と同一の意味である。ユーザがいずれかのボタンを押下することでＳ１５４２に進む。ここで「１ページ１個」とは、複数のオブジェクトをそれぞれ分離して各ページに分けて格納することをいう。
【００６１】
Ｓ１５４２では、「１ページ１個」ボタン１６３２が押下されたときはＳ１５４３に進み、「１ページ１ステージ」ボタン１６３３が押下されたときは、Ｓ１５４４に進む。Ｓ１５４３では、１ページ１個処理用の用紙サイズ選択画面である図１６Ａ（ｅ）を投射する。
【００６２】
図１６Ａの（ｅ）で、メッセージ１６４０は用紙サイズの選択を促すメッセージ、枠１６３４は選択された用紙サイズを示す枠である。ページ領域を特定するボタン１６３５〜１６３９は用紙サイズを選択するボタンである。
【００６３】
同様にＳ１５４４では、１ページ１ステージ処理用の用紙サイズ選択画面である図１６Ｂの（ｈ）を投射する。図１６Ｂの（ｈ）で、メッセージ１６４０は用紙サイズの選択を促すメッセージ、枠１６３４は選択された用紙サイズを示す枠である。ボタン１６３６〜１６３９は用紙サイズを選択するボタンである。
次にＳ１５４５で選択された格納方法「１ページ１個」または「１ページ１ステージ（複数のオブジェクトをページ合成して格納する）」をＲＡＭ３０３に記憶する。
Ｓ１５４６では、ユーザによりボタン１６３５〜１６３８を押下されたときはＳ１５５１に進む。「その他」ボタン１６３９が押下されたときはＳ１５４７に進む。
【００６４】
Ｓ１５４７では、「その他」用の処理画面を投射する。図１６Ａの（ｆ）で、ボタン１６４１〜１６４３は最初の画面の図１６Ａの（ｅ）になかった定型用紙サイズが選択可能となる。ボタン１６４４は、定形外の用紙サイズを選択する場合に押下するボタン。ユーザがボタン１６４１〜１６４３を押下した場合はＳ１５５１に進む。ボタン１６４４を押下した場合は、Ｓ１５４９に進む。
【００６５】
Ｓ１５４９では図１６Ｂの（ｇ）に示す定形外用の用紙サイズを設定する画面を投射する。メッセージ１６４６は用紙サイズの設定を促すメッセージで、枠１６３４の４隅のマーク１６４５をタッチして移動することで用紙枠の大きさを設定する。
Ｓ１５５０で、確定ボタン１６４７が押下されたら、用紙枠の大きさが確定なのでＳ１５５１に進む。Ｓ１５５１では、選択された用紙サイズをＲＡＭ３０３に記憶して、格納方法／用紙サイズ選択処理を終了する。
【００６６】
Ｓ１５０２では書画台２０４にスキャンの対象物が載置されるのを待つ。図１５Ａの（ｂ）はＳ１５０２の対象物載置待ち処理の詳細である。対象物載置待ち処理を開始すると、Ｓ１５１１ではユーザインタフェース部４０３を介して、書画台２０４にプロジェクタ部２０７によって図１６Ａの（ａ）の画面を投射する。
図１６Ａの（ａ）の画面では、書画台２０４上に対象物を置くことをユーザに促すメッセージ１６０１を投射する。Ｓ１５１２では物体検知部４１０の処理を起動する。物体検知部４１０は図８のフローチャートで説明した処理の実行を開始する。Ｓ１５１３では、物体検知部４１０からの物体載置通知を待つ。物体検知部４１０が図８のＳ８２７の処理を実行して物体載置をメイン制御部４０２へ通知すると、Ｓ１５１３において物体載置通知ありと判断し、物体載置待ち処理を終了する。
【００６７】
Ｓ１５０２の物体載置待ち処理を終了すると、メイン制御部４０２は続いてＳ１５０３のスキャン実行処理を行う。図１５Ａの（ｄ）のフローチャートがＳ１５０３のスキャン実行処理の詳細である。
【００６８】
スキャン実行処理を開始すると、Ｓ１５３０で対象物の複数物体位置判別処理を行う。図１５Ｃの（ｇ）のフローチャートがＳ１５３０の対象物の複数物体位置判別処理の詳細である。
Ｓ１５８０では、距離画像を１フレーム取得し３次元点群に変換する。この処理はＳ６２１と同一である。
【００６９】
次にＳ１５８１で、３次元点群から高さが所定値以下の点とノイズ除去を行う。具体的には高さが０．１ｍｍ以下の点、孤立点をノイズとして除去する。残った点群から隣接する点を集めて一つにしたものを点群グループと呼ぶ。
図１６Ｂの（ｉ）は、ノイズ除去後の点群の状態を示している。点群グループ１６５１は、立体物である車の点群である。点群グループ１６５２は、紙の点群である。
【００７０】
次にＳ１５８２で、連続する点群から所定値以上の面積を占める点群グループの位置を対象物の位置としてＲＡＭ３０３に記憶する。点群グループの面積は書画台（ＸＹ平面）に対する射影の外接矩形の面積であり、たとえば１ｃｍ２以下の場合はノイズとして対象物としない。外接矩形の例としては図１６Ｂ（ｊ）の枠１６６０や枠１６６１である。個々の対象物の外接矩形の位置を記憶し、複数の対象物の位置判別処理を終了する。
【００７１】
Ｓ１５３１では、図１６Ａの（ｂ）に示したスキャン開始画面を、ユーザインタフェース部４０３を介して書画台２０４に投射する。図１６Ａの（ｂ）は、Ｓ１５３０の複数物体位置判別処理で書画台上の対象物がひとつと判定した場合の例である。図１６Ａの（ｂ）において、対象物１６１１がユーザによって載置されたスキャン対象物体である。撮影条件を設定する２Ｄスキャンボタン１６１２は平面原稿の撮影指示を受け付けるボタンである。撮影条件を設定するブックスキャンボタン１６１３は書籍原稿の撮影指示を受け付けるボタンである。
撮影条件を設定する３Ｄスキャンボタン１６１４は立体形状の測定指示を受け付けるボタンである。スキャン開始ボタン１６１５は選択したスキャンの実行開始指示を受け付けるボタンである。ユーザインタフェース部４０３は、前述したようにジェスチャー認識部４０９から通知されるタッチジェスチャーの座標とこれらのボタンを表示している座標から、いずれかのボタンがユーザによって押下されたことを検知する（以降、ユーザインタフェース部による検知の説明を省略して「ボタンへのタッチを検知する」と記載する）。また、ユーザインタフェース部４０３は、２Ｄスキャンボタン１６１２、ブックスキャンボタン１６１３、３Ｄスキャンボタン１６１４のそれぞれを排他的に選択できるようにしている。ユーザのいずれかのボタンへのタッチを検知すると、タッチされたボタンを選択状態とし、他のボタンの選択を解除する。
【００７２】
図１６Ｂの（ｊ）Ｓ１５３０の複数物体位置判別処理で書画台上の対象物が複数と判定し、ユーザが選択した格納方法が「１ページ１ステージ」、用紙サイズがＢ４である場合の例である。書画台の上に対象物が立体物である車１６６２と印刷物１６６３の２つが置かれている。
【００７３】
１ページ１ステージの格納方法の場合、ドキュメント作成時に各対象物をページ内のどこに配置するかの情報が必要となる。用紙枠１６６７および用紙枠に対する各対象物のＸＹ平面上の位置はＳ１５３０で取得しており、車１６６２の領域を示す枠１６６０と印刷物１６６３の領域を示す枠１６６１が投射されている。配置を変えたい場合は対象物を移動させることで変えることができる。物体配置修正部４１５は対象物の位置がユーザによって修正されていないかどうか監視する。確定するのはスキャン開始ボタン１６６６が押下されたときである。スキャンの種類を示す３種のボタン１６６４は、左側の車１６６２の枠１６６０に対するスキャンの種類をユーザに選択させるボタンである。この場合は、３Ｄスキャンをユーザは選択する。同様に３種のボタン１６６５は、右側の印刷物のスキャンの種類を選択させるボタンである。この場合は、２Ｄスキャンをユーザは選択する。
【００７４】
Ｓ１５３２では、図１６Ａの（ｂ）の例ではスキャン開始ボタン１６１５、図１６Ｂの（ｊ）の例ではスキャン開始ボタン１６６６または位置修正ボタン１６６８へのタッチを検知するまで待つ。Ｓ１５３２でスキャン開始ボタン１６１５またはスキャン開始ボタン１６６６へのタッチを検知したらＳ１５３３へ進む。位置修正ボタン１６６８へのタッチを検知したら対象物の位置がユーザにより変えられたのでＳ１５３０に戻り処理をやり直す。
【００７５】
Ｓ１５３３では、ユーザの選択したスキャン種別を判定する。２Ｄスキャンボタン１６１２が選択状態であればＳ１５３４へ、ブックスキャンボタン１６１３が選択状態であれば、Ｓ１５３５へ、３Ｄスキャンボタン１６１４が選択状態であればＳ１５３６へ進む。Ｓ１５３４では平面原稿画像撮影部４１１の処理を実行する。Ｓ１５３５では書籍画像撮影部４１２の処理を実行する。Ｓ１５３６では立体形状測定部４１３の処理を実行する。
【００７６】
次にＳ１５３７で、書画台上の対象物のすべてのスキャンを実施したか判定し、すべてスキャンした場合は、スキャン実行処理を終了する。書画台上に複数の対象物を置いたケースでまだスキャンができていない対象物がある場合はＳ１５３３に戻り処理を継続する。
【００７７】
これらのスキャン実行処理により、すべての対象物の２次元データまたは３次元データをデータ管理部４０５がＲＡＭ３０３に格納する。また、格納方法が１ページ１ステージの場合は、原稿に対する相対的な位置も合わせて格納する。
【００７８】
Ｓ１５０３のスキャン実行処理を終了すると、メイン制御部４０２は続いてＳ１５０４の物体除去待ち処理を行う。図１５Ａの（ｃ）は物体除去待ち処理のフローチャートである。物体除去待ち処理を開始すると、Ｓ１５２１では図１６Ａの（ｃ）に示したスキャン終了画面を表示する。
図１６Ａの（ｃ）のスキャン終了画面では、スキャンが終了した旨をユーザに通知するメッセージ１６２１を投射する。Ｓ１５２２では、物体検知部４１０からの物体除去通知を受信するのを待つ。ここで、物体除去通知は、物体検知部４１０が図８のＳ８３４で通知するものである。Ｓ１５２２で物体除去通知があると、物体除去待ち処理を終了する。Ｓ１５０４の物体除去待ち処理を終了すると、メイン制御部４０２はＳ１５０１へ進む。
【００７９】
Ｓ１５０１では、ボタン１６２２が押下されたときは、Ｓ１５０６に進む。あらかじめ設定した待機時間を過ぎた場合は、スキャン継続とみなしＳ１５０２へ戻り、図１６Ａの（ａ）の初期画面を表示して書画台２０４への物体載置を待つ。このようにすることで、ユーザが複数の原稿をスキャンしたい場合に、書画台２０４上の原稿を取り換えたことを検知することができ、複数の原稿のスキャンを実行できる。
Ｓ１５０６では、ドキュメント作成処理を行う。図１５Ｃの（ｆ）は詳細を示すフローチャートである。
Ｓ１５６０でユーザが選択した格納方法を確認する。「１ページ１個」の場合はＳ１５６１に進み、「１ページ１ステージ」の場合はＳ１５６７に進む。
Ｓ１５６１では、ユーザが選択した用紙サイズを確認する。自動の場合はＳ１５６２に進む。それ以外の場合はＳ１５６３に進む。
Ｓ１５６２では、スキャンしたデータと同じ用紙サイズの新規ページ作成を行う。つまり対象物の大きさ（外接矩形）がＡ４であれば新規ページの用紙サイズをＡ４にする。
【００８０】
次にＳ１５６４で、データをページに配置する。ＰＤＦ（電子文書データ）であればＡ４サイズのページ辞書を作成して新規ページを作り、そこに対象物が紙や本であれば２次元データであるＪＰＥＧ画像をページ内に配置する。同様に対象物が立体物であれば３次元データであるＵ３Ｄデータをページ内に配置する。３次元データの最初に見える位置や大きさはデフォルトビューとしてＰＤＦ内の３次元注釈辞書に格納されている。
同様に用紙サイズが自動でなくひとつの定型サイズに収める場合はＳ１５６３で、対象物の大きさによらずユーザが選択した用紙サイズの新規ページを作成する。
【００８１】
次にＳ１５６５にて、データを用紙サイズに変倍してページに配置する。たとえば、対象物がＡ３の印刷物であり、ドキュメントに選択されている用紙サイズがＢ４であれば、Ａ４→Ｂ４の縮小を行いＰＤＦに格納する。
【００８２】
Ｓ１５６６ではすべての対象物のデータを処理したか判定する。すべてを処理していない場合はＳ１５６１に戻り処理を継続する。すべて処理した場合はドキュメント作成処理を終了する。
Ｓ１５６０でユーザが選択した格納方法が１ページ１ステージである場合について説明する。Ｓ１５６７で、ユーザが選択した用紙サイズの新規ページを作成する。
次にＳ１５６８でステージを一つ選択する。
【００８３】
Ｓ１５６９で、対象物のスキャン時に１ページ１ステージの格納方法の場合はステージごとに対象物のデータが記憶されているので、ステージ内の対象物のデータの情報を取り出す。ページ内の位置情報に従いＰＤＦの新規ページ内に対象物のデータを格納する。
たとえば図１６Ｂの（ｊ）のような場合は、Ｂ４用紙サイズとなる用紙枠１６６７の中に左側に車１６６２の３次元データ、右側に印刷物１６６３のＪＰＥＧデータがＰＤＦのページ内に格納される。
【００８４】
次にＳ１５７０でステージ内のデータを処理したか判定する。まだ対象物のデータが残っている場合は、Ｓ１５６９に戻ってページ内にデータを配置する。すべての対象物を処理した場合は、Ｓ１５７１に進む。
【００８５】
Ｓ１５７１では、すべてのステージを処理したか判定する。ステージが残っている場合は、Ｓ１５６８に戻って処理を継続する。残っていない場合は、ドキュメント作成処理を終了する。
【００８６】
以上のように、第１実施形態ではユーザが平面原稿のスキャンを行うか、厚みのある書籍のスキャンを行うか、立体形状測定をおこなうかを選択できるようにした。なお、スキャンのモードが３種類すべて必要無い場合、例えば、ユーザの設定等により平面原稿のスキャンと厚みのある書籍のスキャンの２種類を実行すれば良い場合も考えられる。その場合、実行する２つのスキャンを選択できるように表示を行えばよい。
具体的には、図１６Ａの（ｂ）において２Ｄスキャンボタン１６１２、ブックスキャンボタン１６１３、スキャン開始ボタン１６１５のみを投射することにより、２種類のスキャンを選択するユーザの入力を受け付けることができる。また、スキャンのモードが１種類のみであればよい場合、例えば、ユーザの設定等により平面原稿のスキャンのみ、あるいは、書籍のスキャンのみを実行すれば良い場合も考えられる。
その場合、図１６Ａの（ｂ）においてはスキャン開始ボタン１６１５のみを投射し、ユーザのスキャン種類の選択を受け付けることなく、スキャン開始ボタン１７１５へのタッチを検知したときにスキャンを実行すれば良い。また、このようにスキャンのモードが１種類のみである場合、書画台２０４への物体の載置を検知したとき、図１６Ａの（ｂ）のようなスキャン操作画面を投射せず、すぐにスキャンを実行しても良い。
【００８７】
〔第２実施形態〕
第１実施形態の構成のカメラスキャナにおいて、物体配置表示部４１４は書画台２０４上にドキュメントの用紙サイズを示す枠もしくは対象物の占める領域を示す枠を表示する。
図１６Ｂの（ｊ）では用紙枠１６６７、対象物の領域を示す枠１６６０、枠１６６１である。
対象物が立体物である場合、プロジェクタ部２０７からの枠の投射が立体物にかかって正しく枠が投射できないことがある。
第１実施形態では、それらの枠を四角形により投射して示したが、領域を示せればどのような方法でも構わない。
【００８８】
例えば、図１７の（ａ）の４本の直線１７００で囲まれた領域を用紙枠として示しても良い。立体物に投影がかかってしまっても、直線を書画台いっぱいに投射することによりユーザが用紙サイズや対象物の占める領域を容易に知ることができる。
【００８９】
〔第３実施形態〕
第１実施形態の構成を備えるカメラスキャナにおいて、物体配置表示部４１４は書画台２０４上にドキュメントの用紙サイズを示す枠もしくは対象物の占める領域を示す枠を表示する。図１６Ｂの（ｊ）では用紙枠１６６７、対象物の領域を示す枠１６６０、枠１６６１である。
対象物が立体物である場合、プロジェクタ部２０７からの枠の投射が立体物にかかって正しく枠が投射できないことがある。
第１実施形態では、それらの枠を四角形により投射して示したが、領域を示せればどのような方法でも構わない。
【００９０】
たとえば、図１７の（ｂ）のように用紙枠の外側に領域を示すマーカー１７１０を示して補助しても良い。立体物に投影がかかってしまっても、マーカー１７１０を書画台の端の方に投射することによりユーザが用紙サイズや対象物の占める領域を容易に知ることができる。
【００９１】
〔第４実施形態〕
第１実施形態の構成を備えるカメラスキャナにおいて、物体配置表示部４１４は書画台２０４上にドキュメントの用紙サイズを示す枠もしくは対象物の占める領域を示す枠を表示する。図１６Ｂの（ｊ）では用紙枠１６６７、対象物の領域を示す枠１６６０、枠１６６１である。
対象物が立体物である場合、プロジェクタ部２０７からの枠の投射が立体物にかかって正しく枠が投射できないことがある。
第１実施形態では、それらの枠を四角形により投射して示したが、領域を示せればどのような方法でも構わない。
たとえば、書画台２０４上にあらかじめ良く使う用紙サイズを印刷しておく、または印刷した紙などを敷いておいてもかまわない。
たとえば、Ａ４ポートレートの枠が書画台２０４に印刷されている場合で説明する。
ユーザが選択した用紙サイズがＡ４の場合は、書画台にあらかじめ図１７の（ｃ）のようにＡ４枠が印刷されているため、立体物やプロジェクタの位置によらず確認することが可能である。
ただし、その場合にユーザがＡ４サイズを選ばなかったときに問題となる。
【００９２】
そこで、本実施形態では、ユーザが選択した用紙サイズが書画台に印刷されている用紙枠の大きさと異なる場合のみ第１実施形態の図１５Ｂの（ｅ）のＳ１５４６において用紙サイズを示す枠を投影することを特徴とする。
【００９３】
このように立体物に投影がかかってしまうような場合でも、Ａ４サイズなど良く使う用紙サイズの枠を書画台にあらかじめ印刷しておき、Ａ４と異なる用紙サイズがユーザに選択されたときのみ用紙枠を投影することで、立体物を置いても多くの場合にユーザが用紙サイズ領域を正しく知ることができる。
【００９４】
〔第５実施形態〕
第１実施形態では物体配置修正部４１５がスキャン実行処理Ｓ１５０３のＳ１５３２において、用紙枠に対する位置を読み取り、ＰＤＦなどのドキュメント作成時に同様の位置関係の配置で構成されたページを持つようにドキュメントを作成した。配置を決定する手段は、スキャン実行時でなくても同様の効果が得られる。
【００９５】
Ｓ１５０６のドキュメント作成処理において図１７の（ｄ）に示すように対象物のデータのサムネール画像１７３０を書画台の上部に並べ、書画台の下部に用紙枠１７３４を投射する。指１７３１のようにサムネールにタッチして指１７３３の位置にドラッグすることにより用紙枠１７３４に対してサムネール画像１７３２の位置に対象物のデータを配置するように示しても良い。
また、ユーザによるマーカーの指示動作を認識して、当該移動指示を認識することに応じて、ページ領域を調整するように構成してもよい。
【００９６】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００９７】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００９８】
１０１  カメラスキャナ
２０１  コントローラ部
２０２  カメラ部
２０４  書画台
２０７  プロジェクタ
２０８  距離画像センサ部
【図１】
2015170907.tif 000005
【図２】
2015170907.tif 000006
【図３】
2015170907.tif 000007
【図４】
2015170907.tif 000008
【図５】
2015170907.tif 000009
【図６】
2015170907.tif 000010
【図７】
2015170907.tif 000011
【図８】
2015170907.tif 000012
【図９】
2015170907.tif 000013
【図１０】
2015170907.tif 000014
【図１１】
2015170907.tif 000015
【図１２】
2015170907.tif 000016
【図１３】
2015170907.tif 000017
【図１４】
2015170907.tif 000018
【図１５Ａ】
2015170907.tif 000019
【図１５Ｂ】
2015170907.tif 000020
【図１５Ｃ】
2015170907.tif 000021
【図１６Ａ】
2015170907.tif 000022
【図１６Ｂ】
2015170907.tif 000023
【図１７】
2015170907.tif 000024