(57)【特許請求の範囲】
【請求項１】
複数の投影線によって形成される投影パターンを被読取物に投影して前記被読取物の折れを計測する計測装置であって、
前記被読取物との距離を測定する距離測定手段と、
前記測定された距離に基づいて前記被読取物の形、大きさ、及び位置を特定するための前記被読取物の距離分布情報を生成する距離分布情報生成手段と、
前記被読取物の輝度を測定する輝度測定手段と、
前記測定された輝度に基づいて前記被読取物の模様を特定するための前記被読取物の輝度分布情報を生成する輝度分布情報生成手段と、
前記投影パターンを生成する投影パターン生成手段とを備え、
前記投影パターン生成手段は、前記被読取物の距離分布情報及び前記被読取物の輝度分布情報に基づいて前記投影パターンを形成する各前記投影線の向きを決定することを特徴とする計測装置。
【請求項２】
前記投影パターン生成手段は前記被読取物の距離分布情報に基づいて各前記投影線の位置及び各前記投影線の間隔を決定することを特徴とする請求項１記載の計測装置。
【請求項３】
前記距離測定手段は前記被読取物の読取面を指向することを特徴とする請求項１又は２記載の計測装置。
【請求項４】
前記輝度測定手段は前記被読取物の読取面を指向することを特徴とする請求項１乃至３のいずれか１項に記載の計測装置。
【請求項５】
複数の投影線によって形成される投影パターンを被読取物に投影して前記被読取物の折れを計測する計測装置の制御方法であって、
前記被読取物との距離を測定する距離測定ステップと、
前記測定された距離に基づいて前記被読取物の形、大きさ、及び位置を特定するための前記被読取物の距離分布情報を生成する距離分布情報生成ステップと、
前記被読取物の輝度を測定する輝度測定ステップと、
前記測定された輝度に基づいて前記被読取物の模様を特定するための前記被読取物の輝度分布情報を生成する輝度分布情報生成ステップと、
前記投影パターンを生成する投影パターン生成ステップとを有し、
前記投影パターン生成ステップは、前記被読取物の距離分布情報及び前記被読取物の輝度分布情報に基づいて前記投影パターンを形成する各前記投影線の向きを決定することを特徴とする計測装置の制御方法。
【請求項６】
複数の投影線によって形成される投影パターンを被読取物に投影して前記被読取物の折れを計測する計測装置の制御方法をコンピュータに実行させるプログラムであって、
前記計測装置の制御方法は、
前記被読取物との距離を測定する距離測定ステップと、
前記測定された距離に基づいて前記被読取物の形、大きさ、及び位置を特定するための前記被読取物の距離分布情報を生成する距離分布情報生成ステップと、
前記被読取物の輝度を測定する輝度測定ステップと、
前記測定された輝度に基づいて前記被読取物の模様を特定するための前記被読取物の輝度分布情報を生成する輝度分布情報生成ステップと、
前記投影パターンを生成する投影パターン生成ステップとを有し、
前記投影パターン生成ステップは、前記被読取物の距離分布情報及び前記被読取物の輝度分布情報に基づいて前記投影パターンを形成する各前記投影線の向きを決定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測装置及びその制御方法、並びにプログラムに関し、特に、原稿を離れた位置からスキャンする計測装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
机等に配置された被読取物を離れた位置からスキャンするスキャン処理を実行する計測装置としてのカメラスキャナが知られている。カメラスキャナは被読取物として原稿や本等の立体物のスキャン処理を実行可能であり、通常、カメラスキャナは、立体物のスキャン処理の実行を前提とするため、原稿を引き延ばすためのプラテン等を備えない。したがって、カメラスキャナでは、原稿が折れ曲がった状態で原稿のスキャン処理が実行される場合がある。この場合、原稿の折れによって歪みのある画像データが生成されてしまう。近年では、光切断法等によって原稿の折れを高精度に計測し、計測結果に基づいて原稿の折れによる歪みを補正する技術が提案されている。例えば、光切断法では、原稿の折れを計測する場合、カメラスキャナは、当該カメラスキャナが備えるプロジェクタによって複数の投影線で構成された投影パターンを原稿に投影し、投影された投影パターンをカメラスキャナが備えるカメラ等によって検出する。カメラスキャナは検出された投影パターンから三角測量法によって各投影線の距離情報を算出し、算出された各投影線の距離情報によって原稿の折れを計測する。また、光切断法では、カメラスキャナは、原稿の大きさや形を示す形状情報や原稿が配置される位置を示す位置情報を予め格納し、格納された形状情報及び位置情報に基づいて原稿に適した投影パターンを生成する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−３６９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、原稿の形状情報や位置情報が事前に格納されていない場合、原稿に適した投影パターンを生成することができない。
【０００５】
本発明の目的は、被読取物に適した投影パターンを確実に生成することができる計測装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の計測装置は、複数の投影線によって形成される投影パターンを被読取物に投影して前記被読取物の折れを計測する計測装置であって、前記被読取物との距離を測定する距離測定手段と、前記測定された距離に基づいて前記被読取物の形、大きさ、及び位置を特定するための前記被読取物の距離分布情報を生成する距離分布情報生成手段と、前記被読取物の輝度を測定する輝度測定手段と、前記測定された輝度に基づいて前記被読取物の模様を特定するための前記被読取物の輝度分布情報を生成する輝度分布情報生成手段と、前記投影パターンを生成する投影パターン生成手段とを備え、前記投影パターン生成手段は、前記被読取物の距離分布情報及び前記被読取物の輝度分布情報に基づいて前記投影パターンを形成する各前記投影線の向きを決定することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、被読取物に適した投影パターンを確実に生成することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る計測装置としてのカメラスキャナを説明するための図であり、図１（ａ）はカメラスキャナの構成を概略的に示す構成図であり、図１（ｂ）は各座標系を説明するための図であり、図１（ｃ）は各座標系の変換を説明するための図である。
【図２】図１のカメラスキャナのハードウェアの構成を概略的に示すブロック図である。
【図３】図１のカメラスキャナのソフトウェアの構成を概略的に示すブロック図である。
【図４】図１におけるカメラスキャナで実行される計測処理の手順を示すフローチャートである。
【図５】図４のステップＳ４０１の距離分布情報生成処理の手順を示すフローチャートである。
【図６】図５の処理で用いられる各データの一例を示す図である。
【図７】図４のステップＳ４０２の投影パターン生成処理の手順を示すフローチャートである。
【図８】図７の処理を説明するための図であり、図８（ａ）は投影パターンの範囲を示し、図８（ｂ）は投影線を示し、図８（ｃ）は投影線の予測位置範囲を示し、図８（ｄ）は投影パターンの一例を示す。
【図９】図４のステップＳ４０３の投影線検出処理の手順を示すフローチャートである。
【図１０】本実施の形態における第１の変形例の課題を説明するための図であり、図１０（ａ）は原稿台に配置された原稿を示し、図１０（ｂ）及び図１０（ｃ）の各々は投影される投影パターンの一例を示す。
【図１１】図７の投影パターン生成処理の第１の変形例の手順を示すフローチャートである。
【図１２】図１１の処理で生成される分割線を説明するための図であり、図１２（ａ）は原稿領域を示し、図１２（ｂ）及び図１２（ｃ）の各々は分割線の一例を示す。
【図１３】本実施の形態における第２の変形例の課題を説明するための図である。
【図１４】図７の投影パターン生成処理の第２の変形例の手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１０】
本実施の形態では、計測装置としてのカメラスキャナに本発明を適用した場合について説明するが、本発明の適用先はカメラスキャナに限られない。例えば、被読取物を離れた位置からスキャン処理可能なスタンド型スキャナ等の計測装置であれば本発明を適用することができる。
【００１１】
図１は、本発明の実施の形態に係る計測装置としてのカメラスキャナ１０１を説明するための図であり、図１（ａ）はカメラスキャナ１０１の構成を概略的に示す構成図であり、図１（ｂ）は各座標系を説明するための図であり、図１（ｃ）は各座標系の変換を説明するための図である。
【００１２】
図１において、カメラスキャナ１０１は、コントローラ部１０２、カメラ部１０３、腕部１０６、プロジェクタ１０７、及び距離画像センサ部１０９（距離測定手段）を備える。コントローラ部１０２、カメラ部１０３、プロジェクタ１０７、及び距離画像センサ部１０９は腕部１０６によって連結されている。
【００１３】
コントローラ部１０２は、カメラスキャナ１０１の本体としてカメラ部１０３、プロジェクタ１０７、及び距離画像センサ部１０９をそれぞれ制御する。カメラ部１０３は当該カメラ部１０３の指向方向において予め設定された領域、例えば、机等の原稿台１０４の一部を含む領域１０５の撮影を行う。カメラ部１０３は高解像度及び低解像度のいずれかの解像度を設定可能である。腕部１０６は関節による曲げ伸ばしが可能である。プロジェクタ１０７は被読取物としての原稿１０８の折れを計測するための投影パターンを当該原稿１０８に投影する。距離画像センサ部１０９は赤外線によるパターン投射方式の距離画像センサである。距離画像センサ部１０９は、当該距離画像センサ部１０９の指向方向において予め設定された領域、例えば、原稿１０８を含む領域１０５の撮影を行い、原稿１０８との距離を測定する。本実施の形態では、カメラスキャナ１０１が原稿１０８の折れを計測する場合、カメラ部１０３及び距離画像センサ部１０９は原稿１０８の読取面を指向する。
【００１４】
カメラスキャナ１０１では、図１（ｂ）に示すように、カメラ部１０３、プロジェクタ１０７、及び距離画像センサ部１０９の各々に対応するカメラ座標系、プロジェクタ座標系、及び距離画像センサ座標系が定義されている。カメラ座標系はカメラ部１０３を基準とした座標系であり、カメラ座標系では、カメラ部１０３が撮影する画像平面の水平、垂直成分がＸｃ、Ｙｃと定義され、当該画像平面に直行する成分がＺｃと定義される。プロジェクタ座標系はプロジェクタ１０７を基準とした座標系であり、プロジェクタ座標系では、プロジェクタ１０７が投影する投影画像平面の水平、垂直成分がＸｐ，Ｙｐと定義され、当該投影画像平面に直行する成分がＺｐ成分と定義される。距離画像センサ座標系は距離画像センサ部１０９を基準とした座標系であり、距離画像センサ座標系では、距離画像センサ部１０９が撮影する画像平面の水平、垂直成分がＸｓ，Ｙｓと定義され、当該画像平面に直行する成分がＺｓと定義される。また、カメラスキャナ１０１では、カメラ座標系、プロジェクタ座標系、及び距離画像センサ座標系の他に、原稿台１０４を基準とした座標系である直交座標系も定義されている。直交座標系では、原稿台１０４の平面の水平、垂直成分がＸ，Ｙと定義され、原稿台１０４の平面に直行する成分がＺと定義される。各座標系は計算式によって互いに他の座標系に変換可能である。カメラスキャナ１０１は、例えば、３×３の回転行列Ｒｃ及び並進ベクトルｔｃを用い、下記式（１）により、直交座標系の三次元点Ｐ［Ｘ，Ｙ，Ｚ］をカメラ座標系の三次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］に変換可能である（例えば、図１（ｃ））。以下、回転行列Ｒｃ及び並進ベクトルｔｃをカメラ部１０３の外部パラメータと定義する。
【００１５】
【数１】
0006671977.tif 000002
【００１６】
また、カメラスキャナ１０１は、下記（２）式により、図１（ｃ）に示すように、カメラ座標系の三次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］を直交座標系の三次元点Ｐ［Ｘ，Ｙ，Ｚ］に変換可能である。
【００１７】
【数２】
0006671977.tif 000003
【００１８】
さらに、カメラスキャナ１０１は、焦点距離及び画像中心等で表現される３×３の行列Ａｃを用い、下記式（３）により、カメラ座標系の三次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］をカメラ座標系の二次元点ｐｃ［ｘｃ，ｙｃ］に射影変換可能である。以下、行列Ａｃをカメラ部１０３の内部パラメータと定義する。
【００１９】
【数３】
0006671977.tif 000004
【００２０】
なお、本実施の形態では、説明を容易にするために、レンズに歪みが存在しないことを前提として式（３）を用いて射影変換を行う場合について説明するが、レンズの歪みを考慮したパラメータを用いて射影変換してもよい。
【００２１】
同様に、カメラスキャナ１０１は、３×３の回転行列Ｒｐ及び並進ベクトルｔｐを用い、下記式（４）によって直交座標系の三次元点Ｐ［Ｘ，Ｙ，Ｚ］をプロジェクタ座標系の三次元点Ｐｐ［Ｘｐ，Ｙｐ，Ｚｐ］に変換可能である。以下、回転行列Ｒｐ及び並進ベクトルｔｐをプロジェクタ１０７の外部パラメータと定義する。
【００２２】
【数４】
0006671977.tif 000005
【００２３】
また、カメラスキャナ１０１は、下記（５）式によってプロジェクタ座標系の三次元点Ｐｐ［Ｘｐ，Ｙｐ，Ｚｐ］を直交座標系の三次元点Ｐ［Ｘ，Ｙ，Ｚ］に変換可能である。
【００２４】
【数５】
0006671977.tif 000006
【００２５】
さらに、カメラスキャナ１０１は、焦点距離及び画像中心等で表現される３×３の行列Ａｐを用い、下記式（６）によってプロジェクタ座標系の三次元点Ｐｐ［Ｘｐ，Ｙｐ，Ｚｐ］をプロジェクタ座標系の二次元点ｐｐ［ｘｐ，ｙｐ］に射影変換可能である。以下、行列Ａｐをプロジェクタ１０７の内部パラメータと定義する。
【００２６】
【数６】
0006671977.tif 000007
【００２７】
なお、上述した各内部パラメータ及び外部パラメータは予めキャリブレーションが行われていることを前提とする。
【００２８】
図２は、図１のカメラスキャナ１０１のハードウェアの構成を概略的に示すブロック図である。
【００２９】
図２において、カメラスキャナ１０１は、図１のコントローラ部１０２、カメラ部１０３、プロジェクタ１０７、及び距離画像センサ部１０９の他に、ＬＣＤタッチパネル２０８、スピーカ２１１、及び外部メモリ２１３を備える。コントローラ部１０２は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、画像処理プロセッサ２０５、カメラＩ／Ｆ２０６、ディスプレイコントローラ２０７、シリアルＩ／Ｆ２０９、オーディオコントローラ２１０、及びＵＳＢコントローラ２１２を備える。ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、画像処理プロセッサ２０５、カメラＩ／Ｆ２０６、ディスプレイコントローラ２０７、シリアルＩ／Ｆ２０９、オーディオコントローラ２１０、及びＵＳＢコントローラ２１２はシステムバス２１７を介して互いに接続されている。距離画像センサ部１０９は、赤外線パターン投射部２１４、赤外線カメラ２１５、及びＲＧＢカメラ２１６を備える。
【００３０】
ＣＰＵ２０１はコントローラ部１０２全体を統括的に制御し、ＲＯＭ２０３に格納された各プログラムを実行して後述する図３のソフトウェア３００の各処理を実行する。ＲＡＭ２０２は揮発性メモリであり、ＣＰＵ２０１の作業領域や各データの一時格納領域として用いられる。ＲＯＭ２０３は不揮発性メモリであり、ＣＰＵ２０１で実行される各プログラムを格納する。ＨＤＤ２０４はＲＡＭ２０２より大容量のハードディスクドライブであり、各プログラムや各設定情報等を格納する。画像処理プロセッサ２０５はＲＡＭ２０２に格納された画像データを読み出して回転、変倍、色変換等の画像処理を行い、画像処理が行われた画像データをＲＡＭ２０２へ書き戻す。カメラＩ／Ｆ２０６はカメラ部１０３及び距離画像センサ部１０９の各々とデータ通信を行う。例えば、カメラＩ／Ｆ２０６は、ＣＰＵ２０１からの指示に応じてカメラ部１０３及び距離画像センサ部１０９の各々から、画像データ及び距離画像データを取得し、取得された画像データ及び距離画像データをＲＡＭ２０２へ書き込む。また、カメラＩ／Ｆ２０６は、ＣＰＵ２０１からの制御コマンドをカメラ部１０３及び距離画像センサ１０８へ送信し、カメラ部１０３及び距離画像センサ部１０９の各設定を行う。ディスプレイコントローラ２０７はプロジェクタ１０７及びＬＣＤタッチパネル２０８とデータ通信を行い、シリアルＩ／Ｆ２０９はＬＣＤタッチパネル２０８とデータ通信を行い、オーディオコントローラ２１０はスピーカ２１１とデータ通信を行う。ＵＳＢコントローラ２１２は外部メモリ２１３とデータ通信を行う。赤外線パターン投射部２１４は視認不可能な赤外線の投影パターンを被読取物に投射する。赤外線カメラ２１５は被読取物に投射された投影パターンを撮影するカメラである。ＲＧＢカメラ２１６は可視光をＲＧＢ信号で撮影するカメラである。ＬＣＤタッチパネル２０８はカメラスキャナ１０１の各設定を行う設定画面等を表示する。スピーカ２１１はオーディオコントローラ２１０から受信したアナログ音声信号に基づいて音声を出力する。外部メモリ２１３はＵＳＢメモリやＳＤカード等である。
【００３１】
図３は、図１のカメラスキャナ１０１のソフトウェア３００の構成を概略的に示すブロック図である。
【００３２】
図３において、ソフトウェア３００は、メイン制御モジュール３０１、ＵＩモジュール３０２、表示モジュール３０３、データ管理モジュール３０４、画像取得モジュール３０５、認識処理モジュール３０８、及びスキャン処理モジュール３０９を備える。画像取得モジュール３０５はカメラ画像取得モジュール３０６及び距離画像取得モジュール３０７を備え、スキャン処理モジュール３０９は原稿形状取得モジュール３１０、計測画像生成モジュール３１１、及び原稿補正画像生成モジュール３１２を備える。ソフトウェア３００の各処理はＣＰＵ２０１がＲＯＭ２０３に格納された各プログラムを実行することによって行われる。
【００３３】
メイン制御モジュール３０１は、ＵＩモジュール３０２、データ管理モジュール３０４、画像取得モジュール３０５、認識処理モジュール３０８、及びスキャン処理モジュール３０９を制御する。ＵＩモジュール３０２はユーザーインターフェースに関するデータ通信を制御する。例えば、ＵＩモジュール３０２は、ＬＣＤタッチパネル２０８等に表示するメッセージや操作ボタン等のＧＵＩデータを生成し、ＧＵＩデータの表示の指示を表示モジュール３０３に送信する。また、ＵＩモジュール３０２は認識処理モジュール３０８で検知されたＬＣＤタッチパネル２０８の操作によってユーザの操作を受け付ける。表示モジュール３０３はディスプレイコントローラ２０７を制御してＬＣＤタッチパネル２０８等にＧＵＩデータを表示させる。データ管理モジュール３０４はカメラスキャナ１０１で用いられる各データの管理を行い、当該各データの格納処理等を制御する。画像取得モジュール３０５は画像入力処理を行う。
【００３４】
カメラ画像取得モジュール３０６はカメラＩ／Ｆ２０６を介してカメラ部１０３から画像データを取得する。取得された画像データはＲＡＭ２０２へ格納される。距離画像取得モジュール３０７はカメラＩ／Ｆ２０６を介して距離画像センサ部１０９から距離画像データを取得する。取得された距離画像データはＲＡＭ２０２へ格納される。認識処理モジュール３０８は、取得された画像データや距離画像データから原稿台１０４上の物体の動きを認識する。例えば、認識処理モジュール３０８は、画像取得モジュール３０５からＧＵＩデータを含む画像データを取得し、ＧＵＩデータのタッチ等（ジェスチャ）を検知すると、当該検知結果をメイン制御モジュール３０１へ通知する。また、認識処理モジュール３０８は、物体載置待ち処理や物体除去待ち処理の通知をメイン制御モジュール３０１から受信すると、原稿台１０４が撮影された画像データを画像取得モジュール３０５から取得する。これにより、認識処理モジュール３０８は原稿台１０４上に物体が置かれて当該物体が静止するタイミングや物体が取り除かれるタイミングを検知する。スキャン処理モジュール３０９は原稿のスキャン処理を行う。原稿形状取得モジュール３１０は後述する図６（ｇ）の距離分布情報６１０に基づいて原稿１０８の形、大きさ、位置を含む形状情報を取得する。計測画像生成モジュール３１１は、原稿台１０４に配置された原稿の折れを計測するための投影パターンを生成する。原稿補正画像生成モジュール３１２は、原稿形状取得モジュール３１０で取得された形状情報に基づいて原稿の折れによる歪みを補正した画像データを生成する。
【００３５】
図４は、図１におけるカメラスキャナ１０１で実行される計測処理の手順を示すフローチャートである。
【００３６】
図４の処理は、ＣＰＵ２０１がＲＯＭ２０３に格納された各プログラムを実行することによって行われる。
【００３７】
図４において、まず、ＣＰＵ２０１は後述する図５の距離分布情報生成処理を実行し（ステップＳ４０１）、測定された距離に基づいて投影パターンを生成するための後述する図６（ｇ）の距離分布情報６１０を生成する。次いで、ＣＰＵ２０１は後述する図７の投影パターン生成処理を実行し（ステップＳ４０２）、ステップＳ４０１で生成された距離分布情報６１０に基づいて原稿１０８に投影する投影パターンを生成する。次いで、ＣＰＵ２０１は後述する図９の投影線検出処理を実行し（ステップＳ４０３）、原稿１０８に投影された投影パターンを検出する。次いで、ＣＰＵ２０１はステップＳ４０３で検出された投影パターンに基づいて光切断法や三角測量法を用いた高精度な三次元計測を行う（ステップＳ４０４）。これにより、カメラスキャナ１０１は当該三次元計測結果に基づいて原稿１０８の折れを計測する。その後、ＣＰＵ２０１はステップＳ４０４の処理を実行した後に本処理を終了する。
【００３８】
図５は、図４のステップＳ４０１の距離分布情報生成処理の手順を示すフローチャートである。
【００３９】
図５において、まず、ＣＰＵ２０１は原稿１０８をカメラ部１０３によって撮影して輝度情報を含む図６（ａ）の輝度画像６０１を生成する。また、ＣＰＵ２０１は原稿１０８を距離画像センサ部１０９によって撮影して距離情報を含む図６（ｂ）の距離画像６０２を生成する（ステップＳ５０１）。本実施の形態では、ステップＳ５０１の処理が行われる前に、同じアングルで原稿１０８が配置されていない原稿台１０４を撮影して生成された背景輝度画像及び背景距離画像がＲＡＭ２０２に格納されている。ステップＳ５０１で生成された距離画像６０２では、被読取物及び距離画像センサ部１０９の距離と原稿台１０４及び距離画像センサ部１０９の距離とが同じである場合に白色で示され、被読取物及び距離画像センサ部１０９の距離が短くなる程黒色で示される。本実施の形態では、一例として、輝度画像６０１及び距離画像６０２が一枚ずつ生成された場合を前提とするが、輝度画像及び距離画像の枚数は一枚に限られない。例えば、距離情報の測定精度を向上するために、ステップＳ５０１で複数枚の輝度画像及び距離画像が生成されてもよい。次いで、ＣＰＵ２０１は、予めＲＡＭ２０２に格納された背景輝度画像及び輝度画像６０１の差によって図６（ｃ）の輝度差分画像６０３を生成する（ステップＳ５０２）。輝度差分画像６０３では、背景輝度画像及び輝度画像６０１の輝度が一致しない領域６０４のみが黒色で示される。
【００４０】
次いで、ＣＰＵ２０１は、輝度差分画像６０３をカメラ座標系から距離画像センサ座標系に変換する（ステップＳ５０３）。これにより、距離画像センサ部１０９を基準とした図６（ｄ）の輝度差分画像６０５が生成される。次いで、ＣＰＵ２０１は、予めＲＡＭ２０２に格納された背景距離画像及び距離画像６０２の差を算出し、算出した結果に基づいて二値化された図６（ｅ）の距離差分画像６０６を生成する（ステップＳ５０４）。距離差分画像６０６では、背景距離画像及び距離画像６０２の差が所定の閾値より大きい領域６０７が黒色で示され、背景距離画像及び距離画像６０２の差が所定の閾値以下である領域６０７以外の領域が白色で示される。ここで、原稿１０８及び原稿台１０４が同系色である場合、原稿１０８及び原稿台１０４の輝度の差が小さくなるので、原稿１０８及び原稿台１０４の輝度の差に相当する輝度差分画像６０５から原稿１０８の領域を特定することが困難になる場合がある。また、原稿１０８の厚さが薄い場合、原稿１０８及び原稿台１０４の距離の差が小さくなるので、原稿１０８及び原稿台１０４の距離の差に相当する距離差分画像６０６から原稿１０８の領域を特定することが困難になる場合がある。これに対応して、本実施の形態では、ＣＰＵ２０１が、ステップＳ５０４の処理を実行した後に輝度差分画像６０５及び距離差分画像６０６の和によって図６（ｆ）の原稿領域画像６０８を生成する（ステップＳ５０５）。これにより、ＣＰＵ２０１は原稿領域画像６０８から原稿１０８の領域を確実に特定可能になる。次いで、ＣＰＵ２０１は原稿領域画像６０８から原稿領域６０９を抽出し（ステップＳ５０６）、抽出された原稿領域６０９を構成する各部分の距離情報を含む距離分布情報をＲＡＭ２０２に格納する。次いで、ＣＰＵ２０１は、原稿領域６０９の距離分布情報を距離センサ座標系から直交座標系に変換して原稿台１０４を基準とした図６（ｇ）の距離分布情報６１０を生成する（ステップＳ５０７）。本実施の形態では、ＣＰＵ２０１は距離分布情報６１０を用いて原稿１０８の形、大きさ、及び位置を特定する。その後、ＣＰＵ２０１はステップＳ５０７の処理を実行した後に図４のステップＳ４０２の処理を行う。
【００４１】
図７は、図４のステップＳ４０２の投影パターン生成処理の手順を示すフローチャートである。
【００４２】
図７において、まず、ＣＰＵ２０１は、原稿１０８において、原稿台１０４を基準に最も高くなる箇所を検出する（ステップＳ７０１）。具体的に、ＣＰＵ２０１は原稿台１０４を基準とした距離分布情報６１０のＺ成分の最大値Ｚｍａｘを抽出する。次いで、ＣＰＵ２０１は原稿１０８に投影する図８（ａ）の投影パターンの範囲８０１を決定する（ステップＳ７０２）。ステップＳ７０２では、ＣＰＵ２０１は、例えば、距離分布情報６１０から図６（ｈ）に示すような原稿台１０４の外接矩形領域６１１を導出し、外接矩形領域６１１の座標に射影変換を行って算出された座標に基づいて投影パターンの範囲８０１を決定する。次いで、ＣＰＵ２０１は投影線の順番を示す設定値Ｎを１番目の投影線であることを示す「１」に設定し（ステップＳ７０３）、範囲８０１における１番目の投影線ＰＬ１の位置を決定する（ステップＳ７０４）。ステップＳ７０４では、範囲８０１を構成する各辺のいずれか、例えば、下辺８０２から予め設定されたオフセットを持たせた位置を投影線ＰＬ１の位置に決定する。次いで、ＣＰＵ２０１は決定された位置に基づいて、図８（ｂ）に示すように、投影パターンを含むプロジェクタ画像８０３に投影線ＰＬ１を設定する（ステップＳ７０５）。ここで、原稿１０８に投影線ＰＬ１が投影された場合、投影線ＰＬ１は原稿台１０４を基準とした原稿１０８の高さ、つまり、距離分布情報６１０のＺ成分の値に応じた位置でカメラ部１０３によって撮影される。すなわち、カメラ部１０３によって撮影される投影線ＰＬ１の位置は距離分布情報６１０のＺ成分の値に依存する。これに対応して、ＣＰＵ２０１は、後述するステップＳ７０６及びＳ７０７によって原稿１０８に投影線ＰＬ１を投影した場合、投影線ＰＬ１がカメラ部１０３によって撮影される位置の予測位置範囲を算出する。具体的に、ＣＰＵ２０１は、距離分布情報６１０のＺ成分の最小値Ｚｍｉｎの位置に投影線ＰＬ１が投射された場合にカメラ部１０３によって撮影される投影線ＰＬ１を示す撮影予測線ＣＬ１の位置座標を算出する（ステップＳ７０６）。ここで、プロジェクタ１０７の内部パラメータに射影逆変換を行うと、下記式（７）が導出され、下記式（７）から下記式（８）及び下記式（９）が導出される。
【００４３】
【数７】
0006671977.tif 000008
【数８】
0006671977.tif 000009
【数９】
0006671977.tif 000010
【００４４】
さらに、式（８）、式（９）、及び式（５）を用いて下記式（１０）が導出される。
【００４５】
【数１０】
0006671977.tif 000011
【００４６】
式（７）〜式（１０）を用いて原稿台１０４の平面、つまり、Ｚ＝０となるようなプロジェクタ座標系のＺｐ値及び直交座標系の三次元座標が算出される。算出された直交座標系の三次元座標を式（１）及び式（３）によってカメラ座標系に変換すると、撮影予測線ＣＬ１の位置座標が算出される。次いで、ＣＰＵ２０１は、距離分布情報６１０のＺ成分の最大値Ｚｍａｘの位置に投影線ＰＬ１が投射された場合にカメラ部１０３によって撮影される投影線ＰＬ１を示す撮影予測線ＣＬ２の位置座標を算出する（ステップＳ７０７）。ステップＳ７０７では、ＣＰＵ２０１は式（１０）によってＺ＝Ｚｍａｘとなる直交座標系の三次元座標を算出し、算出された直交座標系の三次元座標を式（１）及び式（３）によってカメラ座標系に変換して撮影予測線ＣＬ２の位置座標を算出する。次いで、ＣＰＵ２０１は、図８（ｃ）に示すように、撮影予測線ＣＬ１，ＣＬ２によって囲まれる予測位置範囲８０４を導出する。次いで、ＣＰＵ２０１は、予測位置範囲８０４を示す情報を投影線ＰＬ１に対応付けしてＲＡＭ２０２に格納する（ステップＳ７０８）。次いで、ＣＰＵ２０１は、予測位置範囲８０４に重ならないように投影線ＰＬ２の位置を算出する（ステップＳ７０９）。ステップＳ７０９では、カメラの内部パラメータに射影逆変換を行うと、下記式（１１）が導出され、下記式（１１）から下記式（１２）及び下記式（１３）が導出される。
【００４７】
【数１１】
0006671977.tif 000012
【数１２】
0006671977.tif 000013
【数１３】
0006671977.tif 000014
【００４８】
式（１２）、式（１３）、及び式（２）を用いて下記式（１４）が導出される。
【００４９】
【数１４】
0006671977.tif 000015
【００５０】
ＣＰＵ２０１は予測位置範囲８０４に重ならないように撮影予測線ＣＬ３の位置を算出する。また、ＣＰＵ２０１は、撮影予測線ＣＬ３に対して式（１１）、式（１４）、式（４）、及び式（５）の順に変換を行って、Ｚ＝０平面上で撮影予測線ＣＬ３の座標に投影するための投影線ＰＬ２を算出する。次いで、ＣＰＵ２０１は、投影線ＰＬ２が予測位置範囲８０４の範囲外であるか否かを判別する（ステップＳ７１０）。
【００５１】
ステップＳ７１０の判別の結果、投影線ＰＬ２が予測位置範囲８０４の範囲外であるとき、ＣＰＵ２０１はステップＳ４０３の処理に進む。一方、ステップＳ７１０の判別の結果、投影線ＰＬ２が予測位置範囲８０４の範囲内であるとき、ＣＰＵ２０１は、算出された位置に基づいて投影線ＰＬ２の位置を決定する。その後、ＣＰＵ２０１はＲＡＭ２０２に格納された変数Ｎに１を加算し（ステップＳ７１１）、投影線ＰＬ２に関してステップＳ７０５以降の処理を行う。これにより、原稿の形状情報及び原稿の位置情報が予め格納されていなくても、各投影線の位置、及び各投影線の間隔が決定され、複数の投影線、例えば、図８（ｄ）に示すような、７本の投影線を含む投影パターン８０５が生成される。したがって、本実施の形態では、原稿の形状情報及び原稿の位置情報を格納する格納領域や、原稿の形状情報及び原稿の位置情報の設定を行うための設定画面をＬＣＤタッチパネル２０８に表示しなくてもよい。
【００５２】
図９は、図４のステップＳ４０３の投影線検出処理の手順を示すフローチャートである。
【００５３】
図９において、まず、ＣＰＵ２０１は、ステップＳ４０２で生成された投影パターン８０５をプロジェクタ１０７によって原稿１０８に投影する（ステップＳ９０１）。ＣＰＵ２０１は、投影パターン８０５が投影された原稿１０８をカメラ部１０３で撮影して図６（ｉ）の撮影画像６１２を生成し、当該撮影画像６１２をＲＡＭ２０３に格納する。次いで、ＣＰＵ２０１は、ステップＳ４０１で生成された輝度画像６０１及び撮影画像６１２の差によって図６（ｊ）の差分画像６１３を生成する（ステップＳ９０２）。差分画像６１３は各投影線の成分のみを含む。次いで、ＣＰＵ２０１は、差分画像６１３から投影線を検出し（ステップＳ９０３）、ステップＳ９０３で検出された各投影線が設定値Ｎで設定されたいずれの番号の線であるかを識別し（ステップＳ９０４）、図４のステップＳ４０４の処理を行う。
【００５４】
上述した図４、図５、図７、図９の処理によれば、測定された距離に基づいて原稿１０８の形、大きさ、及び位置を特定するための距離分布情報６１０が生成され、生成された距離分布情報６１０に基づいて投影パターン８０５が生成される。これにより、原稿１０８の形、大きさ、及び位置に関する情報を事前に格納することなく、原稿１０８に適した投影パターン８０５を確実に生成することができる。
【００５５】
また、上述した図４、図５、図７、図９の処理では、距離分布情報６１０に基づいて各投影線の位置、及び各投影線の間隔が決定される。これにより、原稿１０８に適した各投影線の位置、及び各投影線の間隔の投影パターンを生成することができる。
【００５６】
以上、本発明について実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。
【００５７】
例えば、投影パターンにおいて、各投影線の間隔及び位置の他に、各投影線の向きを決定してもよい。
【００５８】
上述した実施の形態のように、各投影線の間隔及び位置のみが調整された投影パターンでは、被読取物の折れを正確に計測することができない場合がある。被読取物の折れを計測するためには、投影パターンの各投影線が被読取物の折れと交差する必要がある。そのため、例えば、図１０（ａ）に示すように、原稿１００１の折れが原稿台１０４のＸ方向に沿う場合、投影パターンとしては、原稿１００１の折れに略水平の投影線を含む図１０（ｂ）の投影パターン１００２よりも、原稿１００１の折れに略直交の投影線を含む図１０（ｃ）の投影パターン１００３を用いるのが好ましい。すなわち、被読取物の折れを正確に計測するには、被読取物の折れに応じて投影線の向きを決定する必要がある。
【００５９】
これに対応して、本実施の形態では、距離分布情報６１０に基づいて各投影線の向きを決定する。
【００６０】
図１１は、図７の投影パターン生成処理の第１の変形例の手順を示すフローチャートである。
【００６１】
図１１において、まず、ＣＰＵ２０１は図７のステップＳ７０１〜Ｓ７０３と同様の処理を行う。次いで、ＣＰＵ２０１は、距離分布情報６１０に基づいて投影パターンの各投影線の向きを決定する（ステップＳ１１０１）。例えば、ステップＳ４０１の処理で原稿１００１が撮影されて図１２（ａ）の距離画像１２００が生成された場合、ＣＰＵ２０１は距離画像１２００のうち原稿１００１に対応する原稿領域１２０１を分割する図１２（ｂ）の分割線１２０２及び図１２（ｃ）の分割線１２０３を生成する。分割線１２０２は、図１２（ｂ）に示すように、原稿領域１２０１を距離画像１２００のＸｓ方向に沿って複数の分割領域に分割するような分割線である。分割線１２０３は、図１２（ｃ）に示すように、原稿領域１２０１を距離画像１２００のＹｓ方向に沿って複数の分割領域に分割するような分割線である。通常、距離分布情報において、被読取物の折れの箇所では折れに交差する方向に関して隣接する２つの部分の距離情報の差分が大きくなる。そのため、ＣＰＵ２０１は、距離画像１２００に基づいてステップＳ４０１で生成された距離分布情報において、分割線１２０２に対応する距離情報の分散値から当該分割線１２０２に沿う方向の距離情報の差分を算出し、分割線１２０３に対応する距離情報の分散値から当該分割線１２０３に沿う方向の距離情報の差分を算出する。ＣＰＵ２０１は、算出された差分を比較し、当該差分が大きい分割線に沿う方向を各投影線の向きに決定する。次いで、ＣＰＵ２０１は、図７のステップＳ７０４以降の処理を行う。
【００６２】
上述した図１１の処理では、複数の投影線の各々に関し、当該投影線が交差する各部分のうち、距離情報の差分が大きい隣接する２つの部分の配列方向を投影線の向きとして決定される。ここで、光切断法では、原稿１００１の折れを正確に計測するために、折れと各投影線を交差させるのが好ましい。原稿１００１では折れに交差する方向に関し、折れの箇所では隣接する２つの部分の距離情報の差分が大きくなる。これに対応して、本実施の形態では、距離情報の差分が大きい隣接する２つの部分の配列方向が投影線の向きとして決定されるため、各投影線を折れと確実に交差させることができる。その結果、光切断法において被読取物の折れを正確に計測することができる。
【００６３】
上述した図１１の処理では、各投影線の向きとして距離画像１２００のＸ，Ｙ方向のいずれかに沿う方向に設定する場合について説明したが、各投影線の向きは距離画像１２００のＸ，Ｙ方向のいずれかに沿う方向に限られない。例えば、距離画像１２００のＸ，Ｙ方向の他に、当該距離画像１２００のＸ，Ｙ方向に対して斜めの分割線も生成して当該斜めの分割線に対応する距離情報の差分も算出し、当該差分が最も大きい分割線に沿う方向を各投影線の向きに決定してもよい。
【００６４】
また、本実施の形態では、輝度情報に基づいて投影パターンを生成してもよい。
【００６５】
ここで、距離分布情報のみに基づいて生成された投影パターンを用いて原稿の折れを正確に計測することができない場合がある。例えば、図１３のように、輝度画像１３００のＸｃ方向と略水平に罫線等が記された原稿１３０１に対して、当該罫線に沿う方向の投影線を含む投影パターンを投影した場合、照明変化等の影響により、投影パターンの他に、原稿１３０１の罫線に関する情報等も検出してしまう場合がある。その結果、原稿１３０１の折れを正確に計測することができない。
【００６６】
これに対応して、本実施の形態では、後述する輝度分布情報に基づいて各投影線の方向を決定する。
【００６７】
図１４は、図７の投影パターン生成処理の第２の変形例の手順を示すフローチャートである。
【００６８】
図１４において、まず、ＣＰＵ２０１は、図７のステップＳ７０１〜Ｓ７０３と同様の処理を行う。次いで、ＣＰＵ２０１は、ステップＳ４０１で撮影された輝度画像６０１から当該輝度画像６０１を構成する各部の輝度情報を測定し（輝度測定手段）、測定された輝度情報を含む輝度分布情報を生成する（輝度分布情報生成手段）。また、ＣＰＵ２０１は生成された輝度分布情報における輝度の差を示す輝度勾配を算出する。輝度画像の座標（ｕ，ｖ）、輝度画像の各座標の輝度Ｉ（ｕ，ｖ）とすると、輝度勾配ｍは下記式（１５）によって算出され、輝度勾配方向θは下記式（１６）によって算出される。
【００６９】
【数１５】
0006671977.tif 000016
【数１６】
0006671977.tif 000017
【００７０】
ＣＰＵ２０１は、算出された結果に基づいて最も大きい輝度勾配の輝度勾配方向θを投影線の向きに決定する（ステップＳ１４０１）。次いで、ＣＰＵ２０１は図７のステップＳ７０４以降の処理を行う。
【００７１】
上述した図１４の処理では、輝度分布情報に基づいて各投影線の向きが決定されるので、原稿の模様に適した投影パターンを生成することができる。
【００７２】
上述した実施の形態では、距離画像センサ部１０９及びカメラ部１０３は被読取物の読取面を指向するので、被読取物の読取面の距離及び輝度を確実に測定することができる。
【００７３】
上述した本実施の形態では、距離分布情報及び輝度分布情報を組み合わせ、距離分布情報及び輝度分布情報に基づいて各投影線の向きを決定してもよい。これにより、原稿の模様の他に、当該原稿の形、大きさ、及び位置にも適した投影パターンを生成することができる。
【００７４】
上述した本実施の形態では、距離分布情報及び輝度分布情報を組み合わせて用いる場合、距離情報の差や、輝度勾配等に対して重み付けをしてもよい。
【００７５】
本実施の形態では、距離分布情報６１０として、カメラスキャナ１０１における計測誤差の補正が行われた距離分布情報を用いてもよい。
【００７６】
また、本実施の形態では、投影線ＰＬ１，ＰＬ２及び撮影予測線ＣＬ１，ＣＬ２は直線として説明しているが、投影線及び撮影予測線は直線に限られず、曲線を使用してもよい。
【００７７】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７８】
１０１  カメラスキャナ
１０３  カメラ部
１０９  距離画像センサ部
２０１  ＣＰＵ
【図１】
0006671977.tif 000018
【図２】
0006671977.tif 000019
【図３】
0006671977.tif 000020
【図４】
0006671977.tif 000021
【図５】
0006671977.tif 000022
【図６】
0006671977.tif 000023
【図７】
0006671977.tif 000024
【図８】
0006671977.tif 000025
【図９】
0006671977.tif 000026
【図１０】
0006671977.tif 000027
【図１１】
0006671977.tif 000028
【図１２】
0006671977.tif 000029
【図１３】
0006671977.tif 000030
【図１４】
0006671977.tif 000031