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