(57)【要約】【課題】  平面画像に補正演算するために必要なデータを効率良く記憶し、且つ比較的安価な演算素子によって構成することができる３次元形状検出システムを提供する。【解決手段】  対象物体にパターン光が投光されている状態における対象物体のパターン光投光画像を撮像しパターン光投光画像の画像データを取得し、パターン光が投光されていない状態における対象物体のパターン光非投光画像を撮像しパターン光非投光画像の画像データを取得する。取得された画像データに基づき対象物体に投光されたパターン光の位置を抽出し、抽出されるパターン光の位置に基づき対象物体の３次元形状データを算出する。外部演算装置は、３次元形状検出装置によって取得されたパターン光非投光画像の画像データと３次元形状データとに基づきパターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する。【選択図】  図６
2005121644.tif 000002
【特許請求の範囲】
【請求項１】
３次元形状検出装置と外部演算装置を備える３次元形状検出システムであって、
前記３次元形状検出装置は、
対象物体にパターン光を投光する投光手段と、
前記投光手段からパターン光が投光されている状態における対象物体のパターン光投光画像を撮像し前記パターン光投光画像の画像データを取得すると共に、前記パターン光が投光されていない状態における対象物体のパターン光非投光画像を撮像し前記パターン光非投光画像の画像データを取得する画像データ取得手段と、
取得された前記画像データに基づき対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出手段と、
前記パターン光位置抽出手段によって抽出されるパターン光の位置に基づき対象物体の３次元形状データを算出する３次元形状算出手段とを備え、
前記外部演算装置は、
前記３次元形状検出装置によって取得された前記パターン光非投光画像の画像データと前記３次元形状データとに基づき前記パターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する画像補正手段を備えること、
を特徴とする３次元形状検出システム。
【請求項２】
前記３次元形状検出装置は、
前記画像データ取得手段で取得された前記パターン光非投光画像の画像データと、前記３次元形状算出手段で算出された３次元形状データとを記憶する記憶手段を更に備え、
前記外部演算手段へは、前記記憶手段を介して前記パターン光非投光画像の画像データと前記３次元形状データとが提供されること、を特徴とする請求項１に記載の３次元形状検出システム。
【請求項３】
前記３次元形状検出装置において、前記記憶手段は前記３次元形状検出装置に着脱自在に装着可能に構成され、
前記外部演算装置は、前記記憶手段を着脱自在に装着可能な記憶媒体インタフェースを有し、
前記３次元形状検出装置によって前記パターン光非投光画像の画像データと前記３次元形状データとが格納された前記記憶手段が、前記３次元形状検出装置から取り外され前記外部演算装置の記憶媒体インタフェースに装着されることによって、前記パターン光非投光画像の画像データと前記３次元形状データとが前記外部演算装置に提供されること、を特徴とする請求項２に記載の３次元形状検出システム。
【請求項４】
前記記憶手段において前記パターン光非投光画像の画像データと前記３次元形状データとは単一ファイルに格納されていること、を特徴とする請求項２または請求項３に記載の３次元形状検出システム。
【請求項５】
前記３次元形状検出装置は、前記外部演算装置との間でデータ通信を行なう為の第１のインタフェースを有し、
前記外部演算装置は、前記３次元形状検出装置との間でデータ通信を行なう為の第２のインタフェースを有し、
前記３次元形状検出装置から前記外部演算装置へは、前記第１のインタフェース及び前記第２のインタフェースを介しての有線または無線のデータ通信により前記パターン光非投光画像の画像データと前記３次元形状データとが提供されること、
を特徴とする請求項１から請求項４のいずれか記載の３次元形状検出システム。
【請求項６】
前記３次元形状算出手段は、前記パターン光位置抽出手段で抽出されたパターン光の位置に基づいて前記対象物体の３次元空間における位置情報と傾き情報と湾曲情報とを算出し、
前記３次元形状データは、前記対象物体の３次元空間における位置情報と傾き情報と湾曲情報とで構成されていることを特徴とする請求項１から請求項５のいずれか記載の３次元形状検出システム。
【請求項７】
前記３次元形状検出装置は、撮像手段を有する撮像装置として構成され、
前記外部演算装置はパーソナルコンピュータとして構成されていること、を特徴とする請求項１から請求項６のいずれか記載の３次元形状検出システム。
【請求項８】
３次元形状検出システムにおいて用いられる３次元形状検出装置であって、
対象物体にパターン光を投光する投光手段と、
前記投光手段からパターン光が投光されている状態における対象物体のパターン光投光画像を撮像し前記パターン光投光画像の画像データを取得すると共に、前記パターン光が投光されていない状態における対象物体のパターン光非投光画像を撮像し前記パターン光非投光画像の画像データを取得する画像データ取得手段と、
取得された前記画像データに基づき対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出手段と、
前記パターン光位置抽出手段によって抽出されるパターン光の位置に基づき対象物体の３次元形状データを算出する３次元形状算出手段とを備え、
前記画像データ取得手段によって取得される前記パターン光非投光画像の画像データと前記３次元形状算出手段により算出される前記３次元形状データは、外部演算装置において前記パターン光非投光画像の画像データと前記３次元形状データとに基づいて前記パターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する為に用いられること、
を特徴とする３次元形状検出装置。
【請求項９】
前記画像データ取得手段で取得された前記パターン光非投光画像の画像データと、前記３次元形状算出手段で算出された３次元形状データとを記憶する記憶手段を更に備え、
前記記憶手段は、前記外部演算装置に対して前記パターン光非投光画像の画像データと前記３次元形状データとを提供する為に用いられること、を特徴とする請求項８に記載の３次元形状検出装置。
【請求項１０】
前記外部演算装置との間でデータ通信を行なう為のインタフェースを更に備え、
前記外部演算装置へは、前記インタフェースを介しての有線または無線のデータ通信により前記パターン光非投光画像の画像データと前記３次元形状データとが提供されること、
を特徴とする請求項８に記載の３次元形状検出装置。
【請求項１１】
パターン光が投光されている状態における対象物体のパターン光投光画像の画像データとパターン光が投光されていない状態における対象物体のパターン光非投光画像の画像データとを取得する画像データ取得ステップと、
前記画像データ取得ステップで取得された画像データに基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出ステップと、
前記パターン光位置抽出ステップで抽出されるパターン光の位置に基づき、対象物体の３次元形状データを算出する３次元形状算出ステップと、
前記パターン光非投光画像の画像データと前記３次元形状データとを記憶手段に記憶する記憶ステップと、
前記記憶ステップにおいて記憶手段に記憶される前記パターン光非投光画像の画像データと前記３次元形状データとに基づいて、前記パターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する画像補正ステップとを備えること、
を特徴とする３次元形状検出プログラム。
【請求項１２】
前記記憶ステップにおいて前記パターン光非投光画像の画像データと３次元形状データとは１つのファイルとして前記記憶手段に格納されることを特徴とする請求項１１に記載の３次元形状検出プログラム。
【請求項１３】
パターン光が投光されている状態における対象物体のパターン光投光画像の画像データとパターン光が投光されていない状態における対象物体のパターン光非投光画像の画像データとを取得する画像データ取得ステップと、
前記画像データ取得ステップで取得された画像データに基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出ステップと、
前記パターン光位置抽出ステップで抽出されるパターン光の位置に基づき、対象物体の３次元形状データを算出する３次元形状算出ステップと、
前記パターン光非投光画像の画像データと前記３次元形状データとを外部演算装置に送信する送信ステップと、
前記送信ステップにより送信される前記パターン光非投光画像の画像データと前記３次元形状データとを受信し、前記パターン光非投光画像の画像データと前記３次元形状データとに基づいて前記パターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する画像補正ステップとを備えること、
を特徴とする３次元形状検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン光を用いて対象物体の３次元形状を検出する３次元形状検出システム、３次元形状検出装置、及び３次元形状検出プログラムに関する。
【背景技術】
【０００２】
従来より、ホワイトボードや書籍等の対象物体を、その正面に対して斜め方向となる位置から撮像したとしても、あたかも対象物体の正面から撮像したように、その撮像画像を補正することのできる撮像装置が知られている。このような撮像装置は、対象物体の撮像画像から対象物体の３次元形状を検出することで、対象物体が正面から撮像されたように撮像画像を補正する補正手段を備える。例えば、下記特許文献１の図１等には、このような補正手段を備えた可搬型のデジタルカメラが開示されている。
【０００３】
【特許文献１】特開平９−２８９６１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した補正手段を備えた可搬型のデジタルカメラにおいて、上記のような補正をする場合、可搬型の装置は据え置き型の装置に比べて、消費電力や外形状の制限から演算能力に劣り高速に演算処理ができなかったり、その演算処理のための素子として安価なものを使用することができないという問題点があった。
【０００５】
本発明は、上述した問題点を解決するためになされたものであり、対象物体を斜めに撮像した撮像画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正演算するために必要なデータを効率良く記憶し、且つ比較的安価な演算素子によって構成することができる３次元形状検出システム、３次元形状検出装置、及び３次元形状検出プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成する為、本発明の一つの側面によって提供されるのは、３次元形状検出装置と外部演算装置を備える３次元形状検出システムであって、３次元形状検出装置は、対象物体にパターン光を投光する投光手段と、投光手段からパターン光が投光されている状態における対象物体のパターン光投光画像を撮像し前記パターン光投光画像の画像データを取得すると共に、前記パターン光が投光されていない状態における対象物体のパターン光非投光画像を撮像し前記パターン光非投光画像の画像データを取得する画像データ取得手段と、取得された前記画像データに基づき対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出手段と、前記パターン光位置抽出手段によって抽出されるパターン光の位置に基づき対象物体の３次元形状データを算出する３次元形状算出手段とを備える。外部演算装置は、前記３次元形状検出装置によって取得された前記パターン光非投光画像の画像データと前記３次元形状データとに基づき前記パターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する画像補正手段を備える。
【０００７】
このような構成によれば、３次元形状検出装置においては、外部演算装置で平面画像を算出する為にパターン光投光画像の画像データを記憶しておく必要がなくなる。したがって、３次元形状検出装置において、パターン光投光画像の画像データとパターン光非投光画像の画像データとの両方を記憶する場合に比べ、記憶の容量を節約することができる。３次元形状検出装置側では、比較的負荷が低い演算が行われ、外部演算装置側で比較的負荷の高い処理が行われる構成となっているので、例えば外部演算装置を高性能の装置で構成することにより、３次元形状検出システムとしての全体性能を高めることができる。
【０００８】
３次元形状検出装置側から外部演算装置側に提供されるデータは、パターン光非投光画像の画像データと３次元形状データとであり、パターン光非投光画像の画像データとパターン光投光画像の画像データの両方を外部演算装置に提供する場合に比べてデータ量が大きく減少している。したがって、３次元形状検出装置側から外部演算装置側に画像データを提供する際に必要となるデータ量が少なくなり、例えば、３次元形状検出装置と外部演算装置間でデータ通信により画像データを転送する場合には、通信時間の削減という効果が得られる。
【０００９】
３次元形状検出装置は、画像データ取得手段で取得されたパターン光非投光画像の画像データと、３次元形状算出手段で算出された３次元形状データとを記憶する記憶手段を更に備え、外部演算手段へは、記憶手段を介してパターン光非投光画像の画像データと３次元形状データとが提供されるよう構成されていても良い。
【００１０】
このような構成によれば、３次元形状検出装置において、スリット光投光画像の画像データとスリット光非投光画像の画像データとの両方を記憶する場合に比べ、記憶の容量を節約することができる。
【００１１】
３次元形状検出装置において記憶手段は前記３次元形状検出装置に着脱自在に装着可能に構成され、外部演算装置は記憶手段を着脱自在に装着可能な記憶媒体インタフェースを有するよう構成されていても良い。この場合、３次元形状検出装置によってパターン光非投光画像の画像データと３次元形状データとが格納された記憶手段が、３次元形状検出装置から取り外され、外部演算装置の記憶媒体インタフェースに装着されることによって、パターン光非投光画像の画像データと３次元形状データとが外部演算装置に提供される。
【００１２】
記憶手段においてパターン光非投光画像の画像データと３次元形状データとは単一ファイルに格納されていても良い。
【００１３】
このような構成によれば、スリット光非投光画像の画像データと３次元形状データとは単一ファイルに格納されているので、スリット光非投光画像の画像データと３次元形状データとを、各々別々のファイルに格納する場合と比較して、データの取り扱いを簡便にすることができる。
【００１４】
３次元形状検出装置は外部演算装置との間でデータ通信を行なう為の第１のインタフェースを有し、外部演算装置は３次元形状検出装置との間でデータ通信を行なう為の第２のインタフェースを有していても良い。この場合、３次元形状検出装置から外部演算装置へは、第１のインタフェース及び第２のインタフェースを介しての有線または無線のデータ通信によりパターン光非投光画像の画像データと３次元形状データとが提供されても良い。
【００１５】
このような構成によれば、パターン光非投光画像の画像データと３次元形状データとが３次元形状検出装置から外部演算装置に転送されるので、パターン光非投光画像とパターン光投光画像との双方を外部演算装置に移送する場合に比べて、外部演算装置への転送時間を短縮することができ、また転送時間の短縮を実現することもできる。
【００１６】
３次元形状算出手段は、パターン光位置抽出手段で抽出されたパターン光の位置に基づいて対象物体の３次元空間における位置情報と傾き情報と湾曲情報とを算出する構成であっても良い。この場合、３次元形状データは、対象物体の３次元空間における位置情報と傾き情報と湾曲情報とで構成される。
【００１７】
３次元形状データは対象物体の３次元空間における位置情報と傾き情報と湾曲情報とで構成されているので、対象物体の３次元形状を検出することができるという効果が得られる。
【００１８】
３次元形状検出装置は撮像手段を有する撮像装置として構成され、外部演算装置はパーソナルコンピュータとして構成されていても良い。
【００１９】
また、上記目的を達成するため、本発明の別の側面によって提供されるのは、３次元形状検出システムにおいて用いられる３次元形状検出装置であって、対象物体にパターン光を投光する投光手段と、前記投光手段からパターン光が投光されている状態における対象物体のパターン光投光画像を撮像し前記パターン光投光画像の画像データを取得すると共に、前記パターン光が投光されていない状態における対象物体のパターン光非投光画像を撮像し前記パターン光非投光画像の画像データを取得する画像データ取得手段とを備える。さらに、この３次元形状検出装置は、取得された前記画像データに基づき対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出手段と、前記パターン光位置抽出手段によって抽出されるパターン光の位置に基づき対象物体の３次元形状データを算出する３次元形状算出手段とを備える。画像データ取得手段によって取得される前記パターン光非投光画像の画像データと前記３次元形状算出手段により算出される前記３次元形状データは、外部演算装置において前記パターン光非投光画像の画像データと前記３次元形状データとに基づいて前記パターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する為に用いられる。
【００２０】
このような構成によれば、３次元形状検出装置においては、外部演算装置で平面画像を算出する為にパターン光投光画像の画像データを記憶しておく必要がなくなる。したがって、３次元形状検出装置において、パターン光投光画像の画像データとパターン光非投光画像の画像データとの両方を記憶する場合に比べ、記憶の容量を節約することができる。３次元形状検出装置側では、比較的負荷が低い演算が行われ、外部演算装置側で比較的負荷の高い処理が行われる構成となっているので、例えば外部演算装置を高性能の装置で構成することにより、３次元形状検出システムとしての全体性能を高めることができる。
【００２１】
３次元形状検出装置側から外部演算装置側に提供されるデータは、パターン光非投光画像の画像データと３次元形状データとであり、パターン光非投光画像の画像データとパターン光投光画像の画像データの両方を外部演算装置に提供する場合に比べてデータ量が大きく減少している。したがって、３次元形状検出装置側から外部演算装置側に画像データを提供する際に必要となるデータ量が少なくなり、例えば、３次元形状検出装置と外部演算装置間でデータ通信により画像データを転送する場合には、通信時間の削減という効果が得られる。
【００２２】
３次元形状検出装置は、画像データ取得手段で取得されたパターン光非投光画像の画像データと、３次元形状算出手段で算出された３次元形状データとを記憶する記憶手段を更に備えていても良い。この場合、記憶手段は、外部演算装置に対してパターン光非投光画像の画像データと３次元形状データとを提供する為に用いられる。
【００２３】
３次元形状検出装置は、外部演算装置との間でデータ通信を行なう為のインタフェースを更に備えていても良い。この場合、外部演算装置へは、インタフェースを介しての有線または無線のデータ通信によりパターン光非投光画像の画像データと３次元形状データとが提供される。
【００２４】
また、上記目的を達成するため、本発明の別の側面によって提供されるのは、３次元形状検出プログラムであって、パターン光が投光されている状態における対象物体のパターン光投光画像の画像データとパターン光が投光されていない状態における対象物体のパターン光非投光画像の画像データとを取得する画像データ取得ステップと、前記画像データ取得ステップで取得された画像データに基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出ステップとを備える。さらに、この３次元形状検出プログラムは、前記パターン光位置抽出ステップで抽出されるパターン光の位置に基づき、対象物体の３次元形状データを算出する３次元形状算出ステップと、前記パターン光非投光画像の画像データと前記３次元形状データとを記憶手段に記憶する記憶ステップと、前記記憶ステップにおいて記憶手段に記憶される前記パターン光非投光画像の画像データと前記３次元形状データとに基づいて、前記パターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する画像補正ステップとを備える。
【００２５】
このような構成によれば、３次元形状検出システムの３次元形状検出装置においては、平面画像を算出する為にパターン光投光画像の画像データを記憶しておく必要がなくなる。したがって、３次元形状検出装置において、パターン光投光画像の画像データとパターン光非投光画像の画像データとの両方を記憶する場合に比べ、記憶の容量を節約することができる。３次元形状検出装置側では、比較的負荷が低い演算が行われ、外部演算装置側で比較的負荷の高い処理（画像補正ステップ）が行われる構成とすることができるので、例えば外部演算装置を高性能の装置で構成することにより、３次元形状検出システムとしての全体性能を高めることができる。
【００２６】
記憶ステップにおいて、パターン光非投光画像の画像データと３次元形状データとは１つのファイルとして記憶手段に格納されても良い。
【００２７】
また、上記目的を達成するため、本発明の別の側面によって提供されるのは、３次元形状検出プログラムであって、パターン光が投光されている状態における対象物体のパターン光投光画像の画像データとパターン光が投光されていない状態における対象物体のパターン光非投光画像の画像データとを取得する画像データ取得ステップと、前記画像データ取得ステップで取得された画像データに基づき、対象物体に投光されたパターン光の位置を抽出するパターン光位置抽出ステップとを備える。さらに、この３次元形状検出プログラムは、前記パターン光位置抽出ステップで抽出されるパターン光の位置に基づき、対象物体の３次元形状データを算出する３次元形状算出ステップと、前記パターン光非投光画像の画像データと前記３次元形状データとを外部演算装置に送信する送信ステップと、前記送信ステップにより送信される前記パターン光非投光画像の画像データと前記３次元形状データとを受信し、前記パターン光非投光画像の画像データと前記３次元形状データとに基づいて前記パターン光非投光画像を対象物体の所定面の略鉛直方向から観察される平面画像に補正する画像補正ステップとを備える。
【００２８】
このような構成によれば、３次元形状検出システムにおいて、３次元形状検出装置側から外部演算装置側に提供されるデータは、パターン光非投光画像の画像データと３次元形状データとにすることができる。パターン光非投光画像の画像データとパターン光投光画像の画像データの両方を外部演算装置に提供する場合に比べてデータ量が大きく減少する。したがって、３次元形状検出装置側から外部演算装置側に画像データを提供する際に必要となるデータ量が少なくなり、３次元形状検出装置と外部演算装置間でのデータ通信において、通信時間の削減という効果が得られる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１（ａ）は３次元形状検出システム１００の外観斜視図である。図１（ｂ）には、３次元形状検出システム１００の構成装置の１つである撮像装置１の概略断面図が示されている。尚、図１（ｂ）では撮像装置１により撮像対象物体である原稿Ｐを、原稿Ｐの紙面に対して斜め方向から撮像している状態を示している。
【００３０】
３次元形状検出システム１００は、撮像装置１と汎用のパーソナルコンピュータ９０（以下「ＰＣ９０」という）とで構成される。３次元形状検出システム１００は、撮像装置１で対象物体が斜めに撮像された場合の撮像画像を、対象物体の所定面の略鉛直方向から観察したような平面画像に補正することができるシステムである。
【００３１】
撮像装置１は、方形箱形の本体ケース１０と、本体ケース１０の正面に設けられた結像レンズ３１と、結像レンズ３１の後方（撮像装置１の内部側）に設けられたＣＣＤ画像センサ３２と、結像レンズ３１の下方に設けられたスリット光投光ユニット２０とを有する。撮像装置１０は、更に、本体ケース１０に内蔵されたプロセッサ４０と、本体ケース１０の上部に設けられたレリーズボタン５２及びモード切替スイッチ５９と、メモリカード処理装置５５とを有する。撮像装置１のこれらの構成品は、それぞれ信号線により接続されている。メモリカード処理装置５５は、携帯型のメモリカード５６を着脱自在に装着する為のインタフェースとして機能する。
【００３２】
撮像装置１には、更に、本体ケース１０の背面に設けられたＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）５１と、本体ケース１０の背面から前面を通して配設されるファインダ５３とが装備されている。ＬＣＤ５１とファインダ５３は、撮像装置１による撮像範囲を使用者が決定する際に利用される。
【００３３】
結像レンズ３１は、複数枚のレンズで構成されている。撮像装置１は、オートフォーカス機能を有し、このオートフォーカス機能によって結像レンズ３１が駆動され自動で焦点距離及び絞りが調整され、外部からの光がＣＣＤ画像センサ３２上に結像される。
【００３４】
ＣＣＤ画像センサ３２は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）素子などの光電変換素子がマトリクス状に配列された構成を有する。ＣＣＤ画像センサ３２は、表面に結像される画像の光の色及び強さに応じた信号を生成し、この信号をデジタルデータに変換してプロセッサ４０へ出力する。尚、ＣＣＤ素子一つ分のデータが画像を形成する画素の画素データであり、画像データはＣＣＤ素子の数の画素データで構成される。
【００３５】
スリット光投光ユニット２０について、図２、図３（ａ）および図３（ｂ）を参照して説明する。図２は、スリット光投光ユニット２０の構成を示す図である。図３（ａ）および図３（ｂ）は、スリット光の角度幅を説明するための図である。スリット光投光ユニット２０は、レーザーダイオード２１と、コリメートレンズ２２と、アパーチャ２３と、透明平板２４と、シリンドリカルレンズ２５と、反射ミラー２６と、ロッドレンズ２７とを有する。
【００３６】
レーザーダイオード２１は、赤色レーザー光線を放射する。レーザーダイオード２１におけるレーザー光線の放射及び停止は、プロセッサ４０からの指令に応じて切り換えられる。レーザーダイオード２１の出力は、最大出力定格（例えば５ｍＷ）に対して、レーザービームの広がり角の個体ばらつきを考慮して、アパーチャ２３を通った箇所で一定の出力（例えば１ｍＷ）を得られるように定格出力が調整されている。
【００３７】
コリメートレンズ２２は、レーザーダイオード２１からのレーザー光線を、スリット光投光ユニット２０からの基準距離ＶＰ（例えば３３０ｍｍ）に焦点を結ぶように集光する。
【００３８】
アパーチャ２３は、矩形に開口された開口部を有する板で構成され、コリメートレンズ２２からのレーザー光線を開口部で透過して矩形に整形する。
【００３９】
透明平板２４は、無垢のガラス材料などの透明な平板で構成され、裏面にＡＲコート（無反射コーティング）が施されている。透明平板２４は、アパーチャ２３からのレーザー光線の光軸に直交する面に対して、本体ケース１０の正面側に所定角度β（例えば３３度）傾斜して配設されている。透明平板２４は、アパーチャ２３から入射するレーザー光線のパワーの約５％（約５０μＷ）を表面で反射し、約９５％（約９５０μＷ）を透過させる。以下では、透明平板２４でレーザー光線が反射される方向（撮像装置１の前方へ水平面に対して３３度上向き）を第２の方向と呼ぶ。
【００４０】
透明平板２４の裏面にＡＲコートを施すことにより、透明平板２４内に入射したレーザー光線の透明平板２４から出射する際の反射が少なくなり、透明平板２４内でのレーザー光線の損失が少なくなる。また、透明平板２４で反射するレーザー光線の割合を、透明平板２４の材質の屈折率より決まる表面反射率５％として設定することにより、通常のハーフミラーで実現する場合に必要な反射面に金属蒸着膜を形成するプロセスを省略することができる。
【００４１】
反射ミラー２６は、鏡など、レーザー光線を全反射する部材で構成される。反射ミラー２６は、透明平板２４を透過したレーザー光線の下流に、本体ケース１０の正面側に４５度傾斜して配設され、レーザー光線を全反射して光路の向きを９０度変える。以下では、反射ミラー２６によりレーザー光線が反射される方向（撮像装置１の前方へ水平面に対して０度の向き）を第１の方向と呼ぶ。
【００４２】
ロッドレンズ２７は、正の焦点距離が短い円筒形状のレンズで構成される。ロッドレンズ２７は、反射ミラー２６で反射されるレーザー光線の下流に、円筒形状の軸方向が垂直方向になるように配設されている。ロッドレンズ２７の焦点距離は短いので、ロッドレンズ２７を通過したレーザー光線は、ロッドレンズ２７近傍の焦点を越え直ちに広がり、所定の広がり角度ε（例えば４８度）のスリット光として第１の方向へ出射される（図３（ａ）参照）。尚、ロッドレンズ２７から出射されるスリット光を第１スリット光７１と呼ぶ。
【００４３】
シリンドリカルレンズ２５は、負の焦点距離となるように一方向が凹形状となったレンズである。シリンドリカルレンズ２５は、透明平板２４で反射されたレーザー光線の下流に、第２の方向に対してレンズ面が直交するように配設さている。シリンドリカルレンズ２５は、透明平板２４から入射されるレーザー光線を、広がり角度κのスリット光として出射する（図３（ｂ）参照）。尚、シリンドリカルレンズ２５から出射されるスリット光を第２スリット光７２と呼ぶ。第２スリット光７２の広がり角度κは、第１スリット光７１の広がり角度εと第２スリット光７２の広がり角度κとの比が、透明平板２４でレーザー光線が分割される際のパワーの比にと同等になるように定められている。すなわち、第２スリット光７２の広がり角度κは、広がり角度εの５％（２．４度）となっている。
【００４４】
以上の構成により、スリット光投光ユニット２０において、プロセッサ４０からの指令に応じてレーザーダイオード２１からレーザー光線が放射され、第１の方向へ第１スリット光７１が、及び、第２の方向へ第２スリット光７２が、本体ケース１０の結像レンズ３１の下方に設けられた窓２９から出射される。
【００４５】
上述したように構成されるスリット光投光ユニット２０によれば、レーザーダイオード２１から出力されるパワーのうち、透明平板２４で分割される第１スリット光７１のパワーは９５％に対し、第２スリット光７２のパワーは約５％と少ないが、角度幅あたりのパワーで見ると、広がり角が４８度の第１スリット光７１の単位角度あたりのパワーが約２０μＷ／度で、広がり角が２．４度の第２スリット光７２の単位角度あたりのパワーも約２１μＷ／度であり、ほぼ変わらない。原稿Ｐが基準距離ＶＰである３３０ｍｍの位置にある白色の用紙の場合、第１スリット光７１及び第２スリット光７２による照度は約１２６０ルクスとなり、一般的な室内の明るさである５００〜１０００ルクスの場所でも、スリット光の軌跡と原稿Ｐとの輝度差が十分あり、後述する差分抽出プログラム４２２にてスリット光の軌跡画像を確実に抽出することができる。
【００４６】
再び、図１に戻り説明を続ける。レリーズボタン５２は、押しボタン式のスイッチで構成される。レリーズボタン５２は、プロセッサ４０に接続されおり、プロセッサ４０にて使用者による押し下げ操作が検知される。
【００４７】
モード切替スイッチ５９は、２つの位置に切換え可能なスライドスイッチなどで構成される。プロセッサ４０により、モード切替スイッチ５９のスイッチがいずれの位置にあるかが検知される。モード切替スイッチ５９のスイッチの位置の一方は「ノーマルモード」として、もう一方は「補正撮像モード」として検知されるようにプロセッサ４０にて割り当てられている。「ノーマルモード」は、撮像した原稿Ｐのそのままの状態を画像データとするモードである。「補正撮像モード」は、原稿Ｐが斜め方向から撮像された場合に、その画像データを原稿Ｐを正面から撮像したように補正された画像データとするモードである。
【００４８】
メモリカード処理装置５５は、メモリカード５６を処理するための装置である。メモリカード処理装置５５は、メモリカード５６に格納されているデータを読込み撮像装置１に入力すると共に、撮像装置１から出力されるデータをメモリカード５６に書込むリーダライタ装置である。このメモリカード処理装置５５で処理されるメモリカード５６は、不揮発性で書き換え可能なメモリで構成され、撮像装置１に対して着脱可能に構成されている。尚、撮像装置１の側面には、このメモリカード５６を装着するための開口部５６ａが形成されている。
【００４９】
ＬＣＤ５１は、画像を表示する液晶ディスプレイなどで構成され、プロセッサ４０からの画像信号を受けて画像を表示する。プロセッサ４０からＬＣＤ５１へは、状況に応じて、ＣＣＤ画像センサ３２で受光したリアルタイムの画像や、メモリカード５６に記憶された画像や、装置の設定内容の文字等を表示するための画像信号が送られて来る。
【００５０】
ファインダ５３は、光学レンズで構成される。使用者がファインダ５３を撮像装置１の後ろ側からのぞき込んだ時に、結像レンズ３１がＣＣＤ画像センサ３２上に結像する範囲とほぼ一致する範囲が見えるようになっている。
【００５１】
一方、３次元形状検出システム１００の構成装置であるＰＣ９０は、後述する平面変換プログラム４３７を搭載し、平面変換プログラム４３７により撮像装置１で斜め方向から撮像された原稿Ｐの撮像画像を、原稿Ｐの所定面の略鉛直方向から観察される平面画像に補正するための演算や補正された画像の出力を行う。
【００５２】
ＰＣ９０は、本体ケース９１と、出力画像等を表示するＣＲＴディスプレイ９２と、平面変換プログラム４３７の起動指令等を入力するキーボード９３とを有する。本体ケース９１には、メモリカード５６を装着するためのカードスロット９１ａが形成されている。撮像装置１においてメモリカード５６に記憶されたデータは、そのメモリカード５６をカードスロット９１ａに差し込むことで、ＰＣ９０側のメモリカード処理装置９９から読込み可能に構成されている。つまり、メモリカード処理装置９９は、携帯型のメモリカード５６を着脱自在に装着する為のインタフェースとして機能する。
【００５３】
ＰＣ９０は、ＰＣ９０と撮像装置１との間でデータの送受信を行う移送手段として、ＰＣ９０側のインターフェイス１０１（図４参照）を有する。一方、撮像装置１は、インターフェイス６０を有する。３次元形状検出システム１００において、通信ケーブル６１によりインターフェイス１０１とインターフェイス６０、つまりＰＣ９０と撮像装置１とがデータ通信可能に接続される（図４参照）。尚、このような通信手段としては、ＵＳＢ等の有線シリアルバスやＷＩＦＩ等の無線ＬＡＮモジュールを採用できる。
【００５４】
尚、ＰＣ９０としては、撮像装置１よりも高速なものであれば、可搬型のタブレット、小型のＰＤＡ、携帯電話に内蔵されているプロセッサシステム等の外部演算装置を採用することができる。
【００５５】
図４は、３次元形状検出システムの電気的構成を示したブロック図である。撮像装置１に搭載されたプロセッサ４０は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３を備えている。
【００５６】
ＣＰＵ４１は、ＲＯＭ４２に記憶されたプログラムにしたがって、ＲＡＭ４３を利用しつつ各種処理を実行する。ＣＰＵ４１が行う処理には、レリーズボタン５２の押し下げ操作の検知、ＣＣＤ画像センサ３２から画像データの取り込み、画像データのメモリカード５６への書き込み、モード切替スイッチ５９の状態検出、スリット光投光ユニット２０によるスリット光の出射切り換え等が含まれる。
【００５７】
ＲＯＭ４２には、カメラ制御プログラム４２１と、差分抽出プログラム４２２と、三角測量演算プログラム４２３と、原稿姿勢演算プログラム４２４と、カメラ出力ファイル作成書込プログラム４２５とが含まれている。カメラ制御プログラム４２１は、図６に示すフローチャートの処理（詳細は後述する）を含む撮像装置１全体の制御に関するプログラムである。差分抽出プログラム４２２は、スリット光を投光した原稿Ｐの画像からスリット光の軌跡を抽出した画像データを生成するためのプログラムである。三角測量演算プログラム４２３は、差分抽出プログラムで生成された画像データによるスリット光の軌跡の各画素に対する３次元空間位置を演算するためのプログラムである。原稿姿勢演算プログラム４２４は、第１スリット光の軌跡７１ａ及び第２スリット光の軌跡７２ａの３次元空間位置から、原稿Ｐの３次元形状を推定して求めるプログラムである。カメラ出力ファイル作成書込プログラム４２５は、メモリカード５６に記憶させるファイルを作成し、その作成したファイルをメモリカード５６に書込むためのプログラムである。
【００５８】
ＲＡＭ４３には、記憶領域として、ＣＣＤ画像センサ３２からの画像データの形式のデータを保存する大きさのスリット光有画像格納部４３１と、スリット光無画像格納部４３２と、差分画像格納部４３３と、スリット光有画像の各ポイントの位置を演算した結果を保存する大きさの三角測量演算結果格納部４３４とが割り当てられている。更に、ＲＡＭ４３には、記憶領域として、原稿Ｐの位置及び姿勢の演算結果を保存する大きさの原稿姿勢演算格納部４３５と、ＣＰＵ４１での演算のために一時的にデータを記憶させるのに使用する大きさのワーキングエリア４３６とが割り当てられている。
【００５９】
一方、ＰＣ９０は、ＣＰＵ９４、ＲＯＭ９５、ＲＡＭ９６、ハードディスク９７、入出力ポート９８を備えている。ＲＡＭ９６には、撮像装置１から通信ケーブル６１を介して送信されるデータを記憶するカメラ出力ファイル格納部９６ａと、ＣＰＵ９４での演算のために一時的にデータを記憶させるのに使用されるワーキングエリア９６ｂとが割り当てられている。ハードディスク９７は、書き替え可能な不揮発性のメモリである。ハードディスク９７には、撮像装置１から移送される画像データに基づき、その画像データを原稿Ｐの正面から撮像したような画像データに変換するためのプログラムである平面変換プログラム４３７が記憶されている。
【００６０】
次に、メモリカード５６の構成を図５を参照して説明する。図５は、メモリカード５６の構成を説明するための図である。メモリカード５６には、カメラ出力ファイルとして、撮像装置１で撮像された画像毎に第１ファイルメモリ５７から第ｎファイルメモリ５８が割り当てられている。各ファイルメモリ５７，５８にはイメージ開始コードメモリ５７ａ、ヘッダ領域５７ｂ、イメージ終了コードメモリ５７ｃが割り当てられている。
【００６１】
イメージ開始コードメモリ５７ａは、画像データの開始を示すコードを格納するメモリであり、このイメージ開始コードを読み取られると、対応するファイルに記憶されたデータの読込みが開始される。
【００６２】
ヘッド領域５７ｂには、更に、アプリケーション予備メモリ５７ｂ１、量子化テーブルメモリ５７ｂ２、ＤＣＴ定義メモリ５７ｂ３、ハフマンテーブルメモリ５７ｂ４、スリット光無画像データメモリ５７ｂ５が割り当てられている。
【００６３】
アプリケーション予備メモリ５７ｂ１は、アプリケーションに依存する情報を格納するメモリである。アプリケーション予備メモリ５７ｂ１には、３次元形状開始コードメモリ５７ｂ１ａ、３次元空間位置情報メモリ５７ｂ１ｂ、傾き情報メモリ５７ｂ１ｃ、湾曲情報メモリ５７ｂ１ｄが割り当てられている。
【００６４】
３次元形状開始コードメモリ５７ｂ１ａは、対象物体の３次元空間位置情報と、傾き情報と、湾曲情報とからなる３次元形状データの読込みを開始するためのコードを格納するメモリである。３次元空間位置情報メモリ５７ｂ１ｂは原稿Ｐの３次元空間位置情報を格納するメモリである。傾き情報メモリ５７ｂ１ｃは原稿Ｐの傾き情報を格納するメモリである。湾曲情報メモリ５７ｂ１ｄは原稿Ｐの湾曲情報を格納するメモリである。尚、３次元形状データを格納する領域としては、アプリケーション予備メモリ５７ｂ１内、或いは、ヘッダ領域５７ｂ内に限定されるものではなく、１つのファイル内であれば他の部分であっても良い。
【００６５】
量子化テーブルメモリ５７ｂ２は、画像データに対してＤＣＴ変換した結果を数値化する場合に使用する量子化テーブルを格納するメモリである。ＤＣＴ定義メモリ５７ｂ３は、ＤＣＴ変換タイプを定義するコードやそのパラメータを格納するメモリである。ハフマンテーブルメモリ５７ｂ４は、量子化された値をエントロピー圧縮するために用いるテーブルを格納するメモリである。スリット光無画像データメモリ５７ｂ５は、撮像装置１で撮像されるスリット光無画像の画像データを格納するためのメモリである。
【００６６】
イメージ終了コードメモリ５７ｃは、画像データの終了を示すコードを格納するメモリであり、このイメージ終了コードが読み取られると、第１ファイルメモリ５７に格納されたデータの読込みは終了される。
【００６７】
次に、上述したように構成された撮像装置１に関し、使用者によりレリーズボタン５２が押されてからの動作について図６を参照しながら説明する。図６は、撮像装置１のプロセッサ４０での処理手順を示すフローチャートである。
【００６８】
使用者によりレリーズボタン５２が押されると、まず、モード切替スイッチ５９のスイッチの位置が検知され、そのスイッチの位置が「補正撮像モード」の位置であるか否かが判別される（Ｓ１１０）。判別の結果、「補正撮像モード」の位置の場合には（Ｓ１１０：Ｙｅｓ）、スリット光投光ユニット２０に対しレーザーダイオード２１の発光が指令され、第１スリット光７１及び第２スリット光７２が出射されてから、スリット光有画像として、ＣＣＤ画像センサ３２から画像データが取得される。取得された画像データはＲＡＭ４３のスリット光有画像格納部４３１へ読み込まれる（Ｓ１２０）。
【００６９】
スリット光有画像の画像データを読み込まれると（Ｓ１２０）、次に、スリット光投光ユニット２０に対しレーザーダイオード２１の発光停止が指令され、第１スリット光７１及び第２スリット光７２が出射されなくなってから、スリット光無画像としてＣＣＤ画像センサ３２から画像データが取得される。取得された画像データはスリット光無画像格納部４３２へ読み込まれる（Ｓ１３０）。
【００７０】
スリット光有画像とスリット光無画像の画像データが読み込まれると（Ｓ１２０，Ｓ１３０）、差分抽出プログラム４２２によりスリット光有画像格納部４３１の画像データに対する、スリット光無画像格納部４３２の画像データの差分が差分画像格納部４３３へ読み込まれる（Ｓ１４０）。つまり、原稿Ｐに投光された第１スリット光の軌跡７１ａ及び第２スリット光の軌跡７２ａを抽出した画像データが、差分画像格納部４３３へ読み込まれる（Ｓ１４０）。
【００７１】
この差分抽出演算ステップ（Ｓ１４０）では、スリット光有画像格納部４３１の画像データからスリット光無画像格納部４３２の画像データを、画素毎にそのＲＧＢ値を差し引く。これにより、スリット光の軌跡のみが抽出された多値画像が得られることになる。
【００７２】
差分抽出演算ステップ（Ｓ１４０）において、第１スリット光の軌跡７１ａ及び第２スリット光の軌跡７２ａを抽出した画像データが生成されると、次に、その画像データに基づき、三角測量演算プログラム４２３により、第１スリット光の軌跡７１ａ及び第２スリット光の軌跡７２ａの画素毎の３次元空間位置が演算され、その演算結果がそれぞれ三角測量演算結果格納部４３４へ読み込まれる（Ｓ１５０）。
【００７３】
この三角測量演算ステップ（Ｓ１５０）では、例えば、差分画像格納部４３３に読込まれた画像データに基づいて、第１スリット光の軌跡７１ａ及び第２スリット光の軌跡７２ａの縦方向のピークが重心計算によって画像データの横方向座標毎に求められ、このピーク抽出座標に対する３次元空間位置が次のようにして求められる。
【００７４】
図７（ａ）および図７（ｂ）は、スリット光有画像を説明するための図である。図８（ａ）および図８（ｂ）は、スリット光の３次元空間位置を算出する方法を説明するための図である。図７（ａ）に示すように撮像される横方向に湾曲した原稿Ｐに対する撮像装置１の座標系を、図８（ａ）および図８（ｂ）に示すように表す。図８（ａ）および図８（ｂ）において、結像レンズ３１の光軸方向をＺ軸として、撮像装置１から基準距離ＶＰ離れた位置をＸ，Ｙ，Ｚ軸の原点位置として、撮像装置１に対して水平方向をＸ軸、垂直方向をＹ軸とする。
【００７５】
ＣＣＤ画像センサ３２のＸ軸方向の画素数をＲｅｓＸ、Ｙ軸方向の画素数をＲｅｓＹと呼ぶ。Ｘ−Ｙ平面に、結像レンズ３１を通してＣＣＤ画像センサ３２を投影した位置の上端をＹｆｔｏｐ、下端をＹｆｂｏｔｔｏｍ、左端をＸｆｓｔａｒｔ、右端をＸｆｅｎｄと呼ぶ。また、結像レンズ３１の光軸から、スリット光投光ユニット２０から出射される第１スリット光７１の光軸までの距離をＤ、第１スリット光７１がＸ−Ｙ平面に交差するＹ軸方向の位置をｌａｓ１、第２スリット光７２がＸ−Ｙ平面に交差するＹ軸方向の位置をｌａｓ２とする。
【００７６】
上記定義を用い、第１スリット光の軌跡７１ａの画像の画素の１つに注目した注目点１のＣＣＤ画像センサ３２上の座標（ｃｃｄｘ１，ｃｃｄｙ１）に対応する３次元空間位置（Ｘ１，Ｙ１，Ｚ１）を、ＣＣＤ画像センサ３２の結像面上の点と、第１スリット光７１及び第２スリット光７２の出射点と、Ｘ−Ｙ平面に交差する点とで形成される三角形について立てた次の５つの連立方程式の解から導き出す。
（１）Ｙ１＝−（（ｌａｓ１＋Ｄ）／ＶＰ）Ｚ１＋ｌａｓ１
（２）Ｙ１＝−（Ｙｔａｒｇｅｔ／ＶＰ）Ｚ１＋Ｙｔａｒｇｅｔ
（３）Ｘ１＝−（Ｘｔａｒｇｅｔ／ＶＰ）Ｚ１＋Ｘｔａｒｇｅｔ
（４）Ｘｔａｒｇｅｔ＝Ｘｆｓｔａｒｔ＋（ｃｃｄｘ１／ＲｅｓＸ）×（Ｘｆｅｎｄ−Ｘｆｓｔａｒｔ）
（５）Ｙｔａｒｇｅｔ＝Ｙｆｔｏｐ−（ｃｃｄｙ１／ＲｅｓＹ）×（Ｙｆｔｏｐ−Ｙｆｂｏｔｔｏｍ）
尚、本実施例では、第１スリット光７１がＺ軸に対して平行のためｌａｓ１＝−Ｄであり、Ｙ１＝−Ｄである。
【００７７】
同様に、ＣＣＤ画像センサ３２上の第２スリット光の軌跡７２ａの画像の画素の一つに注目した注目点２の座標（ｃｃｄｘ２，ｃｃｄｙ２）に対応する３次元空間位置（Ｘ２，Ｙ２，Ｚ２）を、次に５つの連立方程式の解から導き出す。
（１）Ｙ２＝−（（ｌａｓ２＋Ｄ）／ＶＰ）Ｚ２＋ｌａｓ２
（２）Ｙ２＝−（Ｙｔａｒｇｅｔ／ＶＰ）Ｚ２＋Ｙｔａｒｇｅｔ
（３）Ｘ２＝−（Ｘｔａｒｇｅｔ／ＶＰ）Ｚ２＋Ｘｔａｒｇｅｔ
（４）Ｘｔａｒｇｅｔ＝Ｘｆｓｔａｒｔ＋（ｃｃｄｘ２／ＲｅｓＸ）×（Ｘｆｅｎｄ−Ｘｆｓｔａｒｔ）
（５）Ｙｔａｒｇｅｔ＝Ｙｆｔｏｐ−（ｃｃｄｙ２／ＲｅｓＹ）×（Ｙｆｔｏｐ−Ｙｆｂｏｔｔｏｍ）
以上のように、各スリット光の３次元空間位置が演算されると（Ｓ１５０）、その各スリット光の３次元空間位置に基づいて、原稿姿勢演算プログラム４２４により、原稿Ｐの位置及び姿勢が演算される（Ｓ１６０）。ここで、図９（ａ）から図９（ｃ）を参照して、この原稿姿勢演算ステップ（Ｓ１６０）について説明する。図９（ａ）から図９（ｃ）は、原稿姿勢演算の際の座標系を説明するための図である。
【００７８】
原稿姿勢演算ステップ（Ｓ１６０）では、例えば、三角測量演算結果格納部４３４のデータから、第１スリット光の軌跡７１ａに対応する３次元空間位置の各点を回帰曲線近似した線が求められる。さらに、この曲線のＸ軸方向の位置が「０」における点と、第２スリット光の軌跡７２ａのＸ軸方向の位置が「０」における３次元位置とを結ぶ直線が想定され、この直線がＺ軸と交わる点、つまり、光軸が原稿Ｐと交差する点が、原稿Ｐの３次元空間位置（０，０，Ｌ）とされる（図９（ａ）参照）。この直線がＸ−Ｙ平面となす角を原稿ＰのＸ軸まわりの傾きθとする。
【００７９】
図９（ｂ）に示すように、第１スリット光の軌跡７１ａを回帰曲線近似した線を、先に求めたＸ軸まわりの傾きθ分だけ逆方向に回転変換し、つまり、原稿ＰをＸ−Ｙ平面に対して平行にした状態を考える。次に、図９（ｃ）に示すように、原稿ＰのＸ軸方向の断面形状を、Ｘ−Ｚ平面における原稿Ｐの断面について、Ｚ軸方向の変位を複数のＸ軸方向の点で求めてその変位度から、Ｘ軸方向の位置を変数としたＸ軸方向の傾きの関数である湾曲φ（Ｘ）を求める。
【００８０】
原稿姿勢演算ステップ（Ｓ１６０）で、原稿Ｐの３次元空間位置Ｌ及び姿勢（傾きθと湾曲φ）が算出されると、カメラ出力ファイル作成書込プログラム４２５によって、スリット光無画像格納部４３２に読込まれたスリット光無画像の画像データは、メモリカード５６のスリット光無画像データメモリ５７ｂ５に書込まれ、そのスリット光無画像に対応して算出された原稿Ｐの３次元空間位置Ｌはメモリカード５６の３次元空間位置情報メモリ５７ｂ１ｂに、傾きθは傾き情報メモリ５７ｂ１ｃに、湾曲φは、湾曲情報メモリ５７ｂ１ｄにそれぞれ書込まれる。これらの３次元空間位置Ｌ、傾きθ、湾曲φから３次元形状データが構成される。以上の動作により、カメラ出力ファイルとして１つの３次元形状データファイルが作成される（Ｓ１７０）。
【００８１】
尚、スリット光無画像格納部４３２に読込まれたスリット光無画像の画像データをメモリカード５６のスリット光無画像データメモリ５７ｂ５に書込むタイミングは、上記のようなタイミングに限定されるものではなく、例えば、差分抽出演算ステップ（Ｓ１４０）の後に実行されても良い。
【００８２】
一方、Ｓ１１０における判別の結果が、「補正撮像モード」ではなく「ノーマルモード」の位置の場合には（Ｓ１１０：ＮＯ）、スリット光投光ユニット２０のレーザーダイオード２１が発光せず、第１スリット光７１及び第２スリット光７２が出射されていない状態で、ＣＣＤ画像センサ３２からスリット光無画像が読み込まれる（Ｓ１９０）。次に、ステップＳ２００では、読み込まれた画像データがメモリカード５６のスリット光無画像データメモリ５７ｂ５に書き込まれる。尚、「ノーマルモード」の場合には、上述したような原稿Ｐの３次元空間位置Ｌ、傾きθ、湾曲φは算出されず、これらのデータがメモリカード５６に書込まれることはない。
【００８３】
以上のように、メモリカード５６にスリット光無画像の画像データや原稿Ｐの３次元空間位置Ｌ、傾きθ、湾曲φが書込まれると（Ｓ１７０、Ｓ２００）、プロセッサ４０内のメモリ空間が開放される（Ｓ１８０）。即ち、メモリカード５６にはスリット光有画像の画像データが書き込まれることはないので、スリット光無画像とスリット光有画像の両画像データがメモリカード５６に記憶され、撮像可能の枚数が減少してしまうという問題もない。前記画像データは圧縮することによりメモリカード５６を有効に利用できるようにしてもいいが、それでも画像データの記憶にはかなりの容量を必要とするため、スリット光有画像の画像データを記憶させないことによるメモリカード５６の撮影可能枚数に与える影響は大きい。また、スリット光有画像の画像データは、差分抽出演算ステップ（Ｓ１４０）の後であれば削除しても構わないので、Ｓ１４０以降、Ｓ１７０に至る間に当該画像データを削除するようにしてもよい。その場合、Ｓ１４０以降、ＲＡＭ４３のスリット光有画像格納部４３１に読込まれたスリット光有画像の画像データは、アクセスが不可能になり、Ｓ１７０の処理においてスリット光有画像の画像データがメモリカード５６に書き込まれることはない。
【００８４】
次に、図１０を参照して、上述したようにメモリカード５６に書込まれたデータをＰＣ９０に移送するデータ移送処理について説明する。尚、図１０においては、メモリカード５６を撮像装置１に装着した状態で、通信ケーブル６１を介してＰＣ９０にデータを送信する場合について説明する。
【００８５】
このデータ移送処理では、はじめに、使用者によりデータの移送命令があったか否かが判定される（Ｓ１０１０）。判定の結果、データの移送命令があった場合には（Ｓ１０１０：ＹＥＳ）、インターフェイス６０が初期化される（Ｓ１０２０）。それから、撮像装置１とＰＣ９０と間で相互に通信可能か否かが判定される（Ｓ１０３０）。判定の結果、通信可能であれば（Ｓ１０３０：ＹＥＳ）、メモリカード５６内の各ファイルメモリ５７，５８に格納されている各カメラ出力ファイルは、順次、ＰＣ９０に送信される（Ｓ１０４０）。次に、カメラ出力ファイルの送信が完了したか否かが判定される（Ｓ１０５０）。判定の結果、送信が完了していれば（Ｓ１０５０：ＹＥＳ）、本処理は終了する。尚、撮像装置１から送信されるカメラ出力ファイルは、ＰＣ９０側のインターフェイス１０１を介して、ＲＡＭ９６のカメラ出力ファイル格納部９６ａに読込まれる。
【００８６】
上述したデータ移送処理は、通信ケーブル６１を介して撮像装置１からＰＣ９０にデータを移送する場合の例である。このようなデータ移送処理に代えて、メモリカード５６を撮像装置１から抜き取り、メモリカード５６をＰＣ９０に装着することによって、撮像装置１からＰＣ９０にカメラ出力ファイルを移送することもできる。このように、メモリカード５６によって撮像装置１からＰＣ９０にカメラ出力ファイルを移送する場合には、撮像装置１とＰＣ９０とに通信ケーブル６１を接続する手間を省くことができると共に、ＰＣ９０の無い場所であっても、メモリカード５６を複数枚準備しておくことで、大量の撮像をすることができる。
【００８７】
次に、上述したデータ移送処理によって撮像装置１からＰＣ９０にデータが移送された後に、ＰＣ９０において、スリット光無画像の画像データを正面から観察されたような画像の画像データに変換する平面変換処理について図１１のフローチャートを参照しながら説明する。
【００８８】
はじめに、上述したデータ移送処理によって、カメラ出力ファイル格納部９６ａに読込まれたカメラ出力ファイルから３次元形状データとスリット光無画像とが読み込まれる（Ｓ１１０１）。尚、メモリカード５６がＰＣ９０に装着される場合には、メモリカード５６からカメラ出力ファイルが読み込まれることになる。次に、ステップ１１０２では、ＲＡＭ９６のワーキングエリア９６ｂに当該処理の処理領域が割り当てられ、カウンタのための変数など当該処理に用いる変数ｂの初期値が設定される（Ｓ１１０２）。
【００８９】
次に、原稿Ｐの文字等が書かれた面が略鉛直方向から観察された場合の画像である正立画像の領域が、原稿姿勢演算プログラム４２５での演算結果による原稿Ｐの３次元空間位置（０，０，Ｌ）と、Ｘ軸まわりの傾きθと、湾曲φ（Ｘ）とに基づき、スリット光無画像の４隅の点を変換することにより設定され、この領域内に含まれる画素数ａが求められる（Ｓ１１０３）。
【００９０】
まず、変数ｂが前記画素数ａに達しているか判断される（Ｓ１１０４）。設定された正立画像の領域は、まずＸ−Ｙ平面に配置され（Ｓ１１０５）、その中に含まれる画素毎に、各々の３次元空間位置は、湾曲φ（Ｘ）に基づいてＺ軸方向に変位され（Ｓ１１０６）、傾きθでＸ軸まわりに回転移動され（Ｓ１１０７）、Ｚ軸方向に距離Ｌだけシフトされる（Ｓ１１０８）。このようにして求められた３次元空間位置は、先の３角測量の関係式により理想カメラで写されたＣＣＤ画像上の座標（ｃｃｄｃｘ，ｃｃｄｃｙ）に変換され（Ｓ１１０９）、使用している結像レンズ３１の収差特性に従って、公知のキャリブレーション手法により、実際のカメラで写されたＣＣＤ画像上の座標（ｃｃｄｘ，ｃｃｄｙ）に変換される（Ｓ１１１０）。このように得られた位置（ｃｃｄｘ，ｃｃｄｙ）にあるスリット光無画像の画素の状態が求められ、ＲＡＭ９６のワーキングエリア９６ｂに格納される（Ｓ１１１１）。以上の処理を画素数ａだけ繰り返すことにより（Ｓ１１１２，Ｓ１１０４）、正立画像の画像データが生成される。前記ワーキングエリア９６ｂの処理領域が解放された後（Ｓ１１１３）、その正立画像の画像データに基づき生成される平面画像は、ＣＲＴディスプレイ９２に出力表示される（Ｓ１１１４）。
【００９１】
以上説明したように、「撮像補正モード」における撮像装置１は、第１スリット光７１及び第２スリット光７２の２列のスリット光を原稿Ｐに投光し、その原稿Ｐの像を結像レンズ３１によってＣＣＤ画像センサ３２に結像させて撮像し、続いて、スリット光が投光されていない原稿Ｐの画像を撮像する。それから、撮像装置１は、これら２つの画像データの差分をとることによって、画像データからスリット光の軌跡画像を抽出して、三角測量原理によりスリット光の軌跡各部の３次元空間位置を演算する。さらに、撮像装置１は、得られた３次元空間位置から原稿Ｐの位置、傾き、及び湾曲状態（３次元形状データ）を求め、これらの３次元形状データとスリット光無画像の画像データとをメモリカード５６に書込む。
【００９２】
スリット光無画像やスリット光有画像の画像データが数百キロバイト程度の情報であるのに対し、原稿Ｐの３次元形状データである原稿Ｐの位置Ｌ、傾きθ、及び湾曲φの各データ量は、それぞれ４バイト程度の情報である。したがって、たとえ湾曲φ値を原稿Ｐ内において数十点サンプリングしたとしても、せいぜい数百バイト程度の情報であり、この３次元形状データのデータ量は画像データのデータ量に比べて無視できる程小さいと言える。
【００９３】
スリット光有画像とスリット光無画像との撮像だけを行い、その両方の画像の画像データをメモリカードに格納し、差分抽出演算や平面変換をするための演算等は、そのメモリカードが装着されたＰＣ９０においてするとした場合を想定する。このような場合に比べ、本発明の実施形態による撮像装置１では、撮像補正モードにおける撮像をしたとしてもメモリカード５６の消費容量は略半分に節約される。従って、撮像補正モードにおける撮像をしたとしても、そのメモリカード５６に対する撮像装置１の撮像可能枚数が半減するのを抑制することができる。また、通信ケーブル６１を介して、メモリカード５６に書込まれたデータを移送する場合においても、スリット光有画像とスリット光無画像との両方の画像データを移送する場合に比べて、その通信時間を略半分にすることができる。
【００９４】
メモリカード５６に書込まれたデータに基づき、ＰＣ９０において、平面変換処理を実行することにより、湾曲などの形状変形した原稿Ｐを斜めから撮像した場合でも、平らな原稿Ｐを正面から撮像したかのような画像を出力表示させることができる。また、平面変換処理を実行する際において、撮像装置１からからカメラ出力ファイルとして移送されるスリット光無画像の画像データと、３次元形状データとは、１つのファイルに格納されているので、そのデータの取り扱いを簡便にでき、平面変換処理に要するＰＣ９０の負担を軽減させることができる。
【００９５】
上記実施形態において、図６のフローチャートのＳ１２０，Ｓ１３０の処理は、画像データ取得手段や画像データ取得ステップと位置付けられる。図６のフローチャートのＳ１４０，Ｓ１５０の処理は、パターン光位置抽出手段やパターン光位置抽出ステップと位置付けられる。図６のフローチャートのＳ１６０の処理は、３次元形状算出手段や３次元形状算出ステップと位置付けられる。図６のフローチャートのＳ１７０の処理は、記憶手段や記憶ステップと位置付けられる。さらに、図６のフローチャートのＳ１７０の処理は、データファイル生成手段やデータファイル生成ステップと位置付けることもできる。
【００９６】
以上実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものでなく、本発明の主旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できる。
【００９７】
例えば、撮像装置１で撮像する対象物体は、シート状の原稿Ｐの他にも、固体ブロックの滑らかな表面であったり、稜線をもつ物体の表面であっても良い。本発明の実施形態による撮像装置は、およそ２列のスリット光の軌跡から、その３次元空間における３次元形状を希求したい用途にはすべて同様に、対象物体の３次元形状を検出する効果を発揮することができる。
【００９８】
但し、本実施形態のように、対象物体がシート状の原稿Ｐであれば、第１スリット光の軌跡７１ａを原稿Ｐの断面形状であるとして、原稿Ｐの全体の形状を推定し、原稿Ｐの湾曲などの形状変形に対する画像補正をすることができる。また、対象物体がスリット光の長手方向に対する直交方向に略均一な３次元形状であれば、スリット光を投光する位置に含まれる対象物体の突起部など特異な形状により生じる検出姿勢のずれなどを考慮しなくて良く、スリット光が投光される箇所に気をつかわないでも良いようにできる。
【００９９】
本実施形態による撮像装置１では、スリット光投光ユニット２０が、第１スリット光７１と、第２スリット光７２の２列のスリット光を出射するように構成されているが、出射するスリット光は、２列に限らない。撮像装置は、３列以上のスリット光が出射するように構成されていても良い。例えば、図７（ｂ）に示す原稿Ｐのスリット光の軌跡画像のように、第１スリット光７１及び第２スリット光７２に加えて、第２スリット光７２と同様の第３スリット光が、原稿Ｐにて第２スリット光７２の上方に投光されるようにスリット光投光ユニット２０が構成されていても良い。この場合、第１〜第３スリット光のスリット光の軌跡の各点の位置から、原稿Ｐの縦方向の湾曲形状に対しても推定することができ、これによりスリット無し画像を補正して、更に見やすい画像とすることができる。
【０１００】
本実施形態では、光源として赤色レーザー光線を放射するレーザーダイオード２１が用いられている。しかしながら光源としては、面発光レーザー、ＬＥＤ、ＥＬ素子など、光ビームを出力できる様々なタイプの光源を用いることができる。
【０１０１】
透明平板２４に代えて、入射するレーザー光線のパワーの所定の割合を所定方向に回折する回折格子が１面に形成された透明平板が用いられても良い。この場合、透明平板に形成された回折格子によって回折された１次光のレーザー光線を第２スリット光７２とし、回折格子をそのまま透過する０次光のレーザー光線を第１スリット光７１とされる。
【０１０２】
スリット光投光ユニット２０から出射されるパターン光としては、長手方向に直交する方向に急峻に絞り込まれた細線の他に、一定の幅を備えたストライプ状の光パターンなど、様々なタイプのパターン光を用いることができる。
【０１０３】
第１スリット光７１と、第２スリット光７２の位置関係は逆転しても良い。すなわち、第１の方向つまり撮像装置１から見て下側に第２スリット光７２が形成され、第２の方向に第１スリットが形成されるように、スリット光投光ユニット２０内の各光学素子が配設されていても良い。
【０１０４】
撮像装置１は、スリット光有画像及びスリット光無画像を、結像レンズ３１及びＣＣＤ画像センサ３２を用いて撮像するよう構成されている。これに対して、撮像装置において、結像レンズ３１及びＣＣＤ画像センサ３２の他に、スリット光有画像を撮像するための結像レンズ及びＣＣＤ画像センサを別途追加して設けられていても良い。このように構成することにより、スリット光有画像とスリット光無画像とを撮像する間の時間経過（ＣＣＤ画像センサ３２の画像データを転送する時間など）を無くすることができる。つまり、スリット光有画像に対してスリット光無画像の撮像範囲を無くし、検出する対象物体の３次元形状の精度を高めることができる。但し、スリット光有画像を撮像するための結像レンズ及びＣＣＤ画像センサを別途追加するような場合に比べて、本実施形態の撮像装置１の方が、構成部品が少なく、小型で安価なものとすることができる。
【図面の簡単な説明】
【０１０５】
【図１】図１（ａ）は本発明の実施形態による３次元形状検出システムの外観斜視図であり、図１（ｂ）は３次元形状検出システムの構成装置の１つである撮像装置の概略断面図である。
【図２】撮像装置におけるスリット光投光ユニットの構成を詳細に示す図である。
【図３】図３（ａ）および図３（ｂ）は、スリット光の角度幅を説明するための図である。
【図４】図４は、３次元形状検出システムの電気的構成を示したブロック図である。
【図５】図５はメモリカードの構成を示す図である。
【図６】撮像装置内のプロセッサでの処理手順を示すフローチャートである。
【図７】図７（ａ）および図７（ｂ）は、スリット光有画像を説明するための図である。
【図８】図８（ａ）および図８（ｂ）は、スリット光の３次元空間位置を算出する方法を説明するための図である。
【図９】図９（ａ）、図９（ｂ）および図９（ｃ）は、原稿姿勢演算の際の座標系を説明するための図である。
【図１０】図１０はデータ移送処理を示すフローチャートである。
【図１１】図１１は平面変換処理を示すフローチャートである。
【符号の説明】
【０１０６】
１      撮像装置
２０      スリット光投光ユニット
２１      レーザーダイオード
３２      ＣＣＤ画像センサ
５６      メモリカード
９０      パーソナルコンピュータ
１００    ３次元形状検出システム
４２１    カメラ制御プログラム
４２２    差分抽出プログラム
４２３    三角測量演算プログラム
４２３    平面変換プログラム
４２４    原稿姿勢演算プログラム
４２５    カメラ出力ファイル作成書込プログラム
４３１    スリット光有画像格納部
４３２    スリット光無画像格納部
【図１】
2005121644.tif 000003
【図２】
2005121644.tif 000004
【図３】
2005121644.tif 000005
【図４】
2005121644.tif 000006
【図５】
2005121644.tif 000007
【図６】
2005121644.tif 000008
【図７】
2005121644.tif 000009
【図８】
2005121644.tif 000010
【図９】
2005121644.tif 000011
【図１０】
2005121644.tif 000012
【図１１】
2005121644.tif 000013