(57)【特許請求の範囲】
【請求項１】
原稿を置くことが可能な台を備える画像処理装置であって、
前記台の撮像領域を撮像する撮像手段と、
前記撮像手段による撮像により得られた画像を、前記台の上の撮像領域内に投影する投影手段と、
前記撮像手段を介して前記撮像領域を撮像することで、前記撮像手段を介する前記台に置かれた前記原稿の撮像により得られる画像の補正のための補正パラメータの決定に用いられるキャリブレーション用画像を取得する取得手段と、
前記キャリブレーション用画像からエッジを検知する検知手段と、
前記キャリブレーション用画像における前記検知手段により検知されたエッジを囲む第１の領域を決定する決定手段と、
前記キャリブレーション用画像における前記第１の領域に対応する前記補正パラメータを、前記キャリブレーション用画像における前記第１の領域の周辺画素に対応する前記補正パラメータを用いて修正する修正手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記修正手段は、前記キャリブレーション用画像における前記第１の領域に対応する前記補正パラメータを、前記キャリブレーション用画像における前記第１の領域の周辺画素に対応する前記補正パラメータを用いて補間することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記検知手段は、前記キャリブレーション用画像からエッジ抽出フィルタに基づいて、エッジを検知することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記第１の領域の大きさが閾値以上である場合、前記第１の領域の大きさが閾値以上であることを通知する通知手段を更に有し、
前記検知手段は、前記第１の領域の大きさが閾値以上である場合、更に、前記エッジ抽出フィルタの係数を変更し、係数を変更した前記エッジ抽出フィルタに基づいて、前記キャリブレーション用画像からエッジを検知し、
前記決定手段は、前記検知手段により、前記係数が変更された前記エッジ抽出フィルタに基づいて前記キャリブレーション用画像から検知されたエッジを囲む領域を第２の領域として決定することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記修正手段は、前記キャリブレーション用画像における前記第２の領域の周囲画素に対応する前記補正パラメータを用いて、前記キャリブレーション用画像における前記第２の領域に対応する前記補正パラメータを補間し、前記キャリブレーション用画像における前記第１の領域のうち前記第２の領域を除いた領域の周囲画素に対応する前記補正パラメータを用いて、前記領域に対応する前記補正パラメータを補間することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記第１の領域を表示する表示手段を更に有することを特徴とする請求項１乃至５何れか１項記載の画像処理装置。
【請求項７】
前記キャリブレーション用画像における前記第１の領域を除いた領域に撮影可能領域を特定し、特定した前記撮影可能領域を表示する表示手段を更に有することを特徴とする請求項１乃至５何れか１項記載の画像処理装置。
【請求項８】
原稿を置くことが可能な台と、前記台の撮像領域を撮像する撮像手段と、前記撮像手段による撮像により得られた画像を、前記台の上の撮像領域内に投影する投影手段と、を有する情報処理装置が実行する情報処理方法であって、
前記撮像手段を介して前記撮像領域を撮像することで、前記撮像手段を介する前記台に置かれた前記原稿の撮像により得られる画像の補正のための補正パラメータの決定に用いられるキャリブレーション用画像を取得する取得ステップと、
前記キャリブレーション用画像からエッジを検知する検知ステップと、
前記キャリブレーション用画像における前記検知ステップで検知されたエッジを囲む第１の領域を決定する決定ステップと、
前記キャリブレーション用画像における前記第１の領域に対応する前記補正パラメータを、前記キャリブレーション用画像における前記第１の領域の周辺画素に対応する前記補正パラメータを用いて修正する修正ステップと、
を含むことを特徴とする情報処理方法。
【請求項９】
原稿を置くことが可能な台と、前記台の撮像領域を撮像する撮像手段と、前記撮像手段による撮像により得られた画像を、前記台の上の撮像領域内に投影する投影手段と、を有するコンピュータに、
前記撮像手段を介して前記撮像領域を撮像することで、前記撮像手段を介する前記台に置かれた前記原稿の撮像により得られる画像の補正のための補正パラメータの決定に用いられるキャリブレーション用画像を取得する取得ステップと、
前記キャリブレーション用画像からエッジを検知する検知ステップと、
前記キャリブレーション用画像における前記検知ステップで検知された前記エッジを囲む第１の領域を決定する決定ステップと、
前記キャリブレーション用画像における前記第１の領域に対応する前記補正パラメータを、前記キャリブレーション用画像における前記第１の領域の周辺画素に対応する前記補正パラメータを用いて修正する修正ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、文書をスキャンして電子データとして保存する装置には、撮像にラインセンサを用いるラインスキャナと、二次元の撮像センサを用いるカメラスキャナと、がある。特に、書画台の上方にカメラを配置し、書画台に原稿を上向きに置いて撮像するカメラスキャナの場合には、カメラと書画台との間がラインスキャナの場合のように閉空間ではないため、カメラスキャナの設置位置によって、外光や照明光の影響が生じる。
したがって、カメラスキャナは、撮影原稿から得られる画像データの画質をよくするために、設置環境に応じてキャリブレーションを行い、得られた補正用パラメータを用いて撮影原稿に補正処理を行う必要がある。
また、書画台は、使用するにつれてゴミや汚れの付着等が発生する。書画台に原稿を置くと、ゴミや汚れ等の付着物は、原稿に隠れて撮影原稿に影響しない。しかし、外光や照明光の影響は、原稿を置いても変化しない。そのため、カメラスキャナは、補正パラメータを取得するため書画台を撮影して行うキャリブレーション処理の際、ゴミや汚れ等の付着物と外光や照明光とを区別し、ゴミや汚れ等の付着物の影響を除く処理を行う必要がある。
特許文献１に開示されている画像読取装置は、画像ムラの発生原因が光路に付着したゴミか、撮像素子の感度ムラによるものか、を識別し、適切な処理を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１１０１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の画像読取装置においては、光路に付着したゴミの影響を画像中の黒色を特定することで識別する方式のため、画像中の付着物の色が黒色以外の場合には正しく識別することが難しいといった問題がある。
そこで、本発明は、付着物の色に関わらず付着物を特定することを目的とする。
【課題を解決するための手段】
【０００５】
そこで、本発明の画像処理装置は、原稿を置くことが可能な台を備える画像処理装置であって、前記台の撮像領域を撮像する撮像手段と、前記撮像手段による撮像により得られた画像を、前記台の上の撮像領域内に投影する投影手段と、前記撮像手段を介して前記撮像領域を撮像することで、前記撮像手段を介する前記台に置かれた前記原稿の撮像により得られる画像の補正のための補正パラメータの決定に用いられるキャリブレーション用画像を取得する取得手段と、前記キャリブレーション用画像からエッジを検知する検知手段と、前記キャリブレーション用画像における前記検知手段により検知されたエッジを囲む第１の領域を決定する決定手段と、前記キャリブレーション用画像における前記第１の領域に対応する前記補正パラメータを、前記キャリブレーション用画像における前記第１の領域の周辺画素に対応する前記補正パラメータを用いて修正する修正手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、付着物の色に関わらず付着物を特定することができる。
【図面の簡単な説明】
【０００７】
【図１】カメラスキャナシステムのシステム構成の一例を示す図である。
【図２】カメラスキャナの外観等の一例を示す図である。
【図３】コントローラ部のハードウェア構成の一例を示す図である。
【図４】カメラスキャナの機能構成等の一例を示す図である。
【図５】距離画像取得部の処理の一例を示すフローチャート及び説明図である。
【図６】ジェスチャー認識部の処理の一例を示すフローチャートである。
【図７】ジェスチャー認識部の処理の説明図である。
【図８】キャリブレーション制御部の処理の一例を示すフローチャートである。
【図９Ａ】平面原稿撮影部の処理の一例を示すフローチャートである。
【図９Ｂ】平面原稿撮影部の処理の一例を示すフローチャートである。
【図９Ｃ】平面原稿撮影部の処理の一例を示すフローチャートである。
【図１０】キャリブレーション制御部が扱う情報の一例を示す図である。
【図１１】メイン制御部の処理の一例を示すフローチャートである。
【図１２】ユーザインターフェイス部に投射される画面の一例を示す図である。
【図１３】ユーザインターフェイス部に投射される画面の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
（カメラスキャナシステムのシステム構成）
本実施形態に係るカメラスキャナ１０１が含まれるカメラスキャナシステムのシステム構成の一例を図１に示す。
カメラスキャナ１０１は、ローカルエリアネットワーク等のネットワーク１０４を介して、ホストコンピュータ１０２、プリンタ１０３等に接続されている。カメラスキャナ１０１は、ホストコンピュータ１０２等の情報処理装置からの指示に基づいて、画像を読み取るスキャン機能、プリンタ１０３を介して、スキャンデータを出力するプリント機能等の機能を実行することができる。また、カメラスキャナ１０１は、ホストコンピュータ１０２を介さず、ユーザインターフェイス等を介したユーザの操作に基づいて、スキャン機能、プリント機能等の実行もできる。
【００１０】
（カメラスキャナの概要）
図２は、カメラスキャナの外観等の一例を示す図である。
図２（ａ）は、カメラスキャナ１０１の外観の一例を示す図である。カメラスキャナ１０１は、コントローラ部２０１、カメラ部２０２、腕部２０３、プロジェクタ２０７、距離画像センサ部２０８等を含む。カメラスキャナ１０１の本体であるコントローラ部２０１、撮像を行うためのカメラ部２０２、プロジェクタ２０７及び距離画像センサ部２０８は、腕部２０３を介して連結されている。腕部２０３は、関節、伸縮するための機構、固定するための機構等を有しており、曲げ伸ばし固定ができる。
【００１１】
図２（ａ）には、カメラスキャナ１０１が設置されている書画台２０４も示されている。カメラ部２０２及び距離画像センサ部２０８のレンズは、書画台２０４方向に向けられており、破線で囲まれた読み取り領域２０５内の画像を読み取ることができる。図２（ａ）の例では、原稿２０６は、読み取り領域２０５内に置かれている。そのため、カメラスキャナ１０１は、原稿２０６を読み取ることができる。
カメラ部２０２は、単一解像度で画像を撮像することができるが、高解像度画像撮像と低解像度画像撮像とを切り替えることもできる。
なお、図３で後述するように、カメラスキャナ１０１は、ＬＣＤタッチパネル３３０及びスピーカ３４０等を更に含む。
【００１２】
図２（ｂ）は、カメラスキャナ１０１における座標系を示す図である。カメラスキャナ１０１は、カメラ部２０２、距離画像センサ部２０８、プロジェクタ２０７に対して、それぞれカメラ座標系、距離画像座標系、プロジェクタ座標系という座標系を定義する。
カメラ座標系は、カメラ部２０２が撮像する画像平面をＸＹ平面とし、画像平面に直交した方向をＺ方向として定義したものである。距離画像座標系は、図３で後述する距離画像センサ部２０８のＲＧＢカメラ３６３が撮像する画像平面をＸＹ平面とし、画像平面に直交した方向をＺ方向として定義したものである。プロジェクタ座標系は、プロジェクタ２０７が投影する画像平面をＸＹ平面とし、画像平面に直交した方向をＺ方向として定義したものである。
更に、それぞれ独立したカメラ座標系、距離画像座標系、プロジェクタ座標系の三次元データを統一的に扱えるようにするために、書画台２０４を含む平面をＸＹ平面とし、ＸＹ平面から上方に垂直な向きをＺ軸とする直交座標系を定義する。
【００１３】
図２（ｃ）は、座標系の変換を説明する図である。図２（ｃ）は、直交座標系と、カメラ部２０２を中心としたカメラ座標系を用いて表現された空間と、カメラ部２０２が撮像する画像平面との関係を示す。直交座標系における三次元点Ｐ［Ｘ、Ｙ、Ｚ］は、次の式（１）によって、カメラ座標系における三次元点Ｐｃ［Ｘｃ、Ｙｃ、Ｚｃ］へ変換される。
【数１】
0006478641.tif 000002
式（１）のＲｃ及びｔｃは、それぞれ直交座標系に対するカメラの姿勢（回転）と位置（並進）によって求まる外部パラメータである。Ｒｃは、３×３の回転行列である。ｔｃは、並進ベクトルである。
逆に、カメラ座標系で定義された三次元点は、次の式（２）によって、直交座標系へ変換される。
【数２】
0006478641.tif 000003
【００１４】
カメラ部２０２で撮影される二次元のカメラ画像平面は、カメラ部２０２によって三次元空間中の三次元情報が二次元情報に変換されたものである。即ち、カメラ座標系上での三次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］は、次の式（３）によって、カメラ画像平面での二次元座標ｐｃ［ｘｐ，ｙｐ］に透視投影変換で変換される。
【数３】
0006478641.tif 000004
式（３）のＡは、カメラの内部パラメータと呼ばれ、焦点距離、画像中心等に基づいて、表現される３×３の行列である。
以上のように、式（１）と式（３）とを用いることで、カメラスキャナ１０１は、直交座標系で表された三次元点群を、カメラ座標系での三次元点群座標やカメラ画像平面上の座標に変換することができる。なお、カメラ部２０２、距離画像センサ部２０８、プロジェクタ２０７の内部パラメータ及び直交座標系に対する位置姿勢（外部パラメータ）は、公知のキャリブレーション手法により予めキャリブレーションされているものとする。以下では、特に断りがなく三次元点群と表記した場合、直交座標系における三次元データを表しているものとする。
【００１５】
（カメラスキャナのコントローラのハードウェア構成）
図３は、コントローラ部２０１のハードウェア構成の一例を示す図である。コントローラ部２０１は、カメラスキャナ１０１の本体である。
コントローラ部２０１は、ＣＰＵ３０２、ＲＡＭ３０３、ＲＯＭ３０４、ＨＤＤ３０５、ネットワークＩ／Ｆ３０６、画像処理プロセッサ３０７、カメラＩ／Ｆ３０８、ディスプレイコントローラ３０９を含む。また、コントローラ部２０１は、シリアルＩ／Ｆ３１０、オーディオコントローラ３１１、ＵＳＢコントローラ３１２等を含む。コントローラ部２０１のハードウェア構成要素３０２〜３１２は、システムバス３０１を介して相互に接続されている。
ＣＰＵ３０２は、コントローラ部２０１全体の動作を制御する中央演算装置である。ＲＡＭ３０３は、揮発性メモリである。ＲＯＭ３０４は、不揮発性メモリであり、ＣＰＵ３０２の起動用プログラム等が格納されている。ＨＤＤ３０５は、ＲＡＭ３０３と比較して大容量なハードディスクドライブ（ＨＤＤ）等である。ＨＤＤ３０５は、コントローラ部２０１の実行する、カメラスキャナ１０１の制御用プログラム等が格納されている。
【００１６】
ＣＰＵ３０２は、電源ＯＮ等のカメラスキャナ１０１の起動の際、ＲＯＭ３０４に格納されている起動用プログラムをＲＡＭ３０３に展開して、実行する。前記起動用プログラムは、ＨＤＤ３０５等に格納されている制御用プログラムを読み出し、ＲＡＭ３０３上に展開する処理を実行するためのプログラムである。
ＣＰＵ３０２は、前記起動用プログラムを実行すると、続けてＲＡＭ３０３上に展開したカメラスキャナ１０１の制御用プログラムを実行し、カメラスキャナ１０１の制御を行う。また、ＣＰＵ３０２は、前記制御用プログラムによる動作に用いるデータを、ＨＤＤ３０５等から読み出し、ＲＡＭ３０３上に格納して読み書きを行う。ＨＤＤ３０５は、更に、制御用プログラムによる動作に必要な各種設定や、また、カメラ入力によって生成した画像データを格納する。ＣＰＵ３０２は、ＨＤＤ３０５により格納される前記各種設定、前記画像データを読み書きする。ＣＰＵ３０２は、ネットワークＩ／Ｆ３０６を介して、ネットワーク１０４上の他の機器との通信を行う。
【００１７】
画像処理プロセッサ３０７は、ＲＡＭ３０３に格納された画像データを読み出して画像処理を施し、ＲＡＭ３０３へ書き戻す。なお、画像処理プロセッサ３０７が実行する画像処理は、回転、変倍、色変換等の処理である。
ＣＰＵ３０２は、カメラＩ／Ｆ３０８を介して、カメラ部２０２及び距離画像センサ部２０８と接続され、カメラ部２０２から画像データを、距離画像センサ部２０８から距離画像データを取得してＲＡＭ３０３へ書き込む。また、ＣＰＵ３０２は、カメラＩ／Ｆ３０８を介して、制御コマンドをカメラ部２０２及び距離画像センサ部２０８へ送信し、カメラ部２０２及び距離画像センサ部２０８の設定を行う。
ＣＰＵ３０２は、ディスプレイコントローラ３０９を介して、ＬＣＤタッチパネル３３０等のディスプレイへの画像データの表示を制御する。また、ＣＰＵ３０２は、ディスプレイコントローラ３０９を介して、プロジェクタ２０７が出力する画像データを制御する。ディスプレイコントローラ３０９は、プロジェクタ２０７及びＬＣＤタッチパネル３３０に接続されている。
【００１８】
ＣＰＵ３０２は、シリアルＩ／Ｆ３１０を介して、シリアル信号の入出力を行う。シリアルＩ／Ｆ３１０は、ＬＣＤタッチパネル３３０に接続される。ＣＰＵ３０２は、ＬＣＤタッチパネル３３０が押下された際に、シリアルＩ／Ｆ３１０を介して、押下された座標を取得する。
オーディオコントローラ３１１は、スピーカ３４０に接続さる。ＣＰＵ３０２は、オーディオコントローラ３１１を介して、音声データをアナログ音声信号に変換し、スピーカ３４０を通じて音声を出力する。
ＣＰＵ３０２は、ＵＳＢコントローラ３１２を介して、外付けのＵＳＢデバイスの制御を行う。ＵＳＢコントローラ３１２は、ＵＳＢメモリやＳＤカード等の外部メモリ３５０に接続される。ＣＰＵ３０２は、ＵＳＢコントローラ３１２を介して、外部メモリ３５０へのデータの読み書きを行う。
【００１９】
ＣＰＵ３０２が、ＲＡＭ３０３又はＨＤＤ３０５に記憶されたプログラムに基づき処理を実行することによって、後述するカメラスキャナ１０１の機能及び後述するフローチャートの処理が実現される。
以下の処理で利用される種々の閾値は、ＨＤＤ３０５等に保存されているものとする。また、ＣＰＵ３０２は、ＬＣＤタッチパネル３３０等を介したユーザの操作に基づいて、ＨＤＤ３０５等に保存された閾値の値を変更することができる。
【００２０】
（カメラスキャナの機能構成）
図４は、カメラスキャナ１０１の機能構成等の一例を示す図である。図４（ａ）は、ＣＰＵ３０２が実行するカメラスキャナ１０１の機能構成４０１を示す図である。また、図４（ｂ）は、カメラスキャナ１０１の各モジュールの関係をシーケンス図として示したものである。
カメラスキャナ１０１の制御用プログラムは、ＨＤＤ３０５に格納され、ＣＰＵ３０２により起動の際にＲＡＭ３０３上に展開されて実行される。
メイン制御部４０２は、制御の中心であり、カメラスキャナ１０１の他のモジュールを図４（ｂ）のシーケンス図に示すように制御する。
【００２１】
画像取得部４１６は、画像入力処理を行うモジュールであり、カメラ画像取得部４０７、距離画像取得部４０８等を含む。カメラ画像取得部４０７は、カメラＩ／Ｆ３０８を介してカメラ部２０２が出力する画像データを取得し、ＲＡＭ３０３へ格納する。距離画像取得部４０８は、カメラＩ／Ｆ３０８を介して距離画像センサ部２０８が出力する距離画像データを取得し、ＲＡＭ３０３へ格納する。距離画像取得部４０８の処理の詳細は、図５で後述する。
認識処理部４１７は、カメラ画像取得部４０７、距離画像取得部４０８等により取得される画像データから書画台２０４上の物体の動きを検知して認識するモジュールであり、ジェスチャー認識部４０９等を含む。ジェスチャー認識部４０９は、画像取得部４１６から書画台２０４上の画像を取得し続け、タッチ等のジェスチャーを検知するとメイン制御部４０２へ通知する。ジェスチャー認識部４０９の処理の詳細は、図６、図７で後述する。
【００２２】
スキャン処理部４１８は、実際に対象物のスキャンを行うモジュールであり、平面原稿画像撮影部４１１、キャリブレーション制御部４１２、撮影画像判定部４１３等を含む。平面原稿画像撮影部４１１は、キャリブレーション制御部４１２からの情報を元に平面原稿に適した処理を実行し、前記処理に応じた形式のデータを出力する。キャリブレーション制御部４１２は、平面原稿画像撮影部４１１で行う画像補正処理のためのキャリブレーション処理を行うタイミングを制御し、前記タイミングを平面原稿画像撮影部４１１に通知する。平面原稿画像撮影部４１１、キャリブレーション制御部４１２のモジュールの処理の詳細は、図８、図９Ａ〜Ｃ、図１０で後述する。
ユーザインターフェイス部４０３は、ＧＵＩ部品生成表示部４１４、投射領域検出部４１５等を含む。ＧＵＩ部品生成表示部４１４は、メイン制御部４０２からの要求を受け、メッセージやボタン等のＧＵＩ部品を生成する。そして、ＧＵＩ部品生成表示部４１４は、表示部４０６へ生成したＧＵＩ部品の表示を要求する。なお、投射領域検出部４１５は、書画台２０４上のＧＵＩ部品の表示場所を検出する。
【００２３】
表示部４０６は、ディスプレイコントローラ３０９を介して、プロジェクタ２０７又はＬＣＤタッチパネル３３０に対して、ＧＵＩ部品生成表示部４１４により要求されたＧＵＩ部品の表示を行う。プロジェクタ２０７は、書画台２０４に向けて設置されているため、書画台２０４上にＧＵＩ部品を投射する。また、ユーザインターフェイス部４０３は、ジェスチャー認識部４０９が認識したタッチ等のジェスチャー操作、又はシリアルＩ／Ｆ３１０を介したＬＣＤタッチパネル３３０からの入力操作、ジェスチャー操作又は入力操作の座標等を受信する。そして、ユーザインターフェイス部４０３は、描画中の操作画面の内容と操作座標を対応させて操作内容（押下されたボタン等）を判定する。ユーザインターフェイス部４０３は、前記操作内容をメイン制御部４０２へ通知することにより、操作者の操作を受け付ける。
ネットワーク通信部４０４は、ネットワークＩ／Ｆ３０６を介して、ネットワーク１０４上の他の機器とＴＣＰ／ＩＰによる通信を行う。
データ管理部４０５は、カメラスキャナ１０１の各モジュールの実行において生成された作業データ等の様々なデータをＨＤＤ３０５上の設定された領域へ保存し、管理する。データ管理部４０５は、例えば、平面原稿画像撮影部４１１が生成したスキャンデータ等をＨＤＤ３０５上の設定された領域へ保存し、管理する。
【００２４】
（距離画像センサ及び距離画像取得部の説明）
図３に距離画像センサ部２０８の構成を示している。距離画像センサ部２０８は、赤外線によるパターン投射方式の距離画像センサである。赤外線パターン投射部３６１は、対象物に、人の目には不可視である赤外線を用いて三次元測定パターンを投射する。赤外線カメラ３６２は、対象物に投射した三次元測定パターンを読みとるカメラである。ＲＧＢカメラ３６３は、人の目に見える可視光をＲＧＢ信号で撮影するカメラである。
図５は、距離画像取得部の処理の一例を示すフローチャート及び説明図である。距離画像取得部４０８の処理を図５（ａ）のフローチャートを用いて説明する。また、図５（ｂ）〜（ｄ）は、パターン投射方式による距離画像の計測原理を説明するための図面である。距離画像取得部４０８が処理を開始すると、図５（ａ）の処理が開始される。
Ｓ５０１において、距離画像取得部４０８は、図５（ｂ）に示すように、赤外線パターン投射部３６１を介して、赤外線による三次元形状測定パターン５２２を対象物５２１に投射する。
【００２５】
Ｓ５０２において、距離画像取得部４０８は、ＲＧＢカメラ３６３を介して、対象物を撮影したＲＧＢカメラ画像５２３を取得し、赤外線カメラ３６２を介して、Ｓ５０１で投射した三次元形状測定パターン５２２を撮影した赤外線カメラ画像５２４を取得する。なお、赤外線カメラ３６２とＲＧＢカメラ３６３とは、設置位置が異なる。そのため、図５（ｃ）に示すように、赤外線カメラ３６２とＲＧＢカメラ３６３とでそれぞれ撮影されるＲＧＢカメラ画像５２３と赤外線カメラ画像５２４との撮影領域は、異なる。
Ｓ５０３において、距離画像取得部４０８は、赤外線カメラ画像５２４に対して赤外線カメラ３６２の座標系からＲＧＢカメラ３６３の座標系への座標系変換を行い、赤外線カメラ画像５２４の座標系をＲＧＢカメラ画像５２３の座標系に合わせる。なお、赤外線カメラ３６２とＲＧＢカメラ３６３との相対位置や赤外線カメラ３６２とＲＧＢカメラ３６３との内部パラメータは、事前のキャリブレーション処理により既知であるとする。
【００２６】
Ｓ５０４において、距離画像取得部４０８は、図５（ｃ）に示すように、三次元形状測定パターン５２２とＳ５０３で座標変換を行った赤外線カメラ画像５２４との間の対応点を抽出する。距離画像取得部４０８は、例えば、赤外線カメラ画像５２４上の１点を三次元形状測定パターン５２２上から探索して、同一の点が検出された場合に対応付けを行う。また、距離画像取得部４０８は、赤外線カメラ画像５２４の画素の周辺のパターンを三次元形状測定パターン５２２上から探索し、一番類似度が高い部分を前記画素と対応付けてもよい。
Ｓ５０５において、距離画像取得部４０８は、赤外線パターン投射部３６１と赤外線カメラ３６２とを結ぶ直線を基線５２５として、三角測量の原理を用いて計算を行うことにより、赤外線カメラ３６２からの距離を算出する。Ｓ５０３で対応付けができた画素については、赤外線カメラ３６２からの距離を算出して画素値として保存し、対応付けができなかった画素については、距離の計測ができなかった部分として無効値を保存する。距離画像取得部４０８は、以上の処理をＳ５０３で座標変換を行った赤外線カメラ画像５２４の全画素に対して行うことで、各画素に距離値が入った距離画像を生成する。
【００２７】
Ｓ５０６において、距離画像取得部４０８は、Ｓ５０５で座標系をＳ５０５で生成した画像に座標系を合わせたＲＧＢカメラ画像５２３に基づいて、距離画像の各画素に対応するＲＧＢ値を取得する。そして、距離画像取得部４０８は、距離画像の各画素に対対して、対応するＲＧＢ値を保存することにより、１画素につきＲ、Ｇ、Ｂ、距離の４つの値を持つ距離画像を生成する。生成された距離画像は、距離画像センサ部２０８のＲＧＢカメラ３６３の座標系が基準となっている。そこで、図２（ｂ）で前述したように、距離画像取得部４０８は、ＲＧＢカメラ３６３の座標系として得られた距離画像を直交座標系における三次元点群に変換する。以下では、特に指定がなく三次元点群と表記した場合は、直交座標系における三次元点群を示すものとする。
なお、本実施形態では、距離画像センサ部２０８は、距離情報の取得方式として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いてもよい。距離画像センサ部２０８は、例えば、２つのＲＧＢカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行期間を検出することで距離を測定するＴＯＦ（Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ）方式を用いてもよい。
（ジェスチャー認識部の説明）
【００２８】
図６は、ジェスチャー認識部４０９の処理の一例を示すフローチャートである。ジェスチャー認識部４０９によるジェスチャー認識処理を、図６を用いて説明する。
Ｓ６０１において、ジェスチャー認識部４０９は、初期化処理を行う。ジェスチャー認識部４０９は、距離画像取得部４０８から距離画像を１フレーム取得する。図６の処理の開始の際、書画台２０４上には、対象物が置かれていない状態であるとする。そのため、ジェスチャー認識部４０９は、初期状態として書画台２０４の平面の認識を行う。つまり、ジェスチャー認識部４０９は、取得した距離画像から最も広い平面を抽出し、その位置と法線ベクトル（以下では、書画台２０４の平面パラメータ）を算出し、ＲＡＭ３０３に保存する。
Ｓ６０２において、ジェスチャー認識部４０９は、書画台２０４上に存在する物体の三次元点群を取得する。Ｓ６０２の処理は、内部にＳ６２１〜６２２の処理を含む。
【００２９】
Ｓ６２１において、ジェスチャー認識部４０９は、距離画像取得部４０８から距離画像と三次元点群とを１フレーム分取得する。
Ｓ６２２において、ジェスチャー認識部４０９は、書画台２０４の平面パラメータに基づいて、Ｓ６２１で取得した三次元点群から書画台２０４を含む平面にある点群を除去する。
【００３０】
Ｓ６０３において、ジェスチャー認識部４０９は、Ｓ６０２で取得した三次元点群からユーザの手の形状および指先を検出する処理を行う。Ｓ６０３の処理は、Ｓ６３１〜６３４の処理を含む。Ｓ６０３の処理を、図７を用いて説明する。図７は、ジェスチャー認識部４０９の処理の説明図である。
Ｓ６３１において、ジェスチャー認識部４０９は、Ｓ６０２で取得した三次元点群から、書画台２０４を含む平面から設定された閾値以上の高さにある、肌色の三次元点群を抽出することで、手の三次元点群を得る。図７（ａ）の三次元点群７０１は、Ｓ６３１で抽出された手の三次元点群を表している。
Ｓ６３２において、ジェスチャー認識部４０９は、Ｓ６３１で抽出した手の三次元点群を、書画台２０４の平面に射影した二次元画像を生成し、手の外形を検出する。図７（ａ）の三次元点群７０２は、三次元点群７０１を書画台２０４の平面に投影した三次元点群を表している。ジェスチャー認識部４０９は、三次元点群７０１を書画台２０４の平面パラメータに基づいて、投影する。
【００３１】
また、ジェスチャー認識部４０９は、図７（ｂ）に示すように、三次元点群７０２から、ｘ、ｙ座標の値だけを取り出すことで、三次元点群７０２をｚ軸方向から見た二次元画像７０３として扱うことができる。ジェスチャー認識部４０９は、三次元点群７０１の各点と、二次元画像７０３の各座標とを対応付けた情報をＲＡＭ３０３、ＨＤＤ３０５、外部メモリ３５０等に記憶しておく。
Ｓ６３３において、ジェスチャー認識部４０９は、Ｓ６３２で検出した手の外形上の各点について、前記各点での外形の曲率を算出し、算出した曲率が設定された閾値より小さい点を指先として検出する。
【００３２】
図７（ｃ）は、二次元画像７０３の外形の曲率から指先を検出する方法を模式的に表した図である。点群７０４は、二次元画像７０３の外形を表す点の一部を表している。例えば、点群７０４のような、外形を表す点のうち、隣り合う５個の点を含むように円（以下では、曲率円）を描くことを考える。円７０５、７０７は、曲率円の一例である。ジェスチャー認識部４０９は、隣り合う５個の点を含むような曲率円を、全ての外形の点に対して順に描き、前記曲率円の直径が設定された閾値より小さい（曲率が小さい）場合、その点を指先として検出する。円７０５、７０７の直径は、それぞれ直径７０６、７０８である。本実施形態では、ジェスチャー認識部４０９は、隣り合う５個の点で曲率円を生成した。しかし、曲率円を生成する際に利用される点の個数は、５個よりも少なくてもよいし、多くてもよい。
また、本実施形態では、ジェスチャー認識部４０９は、二次元画像７０３の外形の曲率に基づいて、指先の検出を行った。しかし、ジェスチャー認識部４０９は、二次元画像７０３の外形に対して楕円フィッティングを行うことで、指先を検出してもよい。
【００３３】
Ｓ６３４において、ジェスチャー認識部４０９は、検出した指先の個数及び各指先の座標を算出する。ジェスチャー認識部４０９は、Ｓ６３２で前述したように、書画台２０４に投影した二次元画像７０３の各点と、三次元点群７０１の各点の対応関係を記憶しているため、各指先の三次元座標を得ることができる。
本実施形態では、ジェスチャー認識部４０９は、三次元点群から二次元画像に投影した画像から指先を検出した。しかし、ジェスチャー認識部４０９は、例えば、距離画像の背景差分画像から手の領域を抽出し、抽出した領域の外形の曲率等に基づいて、指先を検出してもよい。また、ジェスチャー認識部４０９は、ＲＧＢ画像の肌色領域から手の領域を抽出し、抽出した領域の外形の曲率等に基づいて、指先を検出してもよい。その場合、ジェスチャー認識部４０９は、検出した指先の座標は、ＲＧＢ画像や距離画像といった、二次元画像上の座標であるため、検出した座標における距離画像の距離情報を用いて、検出した座標を直交座標系上の三次元座標に変換する必要がある。また、その際、ジェスチャー認識部４０９は、指先点となる外形上の点ではなく、指先を検出するときに用いた、曲率円の中心を指先点としてもよい。
【００３４】
Ｓ６０４において、ジェスチャー認識部４０９は、Ｓ６０３で検出した手の形状及び指先に基づいて、ジェスチャー判定処理を行う。Ｓ６０４の処理は、Ｓ６４１〜Ｓ６４６の処理を含む。
Ｓ６４１において、ジェスチャー認識部４０９は、Ｓ６３４で算出した指先の個数に基づいて、Ｓ６０３で検出した指先が１つか否かを判定する。ジェスチャー認識部４０９は、指先が一つであると判定した場合、Ｓ６４２の処理へ進み、指先が一つでないと判定した場合、Ｓ６４６の処理へ進む。
Ｓ６４２において、ジェスチャー認識部４０９は、Ｓ６３４で算出した指先の座標に基づいて、Ｓ６３３で検出した指先と書画台２０４を含む平面との距離を算出する。
【００３５】
Ｓ６４３において、ジェスチャー認識部４０９は、Ｓ６４２で算出した距離が設定された閾値以下であるか否かを判定する。ジェスチャー認識部４０９は、Ｓ６４２で算出した距離が設定された閾値以下であると判定した場合、Ｓ６４４の処理へ進み、Ｓ６４２で算出した距離が設定された閾値以下ではないと判定した場合、Ｓ６４５の処理へ進む。
Ｓ６４４において、ジェスチャー認識部４０９は、指先が書画台２０４へタッチした、タッチジェスチャーありと決定する。
Ｓ６４５において、ジェスチャー認識部４０９は、指先が書画台２０４へタッチはしていないが書画台２０４上に存在する、指先移動ジェスチャーありと決定する。
Ｓ６４６において、ジェスチャー認識部４０９は、ジェスチャーなしと決定する。
Ｓ６０５において、ジェスチャー認識部４０９は、Ｓ６０４で決定したジェスチャーをメイン制御部４０２へ通知し、Ｓ６０２へ戻ってジェスチャー認識処理を繰り返す。
（キャリブレーション制御部の処理）
【００３６】
図８は、キャリブレーション制御部４１２の処理の一例を示すフローチャートである。
Ｓ８０１において、キャリブレーション制御部４１２は、初期化処理を行う。Ｓ８０１の処理は、Ｓ８１１〜Ｓ８１３の処理を含む。
Ｓ８１１において、キャリブレーション制御部４１２は、カメラ画像取得部４０７からカメラ画像を１フレーム取得し、距離画像取得部４０８から距離画像を１フレーム取得する。
【００３７】
Ｓ８１２において、キャリブレーション制御部４１２は、Ｓ８１１で取得したカメラ画像を前フレームカメラ画像として保存する。
Ｓ８１３において、キャリブレーション制御部４１２は、Ｓ８１１で取得したカメラ画像、距離画像を、それぞれ書画台背景カメラ画像、書画台背景距離画像としてＲＡＭ３０３、ＨＤＤ３０５、外部メモリ３５０等に保存する。以下では、「書画台背景カメラ画像」及び「書画台背景距離画像」と記載した場合、Ｓ８１１で取得したカメラ画像および距離画像のことを指す。
【００３８】
Ｓ８０２において、キャリブレーション制御部４１２は、書画台２０４への外光の影響の変化を監視する環境変化検知処理を行う。Ｓ８０２の処理の詳細は、図８（ｂ）で後述する。Ｓ８０２の処理は、書画台２０４上での外光や照明の変化を監視し、状況に応じてカメラ画像取得部４０７から取得したカメラ画像に対して補正処理を行い、外光や照明の影響を軽減した電子データを生成するための処理である。
Ｓ８０３において、キャリブレーション制御部４１２は、ＬＣＤタッチパネル３３０又はジェスチャー認識部４０９を介したユーザの操作に基づいて、図８の処理の終了指示があったか否かを判定する。キャリブレーション制御部４１２は、図８の処理の終了指示があったと判定した場合、図８の処理を終了し、図８の処理の終了指示がなかったと判定した場合、Ｓ８０１の処理へ進む。
【００３９】
図８（ｂ）は、Ｓ８０２の環境変化検知処理の詳細を示す図である。
Ｓ８２１において、キャリブレーション制御部４１２は、カメラ画像取得部４０７からカメラ画像を１フレーム取得する。
Ｓ８２２において、キャリブレーション制御部４１２は、Ｓ８２１で取得したカメラ画像とＳ８１３で保存した書画台背景カメラ画像との差分値を計算する。キャリブレーション制御部４１２は、差分値として、例えば、画像内の同一座標の画素値の差分を合計し、合計した差分の絶対値を算出する。
Ｓ８２３において、キャリブレーション制御部４１２は、Ｓ８２２で算出した差分値が設定された閾値以上か否かを判定する。
【００４０】
キャリブレーション制御部４１２は、Ｓ８２２で算出した差分値が設定された閾値以上であると判定した場合、Ｓ８２４の処理へ進む。また、キャリブレーション制御部４１２は、Ｓ８２２で算出した差分値が設定された閾値未満であると判定した場合、書画台２０４の環境変化がないとして、Ｓ８２８の処理へ進む。
ステップＳ８２８へ進んで現フレームのカメラ画像を前フレームカメラ画像として保存してからステップＳ８２１へ戻って処理を続ける。
Ｓ８２４において、キャリブレーション制御部４１２は、Ｓ８２１で取得したカメラ画像と前フレームカメラ画像との差分値を計算する。キャリブレーション制御部４１２は、差分値として、例えば、Ｓ８２２と同様に、画像内の同一座標の画素値の差分を合計し、合計した差分の絶対値を算出する。
【００４１】
Ｓ８２５において、キャリブレーション制御部４１２は、Ｓ８２４で算出した差分値が設定された閾値以下であるか否かを判定する。キャリブレーション制御部４１２は、Ｓ８２４で算出した差分値が設定された閾値以下であると判定した場合、Ｓ８２６の処理へ進む。キャリブレーション制御部４１２は、Ｓ８２４で算出した差分値が設定された閾値より大きいと判定した場合、書画台２０４上の変化は一時的なノイズであったとして、Ｓ８２８の処理へ進む。
Ｓ８２６において、キャリブレーション制御部４１２は、Ｓ８２５による差分値が前記閾値以下であるとの判定が設定された閾値の数、続いたか否かを判定する。即ち、キャリブレーション制御部４１２は、書画台２０４上の状態が変化してから静止した状態が設定されたフレーム数続いたかどうかを判定する。キャリブレーション制御部４１２は、Ｓ８２５による差分値が閾値以下であるとの判定が設定されたフレーム数続いたと判定した場合、環境が変化したとして、Ｓ８２７の処理へ進む。キャリブレーション制御部４１２は、Ｓ８２５による差分値が閾値以下であるとの判定が設定されたフレーム数続いていないと判定した場合、書画台２０４上の変化は一時的なノイズであったとして、Ｓ８２８の処理へ進む。
【００４２】
Ｓ８２７において、キャリブレーション制御部４１２は、キャリブレーションタイミングをメイン制御部４０２へ通知して、図８（ｂ）の環境変化検知処理を終了する。Ｓ８２７の通知が行われると、図９Ａ（ａ）のキャリブレーション処理が開始される。
Ｓ８２８において、キャリブレーション制御部４１２は、Ｓ８１１で取得したカメラ画像を前フレームカメラ画像としてＲＡＭ３０３、ＨＤＤ３０５、外部メモリ３５０等に保存し、ステップＳ８２１へ戻って処理を続ける。
【００４３】
（平面原稿画像撮影部の説明）
図９Ａ、Ｂのフローチャートを用いて、平面原稿画像撮影部４１１が実行する処理を説明する。
図９Ａ（ａ）は、図８（ｂ）のステップＳ８２７でキャリブレーションタイミングが通知された際に実行されるキャリブレーション処理の一例を示す図である。
Ｓ９０１において、平面原稿画像撮影部４１１は、カメラ画像取得部４０７を介して、カメラ部２０２から画像を取得し、取得した画像をキャリブレーション用画像とする。
Ｓ９０２において、平面原稿画像撮影部４１１は、Ｓ９０１で取得したキャリブレーション用画像から補正処理を行うための補正パラメータの算出を行う。算出された補正パラメータは、画像内の画素毎に補正演算を行う補正処理に利用される。そのため、平面原稿画像撮影部４１１は、補正パラメータとして、画像中の画素毎に対応した値を算出する。平面原稿画像撮影部４１１は、算出した補正パラメータを、ＨＤＤ３０５又はＲＡＭ３０３に保存する。Ｓ９０２で算出される補正パラメータは、例えば、ホワイトバランス補正に利用される補正パラメータ等がある。
【００４４】
Ｓ９０３において、平面原稿画像撮影部４１１は、Ｓ９０１で取得したキャリブレーション用画像を用いて書画台２０４上の読み取り領域２０５内に汚れやゴミ等の付着物がないかどうかを判定する書画台付着物判定処理を行う。Ｓ９０３の処理の詳細は、図９Ａ（ｂ）で後述する。
Ｓ９０４において、平面原稿画像撮影部４１１は、Ｓ９０３の処理の結果に基づいて、読み取り領域２０５内に付着物が存在する領域である付着物領域がないかどうかを判定する。より具体的には、平面原稿画像撮影部４１１は、Ｓ９１０、Ｓ９１１で設定される付着物フラグを、ＲＡＭ３０３から読み出す。そして、平面原稿画像撮影部４１１は、読み出した付着物フラグに１が設定されていた場合、領域２０５内に付着物領域があると判定し、付着物フラグに０が設定されていた場合、領域２０５内に付着物領域がないと判定する。平面原稿画像撮影部４１１は、読み取り領域２０５内に付着物領域がないと判定した場合、Ｓ９０６の処理へ進み、読み取り領域２０５内に付着物領域があると判定した場合、Ｓ９０５の処理へ進む。
【００４５】
Ｓ９０５において、平面原稿画像撮影部４１１は、補正パラメータ修正処理を実行する。Ｓ９０５の詳細は、図９Ｂ（ｃ）で後述する。
Ｓ９０６において、平面原稿画像撮影部４１１は、Ｓ９０２で算出した又はＳ９０５で修正した補正パラメータと、Ｓ９０１で取得したキャリブレーション用画像と、を適切なフォーマットに変換又は圧縮してＨＤＤ３０５、ＲＡＭ３０３等に保存する。Ｓ９０６の処理が完了すると、平面原稿画像撮影部４１１は、図９Ａ（ａ）の処理を終了する。
【００４６】
図９Ａ（ｂ）は、Ｓ９０３の書画台付着物判定処理の詳細を説明するフローチャートである。図９Ａ（ｂ）の処理を、図１０（ａ）、（ｂ）、（ｃ）を用いて説明する。
図１０（ａ）は、付着物１００３、外光や照明等の影響１００４が存在するキャリブレーション用画像１００１を示す図である。平面原稿画像撮影部４１１は、Ｓ９０１でキャリブレーション用画像１００１を取得したとする。
【００４７】
Ｓ９０７において、平面原稿画像撮影部４１１は、Ｓ９０１において取得されたキャリブレーション用画像１００１に対して、エッジ抽出処理を行う。Ｓ９０７の処理は、キャリブレーション用画像１００１の中に混在する付着物１００３や外光や照明の影響１００４等の中から付着物１００３のみを識別するための処理である。
エッジ抽出処理により付着物１００３を識別できる理由は、外光や照明の影響１００４による画像の変化は緩やかなのに対し、付着物１００３の影響による画像の変化は急峻であるためである。Ｓ９０７でのエッジ抽出処理は、一般的なフィルタ処理であり、ソーベルフィルタを用いた処理でもよいし、ラプラシアンフィルタ等を用いた処理でもよい。Ｓ９０７のエッジ抽出処理に利用されるフィルタは、エッジ抽出フィルタの一例である。
平面原稿画像撮影部４１１は、Ｓ９０７でのエッジ抽出処理を完了することで、図１０（ｂ）のようなキャリブレーション用画像からエッジのみを抽出したエッジ抽出画像１００２を生成する。エッジ抽出画像１００２は、付着物のエッジ部１００５を含む。
【００４８】
Ｓ９０８において、平面原稿画像撮影部４１１は、Ｓ９０７で抽出したエッジに基づいて、付着物の存在する領域である付着物領域を算出する。Ｓ９０８の処理は、本来の付着物１００３の位置をゴミのエッジ部１００５を元に算出する処理である。
本実施形態では、Ｓ９０８の処理は、処理負荷を軽減させるため、図１０（ｃ）に示すようにエッジ部１００５を囲むエッジ領域１００６を付着物領域として算出する処理である。しかし、Ｓ９０８の処理は、エッジ部１００５の閉区間の内側を付着物領域として算出する処理でもよい。
【００４９】
Ｓ９０９において、平面原稿画像撮影部４１１は、Ｓ９０８で算出されたエッジ領域内の画素数が設定された閾値以上あるか否かを判定する。平面原稿画像撮影部４１１は、Ｓ９０８で算出されたエッジ領域内の画素数が設定された閾値以上あると判定した場合、設定された大きさ以上の付着物が存在するとして、Ｓ９１０の処理へ進む。平面原稿画像撮影部４１１は、Ｓ９０８で算出されたエッジ領域内の画素数が設定された閾値以上あると判定した場合、Ｓ９１１の処理へ進む。
Ｓ９１０において、平面原稿画像撮影部４１１は、付着物フラグに１を設定し、ＲＡＭ３０３に保存する。
Ｓ９１１において、平面原稿画像撮影部４１１は、付着物フラグに０を設定し、ＲＡＭ３０３に保存する。
【００５０】
図９Ｂ（ｃ）は、Ｓ９０５の補正パラメータ修正処理の詳細を示すフローチャートである。図９Ｂ（ｃ）の処理を、図１０（ｄ）、（ｅ）、（ｆ）、（ｇ）、（ｈ）、（ｉ）を用いて説明する。
Ｓ９１２において、平面原稿画像撮影部４１１は、エッジ領域１００６の太さが設定された閾値以下かどうかを判定する。本実施形態では、エッジ領域１００６の太さは、エッジ領域１００６の縦方向の長さと横方向の長さとのうち、どちらか大きい方の値である。平面原稿画像撮影部４１１は、エッジ領域１００６の太さが設定された閾値以下であると判定した場合、Ｓ９１３の処理へ進み、エッジ領域１００６の太さが設定された閾値以下ではないと判定した場合、Ｓ９１８の処理へ進む。
【００５１】
Ｓ９１３において、平面原稿画像撮影部４１１は、Ｓ９０２で算出した補正パラメータをＨＤＤ３０５又はＲＡＭ３０３から取得する。
Ｓ９１４において、平面原稿画像撮影部４１１は、Ｓ９１３で取得した補正パラメータの中からエッジ領域の画素に対応する位置の補正パラメータを特定する。
前記補正パラメータは、画素毎に算出されている。そのため、平面原稿画像撮影部４１１は、前記補正パラメータの画素毎の値をエッジ抽出画像１００２の各画素と対応するように配置する。図１０（ｄ）は、補正パラメータの画素毎の値をエッジ抽出画像１００２の各画素と対応するように配置した補正パラメータ画像１０１４を示す図である。平面原稿画像撮影部４１１は、補正パラメータ画像１０１４上のエッジ領域１００６に対応する領域のエッジ領域パラメータ１００７を取得することで、Ｓ９１３で取得した補正パラメータの中からエッジ領域の画素に対応する位置の補正パラメータを特定する。
【００５２】
Ｓ９１４でエッジ領域１００６に対応するエッジ領域パラメータ１００７が特定されるが、エッジ領域パラメータ１００７は、付着物１００３の影響により不適切なパラメータとなっているため、修正する必要がある。
Ｓ９１５において、平面原稿画像撮影部４１１は、補正パラメータ画像１０１４からエッジ領域パラメータ１００７を消去する。
Ｓ９１６において、平面原稿画像撮影部４１１は、補正パラメータ画像１０１４上のエッジ領域パラメータ１００７に対応する領域の周囲の補正パラメータに基づいて、エッジ領域パラメータ１００７に対応する領域の補正パラメータを算出する。Ｓ９１６の補正パラメータの算出処理は、例えば、図１０（ｄ）に示すように周囲のパラメータ値から重み付け補間を行うことで算出する処理である。
【００５３】
Ｓ９１７において、平面原稿画像撮影部４１１は、Ｓ９１６で算出された補正パラメータをエッジ領域パラメータ１００７の中に当てはめる。補正パラメータ画像１０１４の修正が完了するので、平面原稿画像撮影部４１１は、補正パラメータ画像１０１４に対応する補正パラメータを、再度、ＨＤＤ３０５又はＲＡＭ３０３に保存する。平面原稿画像撮影部４１１は、Ｓ９１７の処理を完了すると、図９Ｂ（ｃ）の処理を終了する。
図１０（ｅ）のようにキャリブレーション用画像１０２１中の付着物１００８が大きい場合はエッジ領域１００９の太さは、設定された閾値よりも大きくなる。その場合、図１０（ｆ）のように修正すべきエッジ領域パラメータ１０１０も太くなってしまう。Ｓ９０１でキャリブレーション用画像１０２１を取得したとすると、平面原稿画像撮影部４１１は、Ｓ９１２の処理の結果、Ｓ９１８の処理へ進むことになる。
【００５４】
Ｓ９１８において、平面原稿画像撮影部４１１は、キャリブレーション用画像１０２１に対して、エッジ抽出処理に用いるフィルタの係数を変更して再度エッジ抽出処理を行う。平面原稿画像撮影部４１１は、前記フィルタの係数の変更を、エッジ領域１００９の中から、より汚れの強い部分を抽出するように行う。Ｓ９１８の処理により、平面原稿画像撮影部４１１は、図１０（ｇ）に示すように第２のエッジ領域１０１１を抽出する。
Ｓ９１９において、平面原稿画像撮影部４１１は、Ｓ９１８で抽出された第２のエッジ領域の太さが設定された閾値以下か否かを判定する。Ｓ９１８、Ｓ９１９の処理は、第２のエッジ領域の太さが前記閾値以下になるまで繰り返されるが、平面原稿画像撮影部４１１は、ＬＣＤタッチパネル３３０を介したユーザの操作等に基づいて、繰り返しの途中で前記閾値を変更してもよい。
【００５５】
Ｓ９２０において、平面原稿画像撮影部４１１は、第２のエッジ領域１０１１に対応する補正パラメータの特定を行う。Ｓ９２０の第２のエッジ領域１０１１に対応する補正パラメータの特定処理は、Ｓ９１４の処理と同様の処理である。平面原稿画像撮影部４１１は、第２のエッジ領域１０１１に対応する補正パラメータの特定を行った結果、図１０（ｈ）に示すエッジ領域パラメータ１０１２を特定する。
Ｓ９２１において、平面原稿画像撮影部４１１は、エッジ領域パラメータ１０１２の値を周囲のパラメータを元に算出する。算出する方法は、Ｓ９１６の処理と同様の方法である。
【００５６】
Ｓ９２２において、平面原稿画像撮影部４１１は、Ｓ９２１で算出したパラメータをエッジ領域パラメータ１０１２に当てはめる。
Ｓ９２３において、平面原稿画像撮影部４１１は、Ｓ９０２で算出した補正パラメータとＳ９２１で算出したエッジ領域パラメータ１０１２とに基づいて、エッジ領域パラメータ１０１３の算出を行う。エッジ領域パラメータ１０１３は、図１０（ｉ）に示されるように、エッジ領域パラメータ１０１０からエッジ領域パラメータ１０１２を除いたものである。
Ｓ９２４において、平面原稿画像撮影部４１１は、Ｓ９２３で算出した補正パラメータを、エッジ領域パラメータ１０１３の部分に当てはめる。Ｓ９２２、Ｓ９２４の処理によりエッジ領域パラメータ１０１０の修正が完了し、平面原稿画像撮影部４１１は、図９Ｂ（ｃ）の処理を終了する。
【００５７】
図９Ｂ（ｄ）は、平面原稿画像撮影部４１１によるスキャン処理のフローチャートを示す。図１１で後述するＳ１５２２でメイン制御部４０２によりスキャン処理の実行が指示されると、平面原稿画像撮影部４１１は、図９Ｂ（ｄ）の処理を開始する。
Ｓ９２５において、平面原稿画像撮影部４１１は、カメラ画像を取得する。
Ｓ９２６において、平面原稿画像撮影部４１１は、図９Ａ（ａ）のキャリブレーション処理で算出した補正パラメータの取得を行う。
【００５８】
Ｓ９２７において、平面原稿画像撮影部４１１は、Ｓ９２６で取得した補正パラメータを使用してＳ９２５で取得したカメラ画像に対して画像補正処理を行う。
Ｓ９２８において、平面原稿画像撮影部４１１は、Ｓ９２７で補正処理を施された電子データを適切なフォーマットに変換又は圧縮してＨＤＤ３０５又はＲＡＭ３０３に保存する。
【００５９】
（メイン制御部の説明）
図１１は、メイン制御部４０２の処理の一例を示すフローチャートである。
Ｓ１５０１において、メイン制御部４０２は、ユーザインターフェイス部４０３、プロジェクタ２０７を介して、書画台２０４に初期画面を投射する。図１２（ａ）は、初期画面の一例を示す図である。図１２（ａ）の画面は、スキャン対象物を載置するための領域２０９、キャリブレーション処理の実行指示を受け付けるためのボタンであるキャリブレーションボタン１２０２（ａ）、メッセージ１２０１等を含む。それにより、メイン制御部４０２は、ユーザが原稿をスキャンしたいのかキャリブレーション処理を行いたいかどうかを検知することができ、原稿のスキャン及びキャリブレーションを実行できる。
メイン制御部４０２は、ユーザの操作に基づくスキャン開始ボタン１２０３又はキャリブレーションボタン１２０２（ａ）の押下を検出するまで、待機することになる。
【００６０】
Ｓ１５０２において、メイン制御部４０２は、スキャン実行処理を行う。Ｓ１５０２の処理は、Ｓ１５２１〜Ｓ１５２２の処理を含む。
Ｓ１５２１において、メイン制御部４０２は、ユーザインターフェイス部４０３を介して、スキャン開始画面を書画台２０４に投射する。図１２（ｂ）は、スキャン開始画面の一例である。図１２（ｂ）に示すスキャン開始画面の対象物１２１１は、ユーザによって載置されたスキャン対象物体である。スキャン開始ボタン１２０３は、原稿の撮影指示の受け付けに利用されるボタンである。
メイン制御部４０２は、ユーザインターフェイス部４０３を介して、ジェスチャー認識部４０９から通知されるタッチジェスチャーの座標とスキャン開始ボタン１２０３等のボタンが表示されている座標とに基づいて、以下の処理を行う。即ち、メイン制御部４０２は、ボタンがユーザによって押下されたことを検知する。メイン制御部４０２は、スキャン開始ボタン１２０３以外のボタンについても同様の処理でユーザによる押下を検知する。
【００６１】
Ｓ１５２２において、メイン制御部４０２は、スキャン開始ボタン１２０３の押下を検知したか否かを判定する。メイン制御部４０２は、スキャン開始ボタン１２０３の押下を検知したと判定した場合、Ｓ１５０３の処理へ進み、スキャン開始ボタン１２０３の押下を検知していないと判定した場合、Ｓ１５０５の処理へ進む。
Ｓ１５０３において、メイン制御部４０２は、平面原稿画像撮影部４１１を介して、スキャン処理を実行する。Ｓ１５０３のスキャン処理の詳細は、図９Ｂ（ｄ）と同様である。
【００６２】
Ｓ１５０４において、メイン制御部４０２は、スキャン終了画面を書画台２０４に表示し、表示したスキャン終了画面を介して、終了ボタン１２０４の押下を検知したか否かを判定する。メイン制御部４０２は、終了ボタン１２０４の押下を検知したと判定した場合、図１１の処理を終了し、終了ボタン１２０４の押下を検知していないと判定した場合、Ｓ１５０１の処理へ進む。
図１２（ｃ）は、スキャン終了画面の一例を示す図である。図１２（ｃ）のスキャン終了画面は、スキャンした原稿を除去する旨をユーザに通知するメッセージ１２０５、メイン制御部の処理終了指示を受け付ける終了ボタン１２０４等を含む。
【００６３】
Ｓ１５０５において、メイン制御部４０２は、キャリブレーションボタン１２０２（ａ）の押下を検知したか否かを判定する。メイン制御部４０２は、キャリブレーションボタン１２０２（ａ）の押下を検知したと判定した場合、Ｓ１５０６の処理へ進み、メイン制御部４０２は、キャリブレーションボタン１２０２（ａ）の押下を検知していないと判定した場合、Ｓ１５２２の処理へ進む。
Ｓ１５０６において、メイン制御部４０２は、平面原稿画像撮影部４１１を介して、キャリブレーション処理を開始する。Ｓ１５０６のキャリブレーション処理の詳細は、図９Ａ（ａ）と同様である。メイン制御部４０２は、Ｓ１５０６の処理が終了すると、再びＳ１５２２に戻る。
【００６４】
本実施形態の処理により、カメラスキャナ１０１は、キャリブレーションを行うために、キャリブレーション用画像の撮影を行い、撮影した画像を元に補正値を計算する。カメラスキャナ１０１は、補正画像を生成する際に、キャリブレーション用画像の中のエッジを抽出し、抽出したエッジの領域を算出する。そして、カメラスキャナ１０１は、算出したエッジの領域に基づいて、ゴミや汚れ等の付着物が存在するか否かの判定を行う。それにより、カメラスキャナ１０１は、付着物の色に関わらず付着物を特定することができる。
また、カメラスキャナ１０１は、キャリブレーション用画像の中に付着物が存在する場合、補正値を再計算することにより、常に正しい補正値を取得することができる。
【００６５】
＜実施形態２＞
実施形態１では、主に、補正画像の取得方法、キャリブレーション用画像から補正用パラメータを生成する処理等について述べた。
本実施形態においては、Ｓ９０１で取得されたキャリブレーション用画像中に設定された閾値以上の大きさのゴミや汚れ等の付着物が存在した場合の処理について説明する。
本実施形態では、実施形態１との差分を説明する。その他の処理、カメラスキャナシステムのシステム構成、カメラスキャナシステムの各構成要素のハードウェア構成及び機能構成等は、実施形態１と同様である。
【００６６】
本実施形態での平面原稿画像撮影部４１１によるキャリブレーション処理を、図９Ｃ（ｅ）と図１３とを用いて説明する。図９Ｃ（ｅ）のうち、図９Ａ（ａ）と異なる点について説明する。
Ｓ９０４において、平面原稿画像撮影部４１１は、Ｓ９０３の処理の結果に基づいて、読み取り領域２０５内に付着物領域がないかどうかを判定する。平面原稿画像撮影部４１１は、読み取り領域２０５内に付着物領域がないと判定した場合、Ｓ９０６の処理へ進み、読み取り領域２０５内に付着物領域があると判定した場合、Ｓ９３１の処理へ進む。
【００６７】
Ｓ９３１において、平面原稿画像撮影部４１１は、書画台２０４に対して、付着物領域を初期画面、スキャン開始画面等の操作画面に重畳して表示することで、前記付着物領域をユーザに通知する。Ｓ９３１の処理により、ユーザは、前記付着物領域を識別し、付着物を除去できるようになる。
平面原稿画像撮影部４１１は、例えば、図１３（ａ）に示すように、ユーザの手１３０２（ａ）による操作画面に対する操作に基づいて、キャリブレーションボタン１２０２（ｂ）の押下を検知すると、以下の処理を行う。即ち、平面原稿画像撮影部４１１は、図９Ｃ（ｅ）のキャリブレーション処理を開始し、Ｓ９０４で付着物領域がないかどうかの判定を行う。そして、平面原稿画像撮影部４１１は、付着物領域があると判定した場合、Ｓ９３１にて付着物領域の位置を書画台２０４上に表示することで、ユーザに通知する。
【００６８】
平面原稿画像撮影部４１１は、例えば、図１３（ｂ）のように書画台２０４上に付着物１３０４（ａ）、１３０４（ｂ）が存在すると、付着物領域１３０５（ａ）、１３０５（ｂ）を特定する。そして、平面原稿画像撮影部４１１は、付着物領域１３０５（ａ）、１３０５（ｂ）を表示することで、ユーザに通知し、清掃を促すメッセージ１３０１を表示する。
ユーザは、清掃を終了した場合、又は清掃が不要と判断した場合、ユーザの手１３０２（ｂ）によって清掃終了ボタンを押下する。平面原稿画像撮影部４１１は、ユーザの手１３０２（ｂ）による清掃終了ボタンの押下を検知する。
平面原稿画像撮影部４１１は、Ｓ９３１の処理を終了するとＳ９０５の処理に進む。その後の処理は、実施形態１と同様である。
【００６９】
本実施形態の処理により、平面原稿画像撮影部４１１は、キャリブレーション用画像の撮影を行い、キャリブレーション用画像内に汚れやゴミが存在するかどうかの判定を行う。平面原稿画像撮影部４１１は、キャリブレーション用画像内に付着物が存在する場合、ユーザインターフェイス部４０３を介して、付着物の存在する領域をユーザに通知し、清掃を促すことにより、適正な補正用画像が取得でなくなる可能性を低減させることができる。
【００７０】
＜実施形態３＞
実施形態２では、抽出された付着物領域をユーザに通知し、前記領域の清掃を促す処理について説明した。
本実施形態では、スキャン対象物を載置するための領域２０９として、抽出された付着物領域を除いた領域を設定する処理について説明する。
本実施形態では、実施形態１、２との差分を説明する。その他の処理、カメラスキャナシステムのシステム構成、カメラスキャナシステムの各構成要素のハードウェア構成及び機能構成等は、実施形態１と同一のものとする。
【００７１】
本実施形態のキャリブレーション処理は、図９Ｃ（ｅ）のＳ９３１、Ｓ９０５の処理において、実施形態２のキャリブレーション処理と異なる。
Ｓ９３１において、平面原稿画像撮影部４１１は、Ｓ９０８で算出したエッジ領域を付着物領域として、書画台２０４の平面上の付着物領域を除いた領域に対して、スキャン対象物を載置するための領域２０９を設定する。平面原稿画像撮影部４１１は、書画台２０４の平面上の付着物領域を除いた領域の中から設定された閾値以上の広さを持つ領域を特定し、特定した領域を、スキャン対象物を載置するための領域２０９に設定する。領域２０９は、撮影可能領域の一例である。
【００７２】
また、平面原稿画像撮影部４１１は、設定した領域２０９を操作画面に重畳して、表示することで、ユーザに通知する。その処理により、ユーザは、どこにスキャン対象物を載置すればよいか把握できる。
平面原稿画像撮影部４１１は、Ｓ９３１で設定した付着物領域を除いた領域をスキャン処理に利用するため、Ｓ９０５の補正パラメータの修正処理を行う必要がなくなる。
以降の処理は、実施形態１、２と同様である。
【００７３】
本実施形態の処理により、カメラスキャナ１０１は、ユーザに対して、付着物の影響のないスキャン用の領域を通知することができる。カメラスキャナ１０１は、付着物の影響のないスキャン用の領域に載置された対象物をスキャンすることで、補正パラメータの修正処理を行うことなく、適正に画像を補正できる。
【００７４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７５】
１０１  カメラスキャナ、２０１  コントローラ部、３０２  ＣＰＵ
【図１】
0006478641.tif 000005
【図２】
0006478641.tif 000006
【図３】
0006478641.tif 000007
【図４】
0006478641.tif 000008
【図５】
0006478641.tif 000009
【図６】
0006478641.tif 000010
【図７】
0006478641.tif 000011
【図８】
0006478641.tif 000012
【図９Ａ】
0006478641.tif 000013
【図９Ｂ】
0006478641.tif 000014
【図９Ｃ】
0006478641.tif 000015
【図１０】
0006478641.tif 000016
【図１１】
0006478641.tif 000017
【図１２】
0006478641.tif 000018
【図１３】
0006478641.tif 000019