(57)【要約】【課題】  空間コード化法を用いてより正確な３次元形状情報などを取得することができる３次元情報取得装置、パターン光生成方法、３次元情報取得方法、プログラム及び記録媒体を提供する。【解決手段】  ３次元情報取得装置は、対象領域を分割する複数の対象領域境界部の少なくともいずれかが明部となるとともに、その対象領域境界部を除く対象領域が暗部となる複数種類のパターン光を前記対象物に順次に投影する。３次元情報取得装置は、複数種類のパターン画像における明部近傍の輝度分布に基づいて、各測定領域の測定領域境界部を検出する。【選択図】        図１０
2006277023.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のパターン光が順次に投影された対象領域における対象物がそれぞれ撮像されることによって取得される複数種類のパターン画像に基づいて、前記対象物を各測定領域に分割し、前記対象物の３次元情報を取得する３次元情報取得装置において、
前記対象領域を分割する複数の対象領域境界部の少なくともいずれかが明部となるとともに、当該対象領域境界部を除く対象領域が暗部となる複数種類のパターン光を前記対象物に順次に投影する投影部と、
前記複数種類のパターン画像における明部近傍の輝度分布に基づいて、前記各測定領域の測定領域境界部を検出する処理部と、を備えたことを特徴とする３次元情報取得装置。
【請求項２】
前記処理部は、
前記複数種類のパターン画像における明部近傍の輝度分布の重心を算出する輝度重心算出部と、
前記輝度重心算出部によって算出された前記輝度の重心に基づいて前記測定領域境界部を検出する境界部検出部と、を備えた請求項１に記載の３次元情報取得装置。
【請求項３】
前記処理部は、
前記複数種類のパターン画像における明部近傍の輝度分布のうち最高輝度を検出する最高輝度検出部と、
前記最高輝度検出部による前記最高輝度の検出結果に基づいて、輝度を抽出するための輝度抽出範囲を決定する輝度抽出範囲決定部と、
前記輝度抽出範囲決定部によって決定された輝度抽出範囲における輝度を抽出する輝度抽出部と、を備え、
前記輝度重心算出部は、前記輝度抽出部によって抽出された輝度に基づいて、前記複数種類のパターン画像における明部近傍の輝度分布の重心を算出することを特徴とする請求項２に記載の３次元情報取得装置。
【請求項４】
前記輝度重心算出部は、前記輝度分布の重心を台形近似により算出する機能を有することを特徴とする請求項２又は３に記載の３次元情報取得装置。
【請求項５】
前記処理部は、
前記複数種類のパターン画像における明部近傍の輝度分布のうち最高輝度を検出する最高輝度検出部と、
前記最高輝度検出部による前記最高輝度の検出結果に基づいて、前記測定領域境界部を検出する境界部検出部を備えた請求項１に記載の３次元情報取得装置。
【請求項６】
前記複数種類のパターン光には、前記対象領域に含まれる第一の領域を分割する第一の対象領域境界部が明部となり、当該第一の対象領域境界部を除く対象領域が暗部となる第一のパターン光と、当該第一の対象領域境界部によって等分されて生成された複数の第二の領域のそれぞれを分割する複数の第二の対象領域境界部が明部となり、当該複数の第二の対象領域境界部を除く対象領域が暗部となる第二のパターン光とが含まれていることを特徴とする請求項１から５のいずれかに記載の３次元情報取得装置。
【請求項７】
前記境界部検出部は、前記複数種類のパターン画像のうち、明部によって分割される領域面積が相対的に大きい順にパターン画像を探索し、測定領域境界部を順次検出する機能を有し、
前記境界部検出部は、分割される領域面積が相対的に小さいパターン画像を探索する場合には、明部によって分割される領域面積が相対的に大きいパターン画像を探索する場合に検出された測定領域境界部を基準として、当該測定領域境界部によって分割された領域のそれぞれを探索し、新たな測定領域境界部を検出する機能を有することを特徴とする請求項６に記載の３次元情報取得装置。
【請求項８】
前記投影部によって複数種類のパターン光が順次に投影された対象物をそれぞれ前記複数種類のパターン画像として撮像する撮像部を備え、
前記複数種類のパターン光は、特定の光学特性成分を主として含み、
前記撮像部は、前記光学特性成分を含んだ複数種類のパターン光を主として透過するフィルタを有することを特徴とする請求項１から７のいずれかに記載の３次元情報取得装置。
【請求項９】
前記対象領域に含まれる第一の領域を分割する第一の対象領域境界部が明部となり、当該第一の対象領域境界部を除く対象領域が暗部となる第一のパターン光を生成する工程と、
前記第一の対象領域境界部によって分割されて生成された複数の第二の領域のそれぞれを分割する複数の第二の対象領域境界部が明部となり、当該複数の第二の対象領域境界部を除く対象領域が暗部となる第二のパターン光を生成する工程と、を含むパターン光生成方法。
【請求項１０】
複数種類のパターン光が順次に投影された対象領域における対象物がそれぞれ撮像されることによって取得される複数種類のパターン画像に基づいて、前記対象物を各測定領域に分割し、前記対象物の３次元情報を取得する３次元情報取得方法において、
前記対象領域を分割する複数の対象領域境界部の少なくともいずれかが明部となるとともに、当該対象領域境界部を除く対象領域が暗部となる複数種類のパターン光を前記対象物に順次に投影する投影工程と、
前記複数種類のパターン画像における明部近傍の輝度分布に基づいて、前記各測定領域の測定領域境界部を検出する処理工程と、を含む３次元情報取得方法。
【請求項１１】
請求項１０に記載の３次元情報取得方法を実施するためにコンピュータによって実行されるプログラム。
【請求項１２】
請求項１１に記載のプログラムをコンピュータ読取り可能に記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元情報取得装置、パターン光生成方法、３次元情報取得方法、プログラム及び記録媒体に関するものであり、特に、パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の３次元情報を取得する３次元情報取得装置、パターン光生成方法、３次元情報取得方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
従来、対象物の３次元形状を計測することなどを目的として、パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の３次元情報を取得する３次元情報取得装置が存在する。
【０００３】
このような３次元情報取得装置の一例として、空間コード化法が用いられたものがあり、この空間コード化法の詳細は、例えば、非特許文献１に開示されている。この空間コード化法においては、例えば、ｎ種類のパターン光が順次、対象物に投影され、それらパターン光ごとに、対象物がパターン画像として撮像される。このようなパターン光は、具体的には図１８（ｂ）に示すように、分割したい領域を順に明部Ｓ１、暗部Ｓ２としたストライプ状のパターン光である。その結果、その対象物が置かれている空間（対象領域）が２ｎ個の測定領域に分割され、それにより、ｎ枚のパターン画像、すなわち、ストライプ状の輝度画像または濃淡画像が取得される。
【０００４】
この空間コード化法においては、さらに、それら取得されたｎ枚のパターン画像が、それぞれに対して閾値処理が行われることにより、ｎ枚の２値化画像に変換され、さらに、画素ごとに、それらｎ枚の２値化画像の輝度値（０または１）が順次、空間コードを構成する最下位ビットＬＳＢから最上位ビットＭＳＢまでのｎ個のビットに割り当てられる。
【０００５】
その結果、画素ごとに空間コードが割り当てられた空間コード画像が取得され、その取得された空間コード画像に基づき、かつ、三角測量の原理に従うことにより、対象物を構成する複数の画素のそれぞれの３次元位置を始めとする３次元情報が取得される。
【０００６】
尚、この空間コード化法においては、図１９（ｂ）に示すように、閾値処理が、一般に、パターン画像における輝度値が所定値である座標が、明部と暗部との境界部として、更には、測定領域を分割する境界部として検出されることとなる。
【非特許文献１】佐藤宏介、他１名著、「空間コード化による距離画像入力」、電子通信学会論文誌、８５／３Ｖｏｌ．Ｊ  ６８−Ｄ  Ｎｏ３  ｐ３６９〜３７５
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したような３次元情報取得装置では、隣り合う領域を明部と暗部とにした複数種類のパターン光を投影することによって、撮像されたパターン画像から測定領域の境界部が検出できるが、それら境界部を検出するための輝度の設定に応じて、境界部の座標が大きく異なるおそれがあり、それら明部と暗部との間において、それら測定領域の境界部の検出誤差が生じるおそれがあり、正確に境界部を検出することが困難であるという問題があった。
【０００８】
具体的な一例としては、図１９（ｂ）に示すように、境界部を検出するための輝度が符号Ｔ１の輝度として設定されていた場合には境界部の座標が符号Ｂ１の位置と検出されるが、境界部を検出するための輝度が符号Ｔ２の輝度として設定されていた場合には境界部の座標が符号Ｂ２の位置と検出されることとなる。
【０００９】
このように、輝度の設定に応じて境界部が大きく異なることとなるため、境界部を正確に検出することは容易ではなく、境界部の検出誤差を小さくすることができ、より正確な３次元形状情報などを取得することができる空間コード化法を用いた３次元情報取得装置を提供することが望まれている。
【００１０】
本発明は、上述したような課題に鑑みてなされたものであり、空間コード化法を用いて、より正確な３次元形状情報などを取得することができる３次元情報取得装置、パターン光生成方法、３次元情報取得方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
以上のような目的を達成するために、本発明は、以下のようなものを提供する。
【００１２】
すなわち、請求項１記載の本発明では、複数種類のパターン光が順次に投影された対象領域における対象物がそれぞれ撮像されることによって取得される複数種類のパターン画像に基づいて、前記対象物を各測定領域に分割し、前記対象物の３次元情報を取得する３次元情報取得装置において、前記対象領域を分割する複数の対象領域境界部の少なくともいずれかが明部となるとともに、当該対象領域境界部を除く対象領域が暗部となる複数種類のパターン光を前記対象物に順次に投影する投影部と、前記複数種類のパターン画像における明部近傍の輝度分布に基づいて、前記各測定領域の測定領域境界部を検出する処理部と、を備えたことを特徴とする３次元情報取得装置とした。
【００１３】
また、請求項２記載の本発明では、前記処理部は、前記複数種類のパターン画像における明部近傍の輝度分布の重心を算出する輝度重心算出部と、前記輝度重心算出部によって算出された前記輝度の重心に基づいて前記測定領域境界部を検出する境界部検出部と、を備えた請求項１に記載の３次元情報取得装置とした。
【００１４】
また、請求項３記載の本発明では、前記処理部は、前記複数種類のパターン画像における明部近傍の輝度分布のうち最高輝度を検出する最高輝度検出部と、前記最高輝度検出部による前記最高輝度の検出結果に基づいて、輝度を抽出するための輝度抽出範囲を決定する輝度抽出範囲決定部と、前記輝度抽出範囲決定部によって決定された輝度抽出範囲における輝度を抽出する輝度抽出部と、を備え、前記輝度重心算出部は、前記輝度抽出部によって抽出された輝度に基づいて、前記複数種類のパターン画像における明部近傍の輝度分布の重心を算出することを特徴とする請求項２に記載の３次元情報取得装置とした。
【００１５】
また、請求項４記載の本発明では、前記輝度重心算出部は、前記輝度分布の重心を台形近似により算出する機能を有することを特徴とする請求項２又は３に記載の３次元情報取得装置とした。
【００１６】
また、請求項５記載の本発明では、前記処理部は、前記複数種類のパターン画像における明部近傍の輝度分布のうち最高輝度を検出する最高輝度検出部と、前記最高輝度検出部による前記最高輝度の検出結果に基づいて、前記測定領域境界部を検出する境界部検出部を備えた請求項１に記載の３次元情報取得装置とした。
【００１７】
また、請求項６記載の本発明では、前記複数種類のパターン光には、前記対象領域に含まれる第一の領域を分割する第一の対象領域境界部が明部となり、当該第一の対象領域境界部を除く対象領域が暗部となる第一のパターン光と、当該第一の対象領域境界部によって等分されて生成された複数の第二の領域のそれぞれを分割する複数の第二の対象領域境界部が明部となり、当該複数の第二の対象領域境界部を除く対象領域が暗部となる第二のパターン光とが含まれていることを特徴とする請求項１から５のいずれかに記載の３次元情報取得装置とした。
【００１８】
また、請求項７記載の本発明では、前記境界部検出部は、前記複数種類のパターン画像のうち、明部によって分割される領域面積が相対的に大きい順にパターン画像を探索し、測定領域境界部を順次検出する機能を有し、前記境界部検出部は、分割される領域面積が相対的に小さいパターン画像を探索する場合には、明部によって分割される領域面積が相対的に大きいパターン画像を探索する場合に検出された測定領域境界部を基準として、当該測定領域境界部によって分割された領域のそれぞれを探索し、新たな測定領域境界部を検出する機能を有することを特徴とする請求項６に記載の３次元情報取得装置とした。
【００１９】
また、請求項８記載の本発明では、前記投影部によって複数種類のパターン光が順次に投影された対象物をそれぞれ前記複数種類のパターン画像として撮像する撮像部を備え、前記複数種類のパターン光は、特定の光学特性成分を主として含み、前記撮像部は、前記光学特性成分を含んだ複数種類のパターン光を主として透過するフィルタを有することを特徴とする請求項１から７のいずれかに記載の３次元情報取得装置とした。
【００２０】
また、請求項９記載の本発明では、前記対象領域に含まれる第一の領域を分割する第一の対象領域境界部が明部となり、当該第一の対象領域境界部を除く対象領域が暗部となる第一のパターン光を生成する工程と、前記第一の対象領域境界部によって分割されて生成された複数の第二の領域のそれぞれを分割する複数の第二の対象領域境界部が明部となり、当該複数の第二の対象領域境界部を除く対象領域が暗部となる第二のパターン光を生成する工程と、を含むパターン光生成方法とした。
【００２１】
また、請求項１０記載の本発明では、複数種類のパターン光が順次に投影された対象領域における対象物がそれぞれ撮像されることによって取得される複数種類のパターン画像に基づいて、前記対象物を各測定領域に分割し、前記対象物の３次元情報を取得する３次元情報取得方法において、前記対象領域を分割する複数の対象領域境界部の少なくともいずれかが明部となるとともに、当該対象領域境界部を除く対象領域が暗部となる複数種類のパターン光を前記対象物に順次に投影する投影工程と、前記複数種類のパターン画像における明部近傍の輝度分布に基づいて、前記各測定領域の測定領域境界部を検出する処理工程と、を含む３次元情報取得方法とした。
【００２２】
また、請求項１１記載の本発明では、請求項１０に記載の３次元情報取得方法を実施するためにコンピュータによって実行されるプログラムとした。
【００２３】
また、請求項１２記載の本発明では、請求項１１に記載のプログラムをコンピュータ読取り可能に記録した記録媒体とした。
【発明の効果】
【００２４】
請求項１、１０から１２のいずれか記載の発明によれば、対象領域を分割する複数の対象領域境界部の少なくともいずれかが明部となるとともに、その対象領域境界部を除く対象領域が暗部となる複数種類のパターン光が順次に投影され、それにより取得される複数種類のパターン画像における明部近傍の輝度分布に基づいて、各測定領域の測定領域境界部を検出する。従って、複数種類のパターン光を用いて対象物を各測定領域に分割し、対象物の３次元情報を取得する方法（所謂、空間コード化法）において、隣り合う一方の測定領域が明部であり、他方の測定領域が暗部である従来のパターン光と比べて、対象領域境界部が明部となる複数種類のパターン光を投影することにより、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元形状情報などを取得することができる。
【００２５】
また、請求項２記載の発明によれば、算出された輝度の重心に基づいて測定領域境界部を検出するので、明部における輝度の分布に応じて測定領域境界部を検出することができ、より一層、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元情報を取得することができる。
【００２６】
また、請求項３記載の発明によれば、明部における最高輝度の検出結果に基づいて、輝度を抽出するための輝度抽出範囲を決定し、その輝度抽出範囲における輝度を抽出し、明部近傍の輝度分布の重心を算出する。従って、輝度の最も大きい最高輝度と、明部の輝度の重心との両者に基づいて測定領域境界部を検出することとなり、より一層、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元情報を取得することができる。
【００２７】
また、請求項４記載の発明によれば、台形近似により輝度の重心を算出するため、より一層、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元情報を取得することができる。
【００２８】
また、請求項５記載の発明によれば、明部における最高輝度の検出結果に基づいて測定領域境界部を検出するので、明部における輝度の大きさに応じて測定領域境界部を検出することができ、相対的な制御負荷を軽減することができるとともに、より一層、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元情報を取得することができる。
【００２９】
また、請求項６又は９記載の発明によれば、第一の領域を分割する第一の対象領域境界部が明部となり、その第一の対象領域境界部を除く対象領域が暗部となる第一のパターン光を生成し、第一の対象領域境界部によって等分されて生成された複数の第二の領域のそれぞれを分割する複数の第二の対象領域境界部が明部となり、それら複数の第二の対象領域境界部を除く対象領域が暗部となる第二のパターン光を生成する。従って、対象領域に含まれる第一の領域を分割する複数のパターン光を規則的に効率よく生成することができる。
【００３０】
また、請求項７記載の発明によれば、分割される領域面積が相対的に小さいパターン画像を探索する場合には、分割される領域面積が相対的に大きいパターン画像を探索する場合に検出された測定領域境界部を基準として、その測定領域境界部によって分割された領域のそれぞれを探索し、新たな測定領域境界部を検出するので、全ての測定領域境界部を検出する場合に探索する領域を限定して測定領域境界部を検出するため、全ての測定領域境界部を検出する度に全領域を探索する必要がなく、探索効率を高め、制御負荷を軽減することができる。
【００３１】
また、請求項８記載の発明によれば、特定の特性成分（例えば、特定の波長や偏光方向など）を透過するフィルタを有する。従って、外光などの影響を防止することのできるパターン光を用いて測定領域境界部を検出することにより、より正確な３次元情報を取得することができる。
【発明を実施するための最良の形態】
【００３２】
以下に、本発明に好適な実施形態について図面に基づいて説明する。
【００３３】
［３次元画像処理装置の外観］
図１には、本発明の一実施形態に従う３次元情報取得装置１が外観斜視図で示されている。この３次元情報取得装置１は、画像を表す画像光（「画像信号光」ともいう。）の投影面（例えば、平面、スクリーン、机上面など）への投影（通常の投影）、空間コード化法を用いるための複数種類のパターン光の被写体（対象物）への投影（３次元情報取得のための投影）と、被写体の撮像と、その撮像結果に基づき、被写体の３次元情報（３次元位置情報を含む。）をコンピュータによって取得する処理とを行うように設計されている。即ち、３次元情報取得装置１は、複数種類のパターン光が順次に投影された対象物がそれぞれ撮像されることによって取得される複数種類のパターン画像に基づいて、対象物を各測定領域に分割し、対象物の３次元情報を取得する装置である。そのため、この３次元情報取得装置１は、後述する投影部１３と、撮像部１４と、処理部１５とを含むように構成されている（ともに図２参照）。
【００３４】
この３次元情報取得装置１は、複数種類のモードのうちユーザによって選択されたものに従って作動する。それらモードは、この３次元情報取得装置１がデジタルカメラとして機能するデジカメモードと、ウェブカメラとして機能するｗｅｂｃａｍモードと、被写体の３次元形状を検出して立体画像を取得するための立体画像モードと、湾曲した原稿等の被写体の立体画像を平面化した平面化画像を取得するための平面化画像モードとを含んでいる。
【００３５】
図１には、この３次元情報取得装置１が、特に、立体画像モードや平面化画像モードにおいて、被写体としての原稿Ｐの３次元形状を検出するために、複数種類のパターン光を投影部１３（図２参照）から原稿Ｐに投影している状態で示されている。尚、詳しくは後述するが、これら複数種類のパターン光は、撮像の対象となる空間（対象物がある対象領域Ｑ）を分割するための境界部（対象領域境界部Ｒと称することがある）が明部となり、その境界部以外が暗部となる複数種類のパターン光である。また、所定のパターン光は、特定の光学特性成分を主として含んでいる。
【００３６】
図１に示すように、この３次元情報取得装置１は、略箱状を成す撮像ヘッド２と、一端においてその撮像ヘッド２に連結されたパイプ状のアーム部材３と、そのアーム部材３の他端に連結されたベース４であって、平面視において略Ｌ字状を成すように形成されたものとを備えている。それらアーム部材３とベース４とは互いに共同して、撮像ヘッド２を片持ち状で保持するスタンドとして機能する。
【００３７】
撮像ヘッド２は、投影部１３や撮像部１４（ともに図２参照）がケース内に収容されて構成されている。この撮像ヘッド２は、鏡筒５と、ファインダ６と、フラッシュ７とを、それぞれが部分的に撮像ヘッド２の正面において露出する姿勢で備えている。この撮像ヘッド２は、さらに、撮像部１４の一部である撮像光学系２１を、それのレンズの一部が撮像ヘッド２の正面において露出する姿勢で備えている。その撮像光学系２１は、それの露出部分において、被写体を表す画像光を受光する。
【００３８】
鏡筒５は、図１に示すように、撮像ヘッド２の正面から突出しており、その内部において、投影部１３の一部である投影光学系２０（図２参照）を収容している。この鏡筒５は投影光学系２０を、焦点調節のために全体的に移動可能である状態で保持し、さらに、この鏡筒５は、投影光学系２０を損傷から保護している。鏡筒５の露出端面から、投影部１３の一部である投影光学系２０のレンズの一部が露出している。投影光学系２０は、それの露出部分において、投影面または被写体に向かって画像光または複数種類のパターン光を投影する。
【００３９】
ファインダ６は、撮像ヘッド２の正面から入射した光をそれの背面まで誘導するように配設される光学レンズによって構成されている。ユーザがファインダ６を３次元情報取得装置１の背面からのぞき込むと、ユーザが、撮像光学系２１のうちのイメージセンサの一例であるＣＣＤ２２（結像面）（図２参照）上に画像が結像する領域とほぼ一致する領域内においてその画像を視認できるようになっている。
【００４０】
フラッシュ７は、例えば、デジカメモードにおいて、不足光量を補充するために発光する光源であり、キセノンガスが充填された放電管を用いて構成されている。したがって、このフラッシュ７は、撮像ヘッド２に内蔵されているコンデンサ（図示しない）の放電により繰り返し使用することができる。
【００４１】
撮像ヘッド２は、さらに、それの上面において、レリーズボタン８と、モード切替スイッチ９と、モニタＬＣＤ１０とを備えている。
【００４２】
レリーズボタン８は、３次元情報取得装置１を作動させるためにユーザによって操作される。このレリーズボタン８は、ユーザの操作状態（押下状態）が「半押し状態」である場合と「全押し状態」である場合とで異なる指令を発令できる２段階の押しボタン式のスイッチによって構成されている。レリーズボタン８の操作状態は処理部１５によって監視される。処理部１５によって「半押し状態」が検出されれば、よく知られたオートフォーカス（ＡＦ）および自動露出（ＡＥ）の機能が起動し、ピント、絞りおよびシャッタスピードが自動的に調節される。これに対し、処理部１５によって「全押し状態」が検出されれば、撮像等が行われる。
【００４３】
モード切替スイッチ９は、３次元情報取得装置１の作動モードを、前述のデジカメモード、ｗｅｂｃａｍモード、立体画像モード、および平面化画像モードと、オフモード等を含む複数種類のモードのいずれかとして設定するためにユーザによって操作される。このモード切替スイッチ９の操作状態は処理部１５によって監視されており、モード切替スイッチ９の操作状態が処理部１５によって検出されると、その検出された操作状態に対応するモードでの処理が３次元情報取得装置１に対して行われる。
【００４４】
モニタＬＣＤ１０は、液晶ディスプレイ（Liquid  Crystal  Display）を用いて構成されており、処理部１５から画像信号を受けて、画像をユーザに表示する。このモニタＬＣＤ１０は、例えば、デジカメモードやｗｅｂｃａｍモードにおける撮像画像、立体画像モードにおける３次元形状検出結果画像、平面化画像モードにおける平面化画像等を表示する。
【００４５】
図１に示すように、撮像ヘッド２は、さらに、ＲＦ（無線）インターフェイスとしてのアンテナ１１と、撮像ヘッド２とアーム部材３とを互いに連結する連結部材１２とを備えている。
【００４６】
アンテナ１１は、図２及び図４に示すように、ＲＦドライバ２４に接続されている。このアンテナ１１は、デジカメモードで取得した撮像画像データ、立体画像モードで取得した立体画像データ等を、ＲＦドライバ２４を介して、図示しない外部インターフェイスに無線によって送信する。
【００４７】
連結部材１２は、撮像ヘッド２とアーム部材３の一端部とを、ねじ機構により、着脱可能であり、かつ、相対取付け角度が調節可能である状態で互いに連結する。具体的には、この連結部材１２は、例えば、内周面に雌ねじが形成されたリングとして形成され、撮像ヘッド２の一側面に回転可能かつ離脱不能に保持されている。その雌ねじに対応し、アーム部材３の一端部に雄ねじが形成されている。それら雌ねじと雄ねじとが互いに螺合されることにより、撮像ヘッド２とアーム部材３とが着脱可能に互いに連結される。したがって、撮像ヘッド２は、アーム部材３から取り外せば、通常のデジタルカメラとして使用することができる。さらに、それら雌ねじと雄ねじとが互いに螺合されることにより、撮像ヘッド２を、アーム部材３の一端部に任意の角度で固定することができる。
【００４８】
図１に示すように、アーム部材３は、任意の形状に屈曲可能であり、かつ、外力が加えられない限りその形状が復元しない素材または機構によって構成されている。これにより、アーム部材３は、それに装着された撮像ヘッド２を、それの位置および向きを任意に調整可能に保持することができる。このアーム部材３は、例えば、任意の形状に屈曲可能な蛇腹状のパイプによって構成される。
【００４９】
図１に示すように、ベース４は、前述のように、アーム部材３の他端に連結されている。このベース４は、机等の載置台に載置され、撮像ヘッド２とアーム部材３とを支持する。このベース４は、平面視において略Ｌ字状を成すように形成されているため、重量の割に高い安定度で撮像ヘッド２およびアーム部材３を支持することができる。さらに、それらアーム部材３とベース４とは着脱可能に互いに連結されているため、例えば搬送や収納の先立ち、それらアーム部材３とベース４とを互いに分離することにより、それらアーム部材３とベース４とが占めるスペースの形態を任意に変更することが可能となり、よって、搬送し易さの向上および収納スペースの削減を容易に図り得る。
【００５０】
［３次元画像処理装置の構成］
図２には、撮像ヘッド２の内部構成が概念的に表されている。撮像ヘッド２は、前述のように、投影部１３と、撮像部１４と、処理部１５とを主に内蔵している。
【００５１】
投影部１３は、投影面または被写体に任意の画像光（投影画像）または複数種類のパターン光を投影するためのユニットである。この投影部１３は、図２に示すように、基板１６と、複数個のＬＥＤ１７（以下、それらのアレイを「ＬＥＤアレイ１７Ａ」という。）と、光源レンズ１８と、投影ＬＣＤ１９と、投影光学系２０とを、投影方向に沿って直列に備えている。この投影部１３の詳細は、後に図３を参照して説明する。
【００５２】
撮像部１４は、被写体としての原稿Ｐ（図１参照）を撮像するためのユニットである。特に、撮像部１４は、投影部１３によって複数種類のパターン光が順次に投影された対象物をそれぞれパターン画像として撮像する。この撮像部１４は、図２に示すように、撮像光学系２１と、ＣＣＤ２２とを、画像光の入射方向に沿って直列に備えている。
【００５３】
撮像光学系２１は、図２に示すように、複数枚のレンズを用いて構成されている。この撮像光学系２１は、よく知られたオートフォーカス機能により、焦点距離および絞りを自動調整して外部からの光をＣＣＤ２２上に結像する。
【００５４】
ＣＣＤ（Charge  Coupled  Device）２２は、フォトダイオード素子などの光電変換素子をマトリクス状に配列して構成されている。このＣＣＤ２２は、撮像光学系２１を介してこのＣＣＤ２２の表面に結像される画像の光の色および強さに応じた信号を各画素ごとに生成する。その生成された信号は、デジタルデータに変換されて処理部１５に出力される。
【００５５】
また、撮像光学系２１には、ＣＣＤ２２との間に配設されるフィルタ２１ａを含んでいる。このフィルタ２１ａは、特定の光学特性成分を含んだ所定のパターン光を主として透過するフィルタである。従って、外光などの影響を防止することのできるパターン光を用いて測定領域境界部Ｔ（図８参照）を検出することにより、より正確な３次元情報を取得することができる。尚、このフィルタ２１ａを介して対象物の撮像を行うか、このフィルタ２１ａを介さずに対象物の撮像を行うかが切替可能であり、パターン光が投影されたパターン光有画像も、パターン光が投影されていないパターン光無画像も撮像可能である。
【００５６】
また、図４のブロック図においても示すように、処理部１５は、フラッシュ７、レリーズボタン８およびモード切替スイッチ９にそれぞれ電気的に接続されている。処理部１５は、さらに、モニタＬＣＤ１０にはモニタＬＣＤドライバ２３を介して、アンテナ１１にはＲＦドライバ２４を介して、バッテリ２６には電源インターフェイス２５を介してそれぞれ電気的に接続されている。処理部１５は、さらに、外部メモリ２７およびキャッシュメモリ２８にそれぞれ電気的に接続されている。処理部１５は、さらに、ＬＥＤアレイ１７Ａには光源ドライバ２９を介して、投影ＬＣＤ１９には投影ＬＣＤドライバ３０を介して、ＣＣＤ２２にはＣＣＤインターフェイス３１を介してそれぞれ電気的に接続されている。それらフラッシュ７等は、処理部１５によって制御される。
【００５７】
外部メモリ２７は、着脱可能なフラッシュＲＯＭであり、デジカメモードやｗｅｂｃａｍモード、さらに立体画像モードにおいて撮像された撮像画像や３次元情報を記憶することが可能である。外部メモリ２７を構成するために、例えば、ＳＤカード、コンパクトフラッシュ（登録商標）カード等を使用することができる。
【００５８】
キャッシュメモリ２８は、データの読み書きを高速で行い得る記憶装置である。キャッシュメモリ２８は、例えば、デジカメモードにおいて撮像された撮像画像を高速でキャッシュメモリ２８に転送し、処理部１５で画像処理を行ってから外部メモリ２７に格納することを可能にするために使用される。キャッシュメモリ２８を構成するために、例えば、ＳＤＲＡＭ、ＤＤＲＲＡＭ等を使用することができる。
【００５９】
電源インターフェイス２５、光源ドライバ２９、投影ＬＣＤドライバ３０およびＣＣＤインターフェイス３１はそれぞれ、バッテリ２６、ＬＥＤアレイ１７Ａ、投影ＬＣＤ１９およびＣＣＤ２２を制御する各種の集積回路ＩＣ（Integrated  Circuit）によって構成されている。
【００６０】
［投影部の構成］
ここで、投影部１３の詳細について図３を参照することによって説明する。図３（ａ）は投影部１３の拡大図であり、図３（ｂ）は光源レンズ１８の正面図であり、図３（ｃ）は投影ＬＣＤ１９とＣＣＤ２２との配置関係を説明するための正面図である。
【００６１】
前述のように、投影部１３は、図３（ａ）に示すように、基板１６と、ＬＥＤアレイ１７Ａと、光源レンズ１８と、投影ＬＣＤ１９と、投影光学系２０とをパターン光の投影方向に沿って直列に備えている。
【００６２】
基板１６は、それにＬＥＤアレイ１７Ａが装着されることにより、その装着されたＬＥＤアレイ１７Ａとの間において電気的な配線を行う。基板１６は、例えば、アルミニウム製基板に絶縁性合成樹脂を塗布してから無電解メッキにてパターンを形成したものや、ガラスエポキシ基材をコアとする単層または多層構造の基板を使用して製作することができる。
【００６３】
ＬＥＤアレイ１７Ａは、投影ＬＣＤ１９に向けて放射状の光を発光する光源である。このＬＥＤアレイ１７Ａにおいては、基板１６上に複数個のＬＥＤ（発光ダイオード）１７が、図３（ｂ）に示すように、千鳥状配列のもとに、銀ペーストを介して接着されている。それら基板１６と複数個のＬＥＤ１７とは、ボンディングワイヤを介して電気的に結線されている。
【００６４】
このように、本実施形態においては、投影部１３の光源として複数個のＬＥＤ１７が使用されているため、光源として白熱電球、ハロゲンランプ等が使用される場合に比べて、電気が光に変換される電気光変換効率の向上や、赤外線や紫外線の発生の抑制を容易に行い得る。よって、３次元情報取得装置１の節電、長寿命化、発熱抑制等を容易に図り得る。
【００６５】
また、このように、ＬＥＤ１７はハロゲンランプ等に比べて熱線の発生率が極めて低いため、光源レンズ１８や投影光学系２０に合成樹脂製のレンズを採用することができる。よって、ガラス製のレンズを採用する場合に比べて、光源レンズ１８および投影光学系２０を安価で軽量に構成することができる。
【００６６】
さらに、本実施形態においては、ＬＥＤアレイ１７Ａを構成する各ＬＥＤ１７が、互いに同じ色の光を発光し、具体的には、材料にＡｌ、Ｉｎ、ＧａおよびＰの４元素を用いたアンバー色を発光するように構成されている。したがって、複数色の光を発光させる場合に考慮しなければならない問題である色収差の補正を考慮する必要がなく、よって、色収差を補正するために投影光学系２０に色消しレンズを採用する必要もない。その結果、投影光学系２０の設計の自由度を向上させることができる。
【００６７】
さらに、本実施形態においては、電気光変換効率が約８０［ｌｕｍｅｎ／Ｗ］というように他の発光色に比べて高い４元素材料のアンバー色ＬＥＤが採用されるため、３次元情報取得装置１の高輝度化、節電および長寿命化を容易に図り得る。つまり、投影部１３は、特定の光学特性成分（例えば、アンバー色）を主として含パターン光を対象領域に投影することとなる。
【００６８】
本実施形態においては、具体的には、ＬＥＤアレイ１７Ａが５９個のＬＥＤ１７によって構成され、各ＬＥＤ１７は５０［ｍＷ］（２０［ｍＡ］，２．５［Ｖ］）で駆動され、結局、５９個のＬＥＤ１７の全体は略３［Ｗ］の消費電力で駆動される。
【００６９】
さらに、本実施形態においては、各ＬＥＤ１７から発光される光が光源レンズ１８および投影ＬＣＤ１９を通過して投影光学系２０から出射する場合の光束値としての明るさが、全面照射の場合であっても２５ＡＮＳＩルーメン程度に設定されている。
【００７０】
本実施形態においては、３次元情報取得装置１の投影部１３からの出射光の明るさがその程度に選定されるため、例えば、被写体が人や動物の顔である場合に、立体画像モードにおいて、その被写体の３次元形状を検出するためにその被写体にパターン光を投影しても、被写体に眩しさを与えずに済む。したがって、本実施形態によれば、被写体が人や動物である場合に、その被写体が目をつぶらない状態でその被写体の３次元形状を検出することが容易となる。
【００７１】
図３に示すように、光源レンズ１８は、ＬＥＤアレイ１７Ａから放射状に発光される光を集光するレンズであり、その材質はアクリルに代表される光学樹脂である。
【００７２】
図３（ａ）に示すように、光源レンズ１８は、複数個の凸状のレンズ部１８ａと、それらレンズ部１８ａを支持するベース部１８ｂと、エポキシ封止材１８ｃと、複数本の位置決めピン１８ｄとを備えている。
【００７３】
図３（ａ）に示すように、各レンズ部１８ａは、ベース部１８ｂのうちＬＥＤアレイ１７Ａの各ＬＥＤ１７に対向する位置に、ベース部１８ｂから投影ＬＣＤ１９に向かって突設されている。エポキシ封止材１８ｃは、ベース部１８ｂのうちＬＥＤアレイ１７Ａが気密に収容されるべき凹部１８ｅ内に充填され、それにより、その凹部１８ｅ内においてＬＥＤアレイ１７Ａが封止される。このエポキシ封止材１８ｃは、ＬＥＤアレイ１７Ａの封止機能を有するのであり、さらに、基板１６と光源レンズ１８とを互いに接着する機能も有する。
【００７４】
図３（ａ）に示すように、複数本の位置決めピン１８ｄは、光源レンズ１８と基板１６とを相対的に位置決めするために、光源レンズ１８に、その光源レンズ１８から基板１６に向かって突設されている。図３（ｂ）に示すように、複数本の位置決めピン１８ｄのうちの一部は、基板１６に穿設された長穴１６ａに挿入される一方、残りは、基板１６に穿設された真円穴１６ｂに挿入され、それにより、基板１６に光源レンズ１８が正規の位置に固定される。
【００７５】
このように、本実施形態においては、光源レンズ１８と、ＬＥＤアレイ１７Ａと、基板１６とが、投影方向に空間的に詰めて互いに積層されているため、それら光源レンズ１８等の組立体のコンパクト化および省スペース化が容易となる。
【００７６】
さらに、本実施形態においては、基板１６が、ＬＥＤアレイ１７Ａを保持するという基本的な機能の他に、光源レンズ１８を保持するという付随的な機能をも果たしている。したがって、本実施形態によれば、光源レンズ１８を専ら保持する部品の追加を省略でき、その結果、３次元情報取得装置１の部品点数の削減が容易となる。
【００７７】
さらに、本実施形態においては、各レンズ部１８ａが、図３（ａ）に示すように、ＬＥＤアレイ１７Ａの各ＬＥＤ１７に１対１の関係で正対するように配置されている。よって、各ＬＥＤ１７から発光される放射状の光は、各ＬＥＤ１７に対向する各レンズ部１８ａによって効率良く集光され、図３（ａ）に示すように、指向性の高い放射光として投影ＬＣＤ１９に照射される。
【００７８】
このように指向性を高めたのは、投影ＬＣＤ１９に略垂直に光が入射すれば、その投影ＬＣＤ１９の面内における透過率むらが抑制されて画質が向上し得るという理由からである。
【００７９】
投影光学系２０は、投影ＬＣＤ１９を通過した光を投影面または被写体に向かって投影するための複数枚のレンズである。それらレンズは、ガラス製レンズと合成樹脂製レンズとの組合せから成るテレセントリックレンズによって構成されている。テレセントリックとは、投影光学系２０を通過する主光線は、入射側の空間では光軸に平行になり、射出瞳の位置は無限になる構成をいう。
【００８０】
投影光学系２０は、上述のようにテレセントリック特性を持ち、その入射ＮＡが０．１程度であるため、垂直±５°以内の光のみが投影光学系２０の内部の絞りを通過できるように、投影光学系２０の光路が規制されている。
【００８１】
したがって、本実施形態においては、投影光学系２０のテレセントリック性により、投影ＬＣＤ１９を垂直±５°で通過する光のみを投影光学系２０に投影し得る構成と相俟って、画質の向上を容易に図り得る。
【００８２】
よって、本実施形態においては、画質向上のために、各ＬＥＤ１７からの出射光が投影ＬＣＤ１９に略垂直に入射するように各ＬＥＤ１７からの光の出射角度を揃え、かつ、各ＬＥＤ１７からの出射光のほとんどが投影光学系２０に垂直±５°の入射角度範囲内で入射させることが重要である。
【００８３】
図３（ｃ）に示すように、投影ＬＣＤ１９は、光源レンズ１８を通過して集光された光に空間変調を施して、投影光学系２０に向けてパターン光を出力する空間変調素子である。この投影ＬＣＤ１９は、具体的には、縦横比が１：１ではない板状の液晶ディスプレイ（Liquid  Crystal  Display）によって構成されている。
【００８４】
図３（ｃ）に示すように、この投影ＬＣＤ１９においては、その投影ＬＣＤ１９を構成する複数個の画素が一平面上において千鳥状に配列されている。具体的には、この投影ＬＣＤ１９においては、その液晶ディスプレイの長手方向（横方向）に複数個の画素が予め定められた画素ピッチで等間隔に並んだ画素列が複数並列に配置され、かつ、互いに隣接する２つの画素列が、その画素ピッチより短い長さで、その液晶ディスプレイの長手方向にシフトされている。
【００８５】
このように、本実施形態においては、投影ＬＣＤ１９を構成する複数個の画素が千鳥状に配列されているため、投影ＬＣＤ１９によって空間変調が施される光を投影ＬＣＤ１９の長手方向において前記画素ピッチの１／２のピッチで制御することができる。したがって、本実施形態によれば、細いピッチで投影パターン光を制御することができ、よって、被写体の３次元の形状を高い分解能で高精度に検出することができる。
【００８６】
特に、後に詳述する立体画像モードや平面化画像モードにおいては、被写体の３次元形状を検出すべく、図１に示すように、複数種類のパターン光が被写体に向けて投影される。本実施形態においては、それらパターン光において一又は複数本のスリット（スリット部、明部）が並ぶ方向（各スリットの幅方向）が投影ＬＣＤ１９の長手方向に一致するようにパターン光が予め定義されている。したがって、パターン光において明部と暗部との境界を１／２ピッチで制御することができ、よって、同様に高精度に３次元の形状を検出することができる。
【００８７】
図３（ｃ）においては、投影ＬＣＤ１９とＣＣＤ２２とが横に並んで示されているが、それら投影ＬＣＤ１９とＣＣＤ２２とは、紙面手前側に撮像ヘッド２の正面が存在し、紙面裏側から光が投影ＬＣＤ１９に入射し、紙面手間側から光がＣＣＤ２２に入射してそのＣＣＤ２２に被写体像が結像される状態で、配置されている。
【００８８】
それら投影ＬＣＤ１９とＣＣＤ２２とは、撮像ヘッド２の内部においては、図３（ｃ）に示すレイアウトで配置される。具体的には、それら投影ＬＣＤ１９とＣＣＤ２２とは、投影ＬＣＤ１９の幅広面とＣＣＤ２２の幅広面とが略同一の方向を向くように配置されている。したがって、本実施形態によれば、投影ＬＣＤ１９がパターン光を投影している被写体からの反射光を３次元情報取得装置１内においてＣＣＤ２２に結像させることによって被写体の３次元形状を検出するために、投影ＬＣＤ１９の中心とＣＣＤ２２の中心とを結ぶ一直線を、三角測量を行う際に着目される３辺のうちの１辺として利用することができる。
【００８９】
また、ＣＣＤ２２は、投影ＬＣＤ１９の長手方向に位置する側（画素列が延びる方向に位置する側）に配置されている。よって、特に、立体画像モードや平面化画像モードにおいて、三角測量の原理を利用して被写体の３次元形状を検出する場合には、ＣＣＤ２２と被写体とのなす傾きを１／２ピッチで制御することができるため、同様に高精度に被写体の３次元形状を検出することができる。
【００９０】
本実施形態においては、投影ＬＣＤ１９が画素配列として千鳥配列を採用するため、画素列において画素が並ぶ間隔と等しい間隔で複数本のスリットが並んだパターン光、すなわち、千鳥配列を利用せずに形成される複数種類の標準的なパターン光のうち各スリット間の間隔が最も狭いものより各スリット間の間隔が狭い別のパターン光を形成することが可能となる。したがって、本実施形態によれば、標準的なパターン光の種類がｎ種類である場合に、（ｎ＋１）ビットの空間コードを扱うことが可能となり、このことによっても、被写体の３次元形状を検出する精度が向上する。
【００９１】
よって、本実施形態によれば、投影ＬＣＤ１９における画素ピッチ間の間隔、すなわち、投影ＬＣＤ１９の解像度の割に多数のビットの空間コードを扱うことが可能となる。
【００９２】
［３次元画像処理装置の電気的構成］
図４には、３次元情報取得装置１の電気的な構成がブロック図で表されている。処理部１５はコンピュータを主体として構成されており、そのコンピュータは、ＣＰＵ３５と、ＲＯＭ３６と、ＲＡＭ３７とを含むように構成されている。
【００９３】
ＣＰＵ３５は、ＲＯＭ３６に記憶されたプログラムを、ＲＡＭ３７を利用しつつ実行することにより、レリーズボタン８の操作状態の検出、ＣＣＤ２２からの画像データの取込み、その取り込まれた画像データの転送および格納、モード切替スイッチ９の操作状態の検出等の各種処理を行う。
【００９４】
ＲＯＭ３６には、カメラ制御プログラム３６ａと、パターン光撮影プログラム３６ｂと、輝度画像生成プログラム３６ｃと、コード境界抽出プログラム３６ｅと、レンズ収差補正プログラム３６ｆと、三角測量演算プログラム３６ｇと、原稿姿勢演算プログラム３６ｈと、平面変換プログラム３６ｉと、パターン光設定プログラム３６ｊと、輝度分布検出プログラム３６ｋと、探索範囲決定プログラム３６ｌと、抽出範囲決定プログラム３６ｍとが格納されている。
【００９５】
カメラ制御プログラム３６ａは、３次元情報取得装置１全体の制御を実行するために実行され、その制御には、図１１にフローチャートで概念的に表されているメイン処理が含まれる。
【００９６】
パターン光撮影プログラム３６ｂは、原稿Ｐの３次元形状を検出するためにパターン光が投影された被写体を撮像してパターン光有画像を取得し、さらに、パターン光が投影されていない被写体を撮像してパターン光無画像を取得するために実行される。
【００９７】
輝度画像生成プログラム３６ｃは、パターン光撮影プログラム３６ｂの実行によって同じ被写体について取得されたパターン光有画像とパターン光無画像との差分をとり、パターン光が投影された被写体を表す輝度画像を生成するために実行される。
【００９８】
本実施形態においては、同じ被写体に対して複数種類のパターン光が時系列に順次投影され、各パターン光が投影されるごとに被写体が撮像される。そのようにして撮像された複数枚のパターン光有画像の各々とパターン光無画像との差分がとられ、その結果、パターン光の種類と同数の輝度画像が生成される。
【００９９】
コード境界抽出プログラム３６ｅは、輝度画像生成プログラム３６ｃの実行によって生成された輝度画像を利用することにより、コードの境界座標（測定領域境界部Ｔ（図８参照）の座標とも称する）を検出するために実行される。輝度分布検出プログラム３６ｋは、コード境界抽出プログラム３６ｅが実行されることによって、輝度画像（特に、後述するパターン光有画像）における輝度分布を検出するために実行される。探索範囲決定プログラム３６ｌは、輝度分布検出プログラム３６ｋの実行によって、輝度分布の探索範囲を決定するためのプログラムである。抽出範囲決定プログラム３６ｍは、輝度分布検出プログラム３６ｋの実行によって、輝度を抽出する輝度抽出範囲を決定するためのプログラムである。
【０１００】
レンズ収差補正プログラム３６ｆは、コード境界抽出プログラム３６ｅの実行によってサブピクセル精度で求められたコードの境界座標に対して、撮像光学系２１の収差補正を行うために実行される。
【０１０１】
三角測量演算プログラム３６ｇは、レンズ収差補正プログラム３６ｆの実行によって収差補正が行われたコードの境界座標から、その境界座標に関する実空間の３次元座標を演算するために実行される。
【０１０２】
原稿姿勢演算プログラム３６ｈは、三角測量演算プログラム３６ｇの実行によって演算された３次元座標から原稿Ｐの３次元形状を推定して求めるために実行される。
【０１０３】
平面変換プログラム３６ｉは、原稿姿勢演算プログラム３６ｈの実行によって演算された原稿Ｐの３次元形状に基づき、原稿Ｐをその正面から撮像した場合に生成される如き平面化画像を生成するために実行される。
【０１０４】
パターン光設定プログラム３６ｊは、投影部１３が被写体に投影する投影画像すなわちパターン光に関する設定を行うために実行される。
【０１０５】
また、図４に示すように、ＲＡＭ３７には、パターン光有画像格納部３７ａと、パターン光無画像格納部３７ｂと、輝度画像格納部３７ｃと、コード境界座標格納部３７ｅと、収差補正座標格納部３７ｇと、３次元座標格納部３７ｈと、原稿姿勢演算結果格納部３７ｉと、平面変換結果格納部３７ｊと、投影画像格納部３７ｋと、ワーキングエリア３７ｌとがそれぞれ記憶領域として割り当てられている。
【０１０６】
パターン光有画像格納部３７ａは、パターン光撮影プログラム３６ｂの実行によって撮像されたパターン光有画像（パターン画像とも称する）を表すパターン光有画像データを格納する。パターン光無画像格納部３７ｂは、パターン光撮影プログラム３６ｂの実行によって撮像されたパターン光無画像を表すパターン光無画像データを格納する。
【０１０７】
輝度画像格納部３７ｃは、輝度画像生成プログラム３６ｃの実行によって生成された輝度画像を表すデータを格納する。コード境界座標格納部３７ｅは、コード境界抽出プログラム３６ｅの実行によって抽出された各コードの境界座標を表すデータを格納する。
【０１０８】
収差補正座標格納部３７ｇは、レンズ収差補正プログラム３６ｆの実行によって収差補正が行われたコードの境界座標を表すデータを格納する。３次元座標格納部３７ｈは、三角測量演算プログラム３６ｇの実行によって演算された実空間の３次元座標を表すデータを格納する。
【０１０９】
原稿姿勢演算結果格納部３７ｉは、原稿姿勢演算プログラム３６ｈの実行によって演算された原稿Ｐの３次元形状に関するパラメータを格納する。平面変換結果格納部３７ｊは、平面変換プログラム３６ｉの実行によって取得された平面変換結果を表すデータを格納する。投影画像格納部３７ｋは、パターン光設定プログラム３６ｊの実行により、投影部１３が被写体に投影する投影画像すなわちパターン光に関する情報が格納される。ワーキングエリア３７ｌは、ＣＰＵ３５がその動作のために一時的に使用するデータを格納する。
【０１１０】
尚、本実施形態においては、上述したプログラム、格納部について説明したが、もちろんこれらに限ることはない。
【０１１１】
［空間コード化法］
以下に、上述したように構成された３次元情報取得装置１において用いられる空間コード化法について図５を参照することにより説明する。図５（ａ）には、３次元座標系ＸＹＺが設定された実空間をＹ座標軸方向に見た図と、Ｘ座標軸方向に見た図と、純２進コードによる３種類のマスクＡ，ＢおよびＣのパターンとが示されている。これに対し、図５（ｂ）には、グレイコードによる３種類のマスクＡ，ＢおよびＣのパターンと、複数個の空間コードとが示されている。
【０１１２】
図５（ａ）に示すように、空間コード化法は、観察対象である被写体の像である観察画像と、その被写体に光（拡散光）を投影する投影光源（例えば、プロジェクタ）と、被写体を観測する観測器（例えば、カメラ）との間に三角測量の原理を適用することによって被写体の３次元形状を検出する手法の一種である。この空間コード化法においては、図５（ａ）に示すように、投影光源Ｌ（PROJECTOR）と観測器Ｏ（CAMERA）とが距離ｄだけ離して設置される。したがって、観測空間内の任意の点Ｐは、投影光の向きψと、観測器Ｏから見える向きθとが計測できれば、特定できる。この空間コード化法においては、さらに、被写体表面上の任意の位置を特定するため、観測空間が複数個の細長い扇状領域に分割されてコード化されている。
【０１１３】
被写体表面上の任意の位置のコードを観測画像から取得するために、複数種類のパターン光が時系列的に被写体に投影される。パターン光の切換えは、パターン光の種類と同数のマスクを用意し、マスクを機械的に交換する機械式として実施したり、電気光学効果を有する材料を用いてストライプ状の光シャッタ列を構成し、その光シャッタ列における各ストライプの光透過率を電子的に制御する電子式として実施することが可能である。もっとも、本実施形態においては、後者の電子式が採用され、具体的には、投影ＬＣＤ１９によって複数種類のマスクパターンが時系列的に再現すなわち表示される。
【０１１４】
図５（ａ）に示す例においては、投影光源Ｌと被写体（四角柱と円柱）との間にマスクが交換可能に設置される。この例においては、パターンが互いに異なる３種類のマスクＡ，ＢおよびＣが用意されており、よって、３種類のパターン光が時系列的に被写体に投影される。
【０１１５】
各マスクＡ，Ｂ，Ｃによって生成されたパターン光を被写体に投影すると、明部を境界として、８個の扇状領域のそれぞれが、「１」と「０」とのいずれかにコード化される。３枚のマスクＡ，Ｂ，Ｃを経た光をそれらの順に被写体に投影すると、各扇状領域には、３ビットから成るコードが割り当てられる。それら３ビットは、最初のマスクＡに対応する最上位ビットＭＳＢから、最後のマスクＣに対応する最下位ビットＬＳＢまで順に並んでいる。例えば、図５（ａ）に示す例においては、点Ｐが属する扇状領域は、図中の左方向から探索すると、マスクＡ，Ｂにおいては明部が１回も検出されていないのに対し、マスクＣにおいては明部が１回検出されているため、「００１（Ａ＝０、Ｂ＝０、Ｃ＝１）」としてコード化される。
【０１１６】
このように、各扇状領域には、投影光源Ｌからの向きψに相当するコードが割り当てられる。一方、各パターン光が投影された被写体の明暗パターンを各マスクごとに２値化してメモリの各ビットプレーンを構成すれば、各ビットプレーン画像の横方向の位置（アドレス）は、観測器Ｏからの向きθに相当する。また、３枚のマスクにそれぞれ対応する３枚のビットプレーンのメモリ内容を各ビット（各画素）ごとに注目すれば、各画素ごとに３ビットのコードが取得される。このコードから、各扇状領域の投影光源Ｌからの向きψが特定される。そして、距離ｄが既知である状況において、向きψおよびθが特定されれば、三角測量の原理により、被写体表面上の注目点の３次元座標が特定される。
【０１１７】
図５（ａ）には、マスクＡ，ＢおよびＣの如き複数のマスクを用いることにより、空間を、純２進コードを用いてコード化する例が示されているが、図５（ｂ）には、マスクＡ，ＢおよびＣの如き複数のマスクを用いることにより、隣接するコード間のハミング距離が常に１であるグレイコードを空間コードとして用いて空間をコード化する例が示されている。
【０１１８】
尚、本実施形態においては、前述の３次元形状検出処理において、純２進コードによる空間コード化法を採用しても、グレイコードによる空間コード化法を採用してもよい。
【０１１９】
［パターン光について］
ここで本実施形態における複数種類のパターン光について図１８を用いて説明する。
【０１２０】
本実施形態における複数種類のパターン光は、図１８（ａ）に示すように、領域を略二等分する位置にスリット部Ｓ（明部）があるパターン光である。また、複数種類のパターン光は、複数のパターン番号に対応するパターン光である。また、この略二等分する領域は、複数のパターン番号毎に異なり、対象物がある対象領域全域Ｑであったり、その全域Ｑが分割された分割領域Ｖ（Ｖ１からＶ３）であったりする。つまり、対象領域Ｑを分割する複数の対象領域境界部の少なくともいずれかが明部（スリット部Ｓ）となるとともに、その対象領域境界部を除く対象領域が暗部となる複数種類のパターン光が対象物に順次に投影されることとなる。
【０１２１】
具体的には、パターン番号ＰＮｍａｘ（最大値ＰＮｍａｘ）のパターン光は、全領域Ｑを略二等分する位置にスリット部Ｓがあるパターン光である。また、パターン番号ＰＮｍａｘ−１のパターン光は、パターン番号ＰＮｍａｘのパターン光によって分割された領域Ｖ１を略二等分する位置にスリット部Ｓがあるパターン光である。また、パターン番号ＰＮｍａｘ−２以下のパターン光も、同じように、パターン番号ＰＮｍａｘ及びパターン番号ＰＮｍａｘ−１などのパターン光によって分割された領域Ｖ２を略二等分する位置にスリット部Ｓがあるパターン光である。更にまた、パターン番号ＰＮｍａｘ−３以下のパターン光も、同じように、パターン番号ＰＮｍａｘ、パターン番号ＰＮｍａｘ−１及びパターン番号ＰＮｍａｘ−２などのパターン光によって分割された領域Ｖ３を略二等分する位置にスリット部Ｓがあるパターン光である。
【０１２２】
つまり、複数種類のパターン光には、対象領域（例えば、全領域や、パターン番号ＰＮｍａｘのパターン光によって分割された領域など）に含まれる第一の領域を分割する第一の対象領域境界部が明部となり、その第一の対象領域境界部を除く対象領域が暗部となる第一のパターン光や、その第一の対象領域境界部によって等分されて生成された複数の第二の領域（例えば、パターン番号ＰＮｍａｘのパターン光によって分割された領域Ｖ１や、パターン番号ＰＮｍａｘのパターン光及びパターン番号ＰＮｍａｘ−１のパターン光によって分割された領域Ｖ２など）のそれぞれを分割する複数の第二の対象領域境界部が明部となり、それら複数の第二の対象領域境界部を除く対象領域が暗部となる第二のパターン光などが含まれている。
【０１２３】
［パターン光生成テーブル］
また、上述したようなパターン光を生成する方法について図６及び図７を用いて説明する。図６は、投影部１３によって投影される複数種類のパターン光を生成するためのパターン光生成テーブルを示す説明図である。また、図７は、投影部１３によって投影されるパターン光を示す説明図である。
【０１２４】
パターン光生成テーブルは、複数種類のパターン光を生成するためのデータ群である。特に、このパターン光生成テーブルは、投影ＬＣＤ１９の表示制御を行うためのデータ群である。このパターン光生成テーブルには、パターン番号と、明画素位置とが対応付けられている。
【０１２５】
このパターン番号とは、複数種類のパターン光に対して付された番号であり、番号が大きいほど、分割する領域面積が大きくなる。尚、本実施形態においては、８種類のパターン光が投影されることとなるため、ＰＮｍａｘ＝７として“０”から“７”までのいずれかが用いられる。また、このパターン番号は、後述するパターン画像番号と対応付けられる。また、明画素位置とは、上述したスリット部の位置を示すデータである。特に、明画素位置とは、投影ＬＣＤ１９においてＬＥＤアレイ１７Ａからの発光を透過させる位置を示すデータである。尚、本実施形態においては、投影ＬＣＤ１９の解像度がＸＧＡ（１０２４画素×７６８画素）であり、Ｙ座標方向を幅方向としたスリット光が投影される。
【０１２６】
具体的には、パターン番号が“７”であるパターン光においては、Ｙ＝“５１１”に相当する位置のみがスリット光となるように、投影ＬＣＤ１９の制御が行われる。また、パターン番号が“６”であるパターン光においては、“２５５”、“７６７”に相当する位置のみがスリット光となるように、投影ＬＣＤ１９の制御が行われる。また、パターン番号が“５”であるパターン光においては、“１２７”、“３８３”、“６３９”、“８９５”に相当する位置のみがスリット光となるように、投影ＬＣＤ１９の制御が行われる。また、パターン番号が“４”から“０”であるパターン光においても同じように、投影ＬＣＤ１９の制御が行われる。
【０１２７】
このように、対象領域に含まれる第一の領域を分割する第一の対象領域境界部が明部となり、その第一の対象領域境界部を除く対象領域が暗部となる第一のパターン光と、その第一の対象領域境界部によって等分されて生成された複数の第二の領域のそれぞれを分割する複数の第二の対象領域境界部が明部となり、その複数の第二の対象領域境界部を除く対象領域が暗部となる第二のパターン光とが、投影部１３によって投影される複数種類のパターン光に含まれている。従って、対象領域に含まれる第一の領域を分割する複数のパターン光を規則的に効率よく生成することができる。
【０１２８】
尚、第一の領域とは、対象領域に含まれておればよく、もちろん、対象領域自体であってもよい。この場合においては、対象領域を略等分し、その略等分された領域を更に略等分することとなるため、複数のパターン光を効率よく生成することができる。一方、第一の領域とは、対象領域において略等分された領域であってもよい。この場合においては、略等分された領域を更に繰り返して略等分することとなり、このような工程を繰り返すことによって複数のパターン光が規則的に効率よく生成可能である。
【０１２９】
また、具体的な一例としては、パターン番号が“０”であるパターン光においては、図７（ａ）に示すように、１０２４画素を１２８で分割するためのパターン光が生成される。この場合においては、８画素おきにスリット部Ｓ（明部）となるように、投影ＬＣＤ１９の制御が行われる。従来においては、図７（ｂ）に示すように、８画素おきに明部Ｓ１と暗部Ｓ２とがストライプ状に交互に並べられるように、投影ＬＣＤ１９の制御が行われる。本実施形態においては、従来とは異なり、明部における輝度分布に基づいて、測定領域境界部の検出が行われるため、基準となる輝度などの設定による測定領域境界部の検出誤差を小さくすることなどができ、より正確な３次元形状情報などを取得することができる。また、従来と比べて、明部となる面積が狭くなるため、主にパターン光の回り込みによる測定領域境界部の検出誤差を小さくすることができ、より正確な３次元形状情報などを取得することができる。
【０１３０】
このように撮像されたパターン画像が参照され、測定領域境界部が探索されることとなる。測定領域境界部の探索方法について図８から図１０を用いて説明する。尚、図８は、撮像されるパターン画像の一例を示す説明図及び拡大図であり、図９及び図１０は、処理部１５によって測定領域境界部を探索する方法を示す説明図である。
【０１３１】
図８に示すように、スリットの幅方向をＹ軸、そのＹ軸に垂直な方向をＸ軸とすると、決定されたＸ軸において、Ｙ座標方向に、輝度分布が探索され、測定領域境界部Ｔが検出され、所定のコード番号に対応した複数の測定領域Ｕ（例えば、“０”から“２５５”までの２５６個の測定領域）に分割される。
【０１３２】
また、この測定領域の境界部Ｔを探索するために、図９（ａ）に示すように、探索範囲決定用テーブルが記憶されている。この探索範囲決定テーブルは、Ｙ座標方向に輝度分布を探索する範囲を決定するためのテーブルである。また、探索範囲決定テーブルには、パターン画像番号と、探索番号と、探索開始位置の探索番号と、探索終了位置の探索番号とが対応付けられて記憶されている。
【０１３３】
パターン画像番号とは、複数種類のパターン光のいずれかが投影された複数種類のパターン画像を示す番号であり、測定領域として分割される領域面積が大きいほど、大きな番号が付されている。尚、本実施形態においては、８種類のパターン画像が取得されるため、パターン画像番号は、“０”から“７”のいずれかとなる。また、パターン画像番号は、上述したパターン番号に対応する番号である。また、探索番号とは、各コードに対応する番号である。尚、本実施形態においては、“０”から“２５５”に分割される。更には、探索開始位置の探索番号と、探索終了位置の探索番号は、探索番号に対応する境界部の座標を探索する場合における探索開始の座標位置と、探索終了の座標位置とを示す。
【０１３４】
また、このような探索は、パターン画像番号が大きい順、つまり、分割される領域面積が大きい順に行われる。
【０１３５】
具体的には、図９（ａ）に示すように、パターン画像番号が最も大きい（例えば、“７”）パターン画像においては、探索番号として“１２７”が設定されている。また、その探索番号“１２７”に対する探索開始位置の探索番号として“０”が、探索終了位置の探索番号として“２５５”がそれぞれ設定されている。
【０１３６】
つまり、図９（ｂ）（１）に示すように、この探索番号“１２７”の座標位置の探索のために、探索番号が“０”である座標位置から、探索番号が“２５５”である座標位置まで、即ち、全ての領域が探索範囲として決定される。詳しい輝度分布の探索方法については、後述する。
【０１３７】
また、図９（ａ）に示すように、パターン画像番号が次に大きい（例えば、“６”）パターン画像においては、探索番号として“６３”、“１９１”が設定されている。また、探索番号“６３”に対する探索開始位置の探索番号として“０”、探索終了位置の探索番号として“１２７”がそれぞれ設定されている。また、探索番号“１９１”に対する探索開始位置の探索番号として“１２７”が、探索終了位置の探索番号として“２５５”がそれぞれ設定されている。
【０１３８】
つまり、図９（ｂ）（１）及び図９（ｂ）（２）に示すように、探索番号“６３”の座標位置の探索のために、探索番号が“０”である座標位置から、パターン画像番号が最も大きい（例えば、“７”）パターン画像において検出された探索番号“１２７”の座標位置までの領域が探索範囲として決定される。一方、探索番号“１９１”の座標位置の探索のために、パターン画像番号が最も大きい（例えば、“７”）パターン画像において検出された探索番号“１２７”の座標位置から、探索番号が“２５５”である座標位置までの領域が探索範囲として決定される。
【０１３９】
また、図９（ａ）に示すように、パターン画像番号が次に大きい（例えば、“５”）パターン画像においては、探索番号として“３１”、“９５”、“１５９”、“２２３”が設定されている。また、探索番号“３１”に対する探索開始位置の探索番号として“０”、探索終了位置の探索番号として“６３”がそれぞれ設定されている。また、探索番号“９５”に対する探索開始位置の探索番号として“６３”が、探索終了位置の探索番号として“１２７”がそれぞれ設定されている。また、探索番号“１５９”に対する探索開始位置の探索番号として“１２７”、探索終了位置の探索番号として“１９１”がそれぞれ設定されている。また、探索番号“２２３”に対する探索開始位置の探索番号として“１９１”が、探索終了位置の探索番号として“２５５”がそれぞれ設定されている。
【０１４０】
つまり、図９（ｂ）（１）から図９（ｂ）（３）に示すように、探索番号“３１”の座標位置の探索のために、探索番号が“０”である座標位置から、パターン画像番号が相対的に大きい（例えば、“６”）パターン画像において検出された探索番号“６３”の座標位置までの領域が探索範囲として決定される。また、探索番号“９５”の座標位置の探索のために、パターン画像番号が相対的に大きい（例えば、“６”）パターン画像において検出された探索番号“６３”の座標位置から、パターン画像番号が相対的に大きい（例えば、“７”）パターン画像において検出された探索番号“６３”の座標位置までの領域が探索範囲として決定される。探索番号“１５９”、“２２３”についても同じような処理が実行される。更には、全てのパターン画像に対応して同じような処理が実行される。
【０１４１】
このように、複数種類のパターン画像のうち、明部によって分割される領域面積が相対的に大きい順にパターン画像が探索され、測定領域境界部が順次検出される。そして、分割される領域が相対的に小さいパターン画像を探索する場合には、明部によって分割される領域面積が相対的に大きいパターン画像を探索する場合に検出された測定領域境界部を基準として、当該測定領域境界部によって分割された領域のそれぞれが探索され、新たな測定領域境界部が検出される。従って、全ての測定領域境界部を検出する場合に探索する領域を限定して測定領域境界部を検出するため、全ての測定領域境界部を検出する度に全領域を探索する必要がなく、探索効率を高め、制御負荷を軽減することができる。
【０１４２】
また、このように決定される探索範囲では、図１０（ａ）に示すように、所定のＸ座標（例えば、符号Ａで示すＸ座標）において、Ｙ座標方向に輝度分布の探索が行われる。この探索においては、測定領域の境界部に明部が検出可能である。この明部の位置は、パターン光におけるスリットの位置に対応しており、暗部と比較してある程度以上の輝度が検出される。そして、図１０（ｂ）に示すように、その明部における輝度分布の重心ｇが算出され、その重心ｇの位置が測定領域の境界部として検出される。
【０１４３】
具体的には、探索範囲内においてＹ座標方向に輝度が探索され、その探索範囲内における最高輝度の座標（例えば、輝度がＬ（ｙ）を示す座標Ｃ）が検出される。また、検出された最高輝度の座標からＹ座標方向に前後２ｍ＋１画素の輝度（例えば、Ｌ（ｙ―３）からＬ（ｙ＋３）など）が抽出され、明部における輝度分布の重心ｇが算出される。これによって、重心ｇが測定領域の境界部として検出される。
【０１４４】
このような方法を用いることによって、図１９（ａ）に示すように、輝度分布の重心ｇを算出した結果に基づいて、測定領域境界部が検出される。このため、隣り合う一方の測定領域が明部であり、他方の測定領域が暗部である従来のグレーコード法に基づいたパターン光（図１８（ｂ）及び図１９（ｂ）参照）と比べて、図１８（ａ）に示すように、図１８(ｂ)のパターン光の明暗境界部に対応した対象領域境界部が明部となる複数種類のパターン光を投影することにより、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元形状情報などを取得することができる。また、輝度の最も大きい最高輝度と、明部の輝度の重心ｇとの両者に基づいて測定領域境界部を検出することとなり、より一層、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元情報を取得することができる。
【０１４５】
尚、実際に上述したようなテーブルが記憶されていなくても、これらのデータ群を算出可能なプログラムなどが記憶されていてもよい。
【０１４６】
［メイン処理］
ここで、図１１を参照することにより、カメラ制御プログラム３６ａを説明する。このカメラ制御プログラム３６ａが前記コンピュータによって実行されることにより、前述のメイン処理が実行される。
【０１４７】
このメイン処理においては、まず、ステップＳ６０１（以下、単に「Ｓ６０１」で表す。他のステップについても同じとする。）において、バッテリ２６を含む電源がＯＮされる。次に、Ｓ６０２において、処理部１５、周辺インターフェイス等が初期化される。
【０１４８】
続いて、Ｓ６０３において、モード切替スイッチ９の操作状態を判別するためにキースキャンが行われ、その後、Ｓ６０４において、モード切替スイッチ９の操作によってデジカメモードが選択されたか否かが判定される。今回は、デジカメモードが選択されたと仮定すれば、判定がＹｅｓとなり、Ｓ６０５において、後述のデジカメ処理（図１２参照）が実行される。
【０１４９】
これに対し、今回は、モード切替スイッチ９の操作によってデジカメモードが選択されなかったと仮定すれば、Ｓ６０４の判定がＮｏとなり、Ｓ６０６において、モード切替スイッチ９の操作によってｗｅｂｃａｍモードが選択されたか否かが判定される。今回は、ｗｅｂｃａｍモードが選択されたと仮定すれば、判定がＹｅｓとなり、Ｓ６０７において、後述のｗｅｂｃａｍ処理（図１３参照）が実行される。
【０１５０】
これに対し、今回は、モード切替スイッチ９の操作によってｗｅｂｃａｍモードが選択されなかったと仮定すれば、Ｓ６０６の判定がＮｏとなり、Ｓ６０８において、モード切替スイッチ９の操作によって立体画像モードが選択されたか否かが判定される。今回は、立体画像モードが選択されたと仮定すれば、判定がＹｅｓとなり、Ｓ６０９において、後述の立体画像処理（図１５参照）が実行される。
【０１５１】
これに対し、今回は、モード切替スイッチ９の操作によって立体画像モードが選択されなかったと仮定すれば、Ｓ６０８の判定がＮｏとなり、Ｓ６１０において、モード切替スイッチ９の操作によって平面化画像モードが選択されたか否かが判定される。今回は、平面化画像モードが選択されたと仮定すれば、判定がＹｅｓとなり、Ｓ６１１において、平面化画像処理が実行される。
【０１５２】
この平面化画像処理によれば、例えば、原稿Ｐが実際には図１に示すように湾曲している状態で撮像されたにもかかわらず、あたかも湾曲していない状態で同じ原稿Ｐが撮像されたかのように、実際に撮像された画像が平面化される。さらに、この平面化画像処理によれば、正面視において長方形を成す原稿Ｐが実際には斜めから撮像されたにもかかわらず、あたかも正面から同じ原稿Ｐが撮像されたかのように、実際に撮像された画像が平面化される。この平面化画像処理は、本発明を理解するために不可欠な事項ではなく、しかも、前記特願２００４−１０５４２６号明細書に詳細に開示されているため、それを参照することによって引用することにより、本明細書においては詳細な説明を省略する。
【０１５３】
これに対し、今回は、モード切替スイッチ９の操作によって平面化画像モードが選択されなかったと仮定すれば、Ｓ６１０の判定がＮｏとなり、Ｓ６１２において、モード切替スイッチ９の操作によってオフモードが選択されたか否かが判定される。今回は、モード切替スイッチ９の操作によってオフモードが選択されたと仮定すれば、判定がＹｅｓとなり、直ちに今回のメイン処理が終了するが、今回は、モード切替スイッチ９の操作によってオフモードが選択されなかったと仮定すれば、判定がＹｅｓとなり、Ｓ６０３に戻る。
【０１５４】
［デジカメ処理］
図１２には、図１１におけるＳ６０５がデジカメ処理ルーチンとしてフローチャートで概念的に表されている。このデジカメ処理ルーチンの実行により、撮像部１４によって撮像された画像を取得するデジカメ処理が実行される。
【０１５５】
このデジカメ処理においては、まず、Ｓ７０１において、ＣＣＤ２２に高解像度設定信号が送信される。これにより、高品質の撮像画像をユーザに提供することができる。
【０１５６】
次に、Ｓ７０２において、ファインダ画像、すなわち、ファインダ６を通して見える範囲の画像と同じ画像がモニタＬＣＤ１０に表示される。よって、ユーザは、ファインダ６をのぞき込むことなく、モニタＬＣＤ１０に表示された画像を見ることにより、実際の撮像前に、撮像画像（撮像範囲）を確認することができる。
【０１５７】
続いて、Ｓ７０３ａにおいて、レリーズボタン８の操作状態がスキャンされ、その後、Ｓ７０３ｂにおいて、そのスキャン結果に基づき、レリーズボタン８が半押し状態にあるか否かが判定される。半押し状態にあれば、判定がＹｅｓとなり、Ｓ７０３ｃにおいて、オートフォーカス（ＡＦ）および自動露出（ＡＥ）機能が起動し、それにより、ピント、絞りおよびシャッタスピードが調節される。Ｓ７０３ｂにおいては、レリーズボタン８が半押し状態に移行しているか否かが判定され、移行していなければ、このＳ７０３ｂの判定がＮｏとなって後述するＳ７１０に移行する。
【０１５８】
Ｓ７０３ｃの実行後、Ｓ７０３ｄにおいて、再度、レリーズボタン８の操作状態がスキャンされ、その後、Ｓ７０３ｅにおいて、そのスキャン結果に基づき、レリーズボタン８が全押し状態にあるか否かが判定される。このＳ７０３ｅにおいては、レリーズボタン８が全押し状態に移行しているか否かが判定され、移行していなければ、このＳ７０３ｅの判定がＮｏとなってＳ７０３ａに戻る。
【０１５９】
レリーズボタン８が半押し状態から全押し状態に移行すれば、Ｓ７０３ｅの判定がＹｅｓとなり、Ｓ７０４において、フラッシュモードが選択されているか否かが判定される。フラッシュモードが選択されていれば、判定がＹｅｓとなり、Ｓ７０５において、フラッシュ７が発光させられるが、フラッシュモードが選択されていなければ、Ｓ７０４の判定がＮｏとなり、Ｓ７０５がスキップされる。
【０１６０】
いずれにしても、その後、Ｓ７０６において、被写体が撮像される。続いて、Ｓ７０７において、被写体が撮像された撮像画像がＣＣＤ２２からキャッシュメモリ２８に転送されて記憶される。その後、Ｓ７０８において、キャッシュメモリ２８に記憶された撮像画像がモニタＬＣＤ１０に表示される。本実施形態においては、撮像画像がキャッシュメモリ２８に転送されるため、メインメモリに転送される場合に比較して、撮像画像を高速にモニタＬＣＤ１０に表示させることができる。続いて、Ｓ７０９において、その撮像画像が外部メモリ２７に格納される。
【０１６１】
その後、Ｓ７１０において、モード切替スイッチ９の操作状態に変化が無いか否かが判定される。変化が無ければ、判定がＹｅｓとなり、Ｓ７０２に戻るが、変化が有れば、Ｓ７１０の判定がＮｏとなり、今回のデジカメ処理が終了する。
【０１６２】
［ｗｅｂｃａｍ処理］
図１３には、図１１におけるＳ６０７がｗｅｂｃａｍ処理ルーチンとしてフローチャートで概念的に表されている。このｗｅｂｃａｍ処理ルーチンの実行により、撮像部１４によって撮像された撮像画像（静止画および動画を含む。）を外部ネットワークに送信するｗｅｂｃａｍ処理が実行される。本実施形態においては、撮像画像として動画が、図示しない外部ネットワーク（例えば、インターネット）に送信される場合が想定されている。
【０１６３】
このｗｅｂｃａｍ処理においては、まず、Ｓ８０１において、ＣＣＤ２２に低解像度設定信号が送信される。次に、Ｓ８０２において、オートフォーカスおよび自動露出の機能が起動し、それにより、ピント、絞りおよびシャッタスピードが調節される。続いて、Ｓ８０３において、被写体が撮像される。
【０１６４】
その後、Ｓ８０４において、撮像された撮像画像がＣＣＤ２２からキャッシュメモリ２８に転送され、続いて、Ｓ８０５において、その撮像画像がモニタＬＣＤ１０に表示される。
【０１６５】
その後、Ｓ８０６において、その撮像画像が投影画像格納部３７ｋに格納される。続いて、Ｓ８０７において、後述の投影処理（図１４参照）が実行され、それにより、投影画像格納部３７ｋに格納されている画像が投影面に投影される。
【０１６６】
その後、Ｓ８０８において、キャッシュメモリ２８に転送された撮像画像が図示しないＲＦインターフェイスを介して前記外部ネットワークに送信される。
【０１６７】
続いて、Ｓ８０９において、モード切替スイッチ９の操作状態に変化が無いか否かが判定される。変化が無ければ、判定がＹｅｓとなり、Ｓ８０２に戻るが、変化が有れば、Ｓ８０９の判定がＮｏとなり、今回のｗｅｂｃａｍ処理が終了する。
【０１６８】
［投影処理］
図１４には、図１３におけるＳ８０６が投影ルーチンとしてフローチャートで概念的に表されている。この投影ルーチンの実行により、投影画像格納部３７ｋに格納されている画像を投影部１３から投影面に投影する投影処理が実行される。
【０１６９】
この投影処理においては、まず、Ｓ９０１において、投影画像格納部３７ｋに画像が格納されているか否かが判定される。格納されていない場合には、判定がＮｏとなり、直ちに今回の投影処理が終了する。これに対し、格納されている場合には、判定がＹｅｓとなり、Ｓ９０２において、投影画像格納部３７ｋに格納されている画像が投影ＬＣＤドライバ３０に転送される。続いて、Ｓ９０３において、その格納されている画像に応じた画像信号が投影ＬＣＤドライバ３０から投影ＬＣＤ１９に送出され、それにより、その投影ＬＣＤ１９に画像が表示される。
【０１７０】
その後、Ｓ９０４において、光源ドライバ２９が駆動され、続いて、Ｓ９０５において、その光源ドライバ２９からの電気信号によってＬＥＤアレイ１７Ａが発光する。以上で、今回の投影処理が終了する。
【０１７１】
ＬＥＤアレイ１７Ａから発光した光は、光源レンズ１８を経て投影ＬＣＤ１９に到達する。その投影ＬＣＤ１９においては、投影ＬＣＤドライバ３０から送信された画像信号に応じた空間変調が施され、その結果、投影ＬＣＤ１９への入射光が画像信号光に変換されて出力される。その投影ＬＣＤ１９から出力される画像信号光は、投影光学系２０を経て投影面に投影画像として投影される。
【０１７２】
［立体画像処理］
図１５には、図１１におけるＳ６０９が立体画像処理ルーチンとしてフローチャートで概念的に表されている。この立体画像処理ルーチンの実行により、被写体の３次元形状を検出し、その立体画像としての３次元形状検出結果画像を取得し、表示し、投影する立体画像処理が実行される。
【０１７３】
この立体画像処理においては、まず、Ｓ１００１において、ＣＣＤ２２に高解像度設定信号が送信される。次に、Ｓ１００２ないしＳ１００３ｈが、図１２におけるＳ７０２ないしＳ７０６と同様にして実行される。
【０１７４】
具体的には、Ｓ１００２において、モニタＬＣＤ１０にファインダ画像が表示される。続いて、Ｓ１００３ａにおいて、レリーズボタン８の操作状態がスキャンされ、その後、Ｓ１００３ｂにおいて、そのスキャン結果に基づき、レリーズボタン８が半押し状態にあるか否かが判定される。半押し状態にあれば、判定がＹｅｓとなり、Ｓ１００３ｃにおいて、オートフォーカス（ＡＦ）および自動露出（ＡＥ）機能が起動する。
【０１７５】
Ｓ１００３ｃの実行後、Ｓ１００３ｄにおいて、再度、レリーズボタン８の操作状態がスキャンされ、その後、Ｓ１００３ｅにおいて、そのスキャン結果に基づき、レリーズボタン８が全押し状態にあるか否かが判定される。
【０１７６】
レリーズボタン８が半押し状態から全押し状態に移行すれば、Ｓ１００３ｅの判定がＹｅｓとなり、Ｓ１００３ｆにおいて、フラッシュモードが選択されているか否かが判定される。フラッシュモードが選択されていれば、判定がＹｅｓとなり、Ｓ１００３ｇにおいて、フラッシュ７が発光させられるが、フラッシュモードが選択されていなければ、Ｓ１００３ｆの判定がＮｏとなり、Ｓ１００３ｇがスキップされる。いずれにしても、その後、Ｓ１００３ｈにおいて、被写体が撮像される。
【０１７７】
続いて、Ｓ１００６において、後述の３次元形状検出処理（図１６参照）が実行され、それにより、被写体の３次元形状が検出される。
【０１７８】
その後、Ｓ１００７において、その３次元形状検出処理による３次元形状検出結果が外部メモリ２７に格納され、続いて、Ｓ１００８において、その３次元形状検出結果が３次元コンピュータグラフィック画像としてモニタＬＣＤ１０に表示される。ここに、３次元形状検出結果とは、後述の空間コード画像において検出される複数の空間コード境界画像を３次元座標に変換した結果取得される頂点座標の集合体を意味する。
【０１７９】
その後、Ｓ１００９において、その３次元形状検出結果としての複数個の計測頂点を通過するポリゴン図形が想定され、その想定されたポリゴン図形のサーフェスを表現する立体画像（３次元のコンピュータグラフィック画像）としての３次元形状検出結果画像が投影画像格納部３７ｋに格納される。
【０１８０】
続いて、Ｓ１０１０において、図１４におけるＳ８０６の投影処理と同様な投影処理が実行される。
【０１８１】
その後、Ｓ１０１１において、モード切替スイッチ９の操作状態に変化が無いか否かが判定される。変化が無ければ、判定がＹｅｓとなり、Ｓ１００２に戻るが、変化が有れば、Ｓ１０１１の判定がＮｏとなり、今回の立体画像処理が終了する。
【０１８２】
［３次元形状検出処理］
図１６（ａ）には、図１５におけるＳ１００６が３次元形状検出処理ルーチンとしてフローチャートで概念的に表されている。
【０１８３】
この３次元形状検出処理ルーチンにおいては、まず、Ｓ１２１０において、Ｓ１２１０において、後述の撮像処理（図１６（ｂ）参照）が実行される。この撮像処理が実行されれば、例えば、図１６（ｂ）に示す複数枚のグレイコードのマスクパターンを利用して投影部１３からスリット部を有する複数種類のパターン光（図１参照）が時系列的に被写体に投影される。さらに、複数種類のパターン光が投影されている被写体をそれぞれ撮像した複数枚のパターン光有画像と、パターン光が投影されていない同じ被写体を撮像した１枚のパターン光無画像とが取得される。
【０１８４】
撮像処理が終了すると、Ｓ１２２０において、後述の３次元計測処理（図１６（ｃ）参照）が実行される。この３次元計測処理が実行されると、上述の撮像処理によって取得された複数枚のパターン光有画像と１枚のパターン光無画像とが利用されて、実際に被写体の３次元形状が計測される。この３次元計測処理が終了すると、今回の３次元形状検出処理が終了する。
【０１８５】
［撮像処理］
図１６（ｂ）には、図１６（ａ）におけるＳ１２１０が撮像処理サブルーチンとしてフローチャートで概念的に表されている。
【０１８６】
この撮像処理サブルーチンにおいては、まず、Ｓ１２１１において、パターン光撮影プログラム３６ｂの実行により、投影部１３からパターン光を被写体に投影することなく、撮像部１４によって被写体を撮像することにより、１枚のパターン光無画像が取得される。その取得されたパターン光無画像はパターン光無画像格納部３７ｂに格納される。
【０１８７】
次に、Ｓ１２１２において、パターン光を形成するために使用されるマスクパターンの番号を表すパターン番号ＰＮが０に初期化される。続いて、Ｓ１２１３において、そのパターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいか否かが判定される。その最大値ＰＮｍａｘは、使用されるマスクパターンの合計数に応じて決定される。例えば、８種類のマスクパターンが使用される場合には、最大値ＰＮｍａｘが８に設定される。
【０１８８】
今回は、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいと仮定すれば、Ｓ１２１３の判定がＹｅｓとなり、その後、Ｓ１２１４において、使用される複数種類のマスクパターンのうち、パターン番号ＰＮの現在値と等しい番号が付されたＰＮ番目のマスクパターンが投影ＬＣＤ１９に表示される。このＳ１２１４においては、さらに、そのＰＮ番目のマスクパターンによって形成されるＰＮ番目のパターン光が被写体に投影される。続いて、Ｓ１２１５において、そのＰＮ番目のパターン光が投影されている被写体が撮像部１４によって撮像される。
【０１８９】
その撮像により、ＰＮ番目のパターン光が投影されている被写体を撮像したＰＮ番目のパターン光有画像が取得される。その取得されたパターン光有画像は、対応するパターン番号ＰＮに関連付けてパターン光有画像格納部３７ａに格納される。
【０１９０】
その撮像が終了すると、Ｓ１２１６において、ＰＮ番目のパターン光の投影が終了し、続いて、Ｓ１２１７において、次のパターン光を投影すべく、パターン番号ＰＮが１だけインクリメントされ、その後、Ｓ１２１３に戻る。
【０１９１】
Ｓ１２１３ないしＳ１２１７の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さくはない値になると、Ｓ１２１３の判定がＮｏとなり、今回の撮像処理が終了する。したがって、一回の撮像処理により、１枚のパターン光無画像と、最大値ＰＮｍａｘと同数枚のパターン光有画像とが取得されることになる。
【０１９２】
［３次元計測処理］
図１６（ｃ）には、図１６（ａ）におけるＳ１２２０が３次元計測処理サブルーチンとしてフローチャートで概念的に表されている。
【０１９３】
この３次元計測処理サブルーチンにおいては、まず、Ｓ１２２１において、輝度画像生成プログラム３６ｃの実行により、輝度画像が生成される。このＳ１２２１においては、輝度値が、ＹＣｂＣｒ空間におけるＹ値として定義されており、各画素のＲＧＢ値より、Ｙ＝０．２９８９・Ｒ＋０．５８６６・Ｇ＋０．１１４５・Ｂなる式を用いて計算される。各画素についてＹ値を求めることにより、複数枚のパターン光有画像と１枚のパターン光無画像とに関する複数枚の輝度画像が生成される。それら生成された輝度画像は、パターン番号ＰＮに関連付けて輝度画像格納部３７ｃに格納される。ただし、輝度値の算出に用いられる式は、上記式に限定されるものではなく、他の式に適宜変更することが可能である。
【０１９４】
次に、Ｓ１２２２において、スリット光座標検出処理が実行される。この処理において、輝度画像格納部３７ｃに格納された輝度画像（複数種類のパターン画像を含む）において、スリット部（明部）の輝度分布に基づいて、測定領域の境界部となる座標（コード境界座標値）が検出され、コード境界座標格納部３７ｅに格納される。具体的には、図１７を用いて後述する。
【０１９５】
続いて、Ｓ１２２３において、レンズ収差補正プログラム３６ｆの実行により、レンズ収差補正処理が実施される。このレンズ収差補正処理は、撮像光学系２１に入射した光束の実際の結像位置であってその撮像光学系２１の収差の影響を受けたものを、その撮像光学系２１が理想レンズであったならば結像されるはずである理想結像位置に近づくように補正する処理である。
【０１９６】
このレンズ収差補正処理により、Ｓ１２２２において検出されるコード境界座標値が、撮像光学系２１の歪みなどに起因した誤差が除去されるように補正される。そのようにして補正されたコード境界座標は収差補正座標格納部３７ｇに格納される。
【０１９７】
その後、Ｓ１２２４において、三角測量演算プログラム３６ｇの実行により、三角測量の原理による実空間変換処理が実施される。この実空間変換処理が実施されれば、三角測量の原理により、前述の、ＣＣＤ座標系ｃｃｄｘ−ｃｃｄｙ上のコード境界座標値であって収差補正が施されたものが、実空間に設定された３次元座標系である実空間座標系Ｘ−Ｙ−Ｚ上の３次元座標値に変換され、その結果、３次元形状検出結果としての３次元座標値が取得される。その取得された３次元座標値は３次元座標格納部３７ｈに格納される。
【０１９８】
これらレンズ収差補正処理や、三角測量の原理による実空間変換処理は、本発明を理解するために不可欠な事項ではなく、しかも、本出願人の特願２００４−１０５４２６号明細書、特願２００４−２８５７３６号明細書に詳細に開示されているため、それを参照することによって引用することにより、本明細書においては詳細な説明を省略する。
【０１９９】
［スリット光座標検出処理］
図１７には、図１６（ｃ）におけるＳ１２２２がスリット光座標検出処理サブルーチンとしてフローチャートで概念的に表されている。
【０２００】
このスリット光座標検出処理においては、まず、Ｓ２００１において、初期化が行われる。本処理の具体的な一例としては、以降の処理において実行される変数などに初期値がセットされる。
【０２０１】
続いて、Ｓ２００２において、探索パターン画像決定処理が行われる。この処理において、探索するパターン画像が決定される。具体的には、最初に、測定領域として分割される面積が最も大きいパターン画像（例えば、パターン画像番号が“７”）が探索パターン画像として決定される。また、その後に実行される場合には、測定領域として分割される面積が次に大きいパターン画像（例えば、パターン画像番号が“６”など）が探索パターン画像として決定されることとなる。尚、その後に実行される場合においては、測定領域として分割される面積が大きい順に（例えば、パターン画像番号が“５”、“４”、“３”、“２”、“１”、“０”の順など）パターン画像が探索パターン画像として決定されることとなる。つまり、本実施形態において、このような処理を実行する処理部１５（コンピュータ）は、複数種類のパターン画像のうち、明部によって分割される領域面積が相対的に大きい順にパターン画像を探索する境界部検出部の一例に相当する。
【０２０２】
そして、Ｓ２００３において、探索コード数決定処理が行われる。続いて、Ｓ２００４において、探索コード番号決定処理が行われる。これらの処理において、Ｓ２００２において決定されたパターン画像に対応する探索コード数、探索コード数に対応する探索コード番号が決定される。具体的には、測定領域として分割される面積が最も大きいパターン画像（例えば、パターン画像番号が“７”など）が探索される場合には、探索するコードが１つと決定され、そのコード番号が、“１２７”として決定される。そして、その後に実行される場合には、測定領域として分割される面積が次に大きいパターン画像（例えば、パターン画像番号が“６”など）が探索される場合には、探索するコード数が、２つと決定され、それらコード番号が、“６３”、“１９１”として決定される。もちろん、その後に実行される場合には、測定領域として分割される面積が大きい順に（例えば、パターン画像番号が“５”、“４”、“３”、“２”、“１”、“０”の順など）対応して、探索コード数、探索コード番号が決定される。
【０２０３】
次に、Ｓ２００５において、探索するＸ座標が決定される。Ｓ２００２において決定された探索パターン画像におけるＸ座標が決定される。具体的には、最初に、初期座標がＸ座標として決定され、その後においては、順次、座標がインクリメントするようにＸ座標が決定される。また、Ｓ２００２において決定される探索パターン画像が変更された場合には、同じように、再度、初期の座標がＸ座標として決定される。
【０２０４】
そして、Ｓ２００６において、Ｙ座標方向探索範囲決定処理が行われる。Ｓ２００５で決定されたＸ座標において、Ｙ座標方向に探索する範囲が決定される。
【０２０５】
具体的には、パターン画像番号が“７”であるパターン画像の探索が行われている場合には、Ｙ座標方向探索範囲として全範囲（例えば、“０”から“２５５”までなど）が決定される。
【０２０６】
そして、その後において、パターン画像番号が“６”以下であるパターン画像の探索が行われている場合には、そのパターン画像番号より大きい番号のパターン画像（例えば、パターン画像番号“７”のパターン画像）の探索の結果が参照され、Ｓ２００５において決定され、今現在探索するＸ座標に対応する境界部の座標が読み出され、その座標を基準として、Ｙ座標方向探索範囲が決定される。
【０２０７】
例えば、パターン画像番号が“６”であるパターン画像の探索が行われている場合には、パターン画像番号が“７”であるパターン画像の探索によって検出され、今現在のＸ座標に対応する境界部を基準として、その境界部によって分割された領域のそれぞれが探索される。また、例えば、パターン画像番号が“５”であるパターン画像の探索が行われている場合には、パターン画像番号が“６”及び“７”であるパターン画像の探索によって検出され、今現在のＸ座標に対応する境界部を基準として、その境界部によって分割された領域のそれぞれが探索される。つまり、本実施形態において、このような処理を実行する処理部１５は、分割される領域面積が相対的に小さいパターン画像（例えば、パターン画像番号が“５”など）を探索する場合には、明部によって分割される領域面積が相対的に大きいパターン画像（例えば、パターン画像番号が“７”、“６”など）を探索する場合に検出された測定領域境界部を基準として、当該測定領域境界部によって分割された領域のそれぞれを探索する境界部検出部の一例に相当する。
【０２０８】
続いて、Ｓ２００７において、Ｙ座標方向探索範囲内で最高輝度画素の座標が探索される。Ｓ２００６において決定されたＹ座標方向探索範囲内における輝度が画素毎に探索され、その中で最も輝度が高い最高輝度画素の座標が抽出される。つまり、本実施形態において、このような処理を実行する処理部１５（コンピュータ）は、複数種類のパターン画像における明部近傍の輝度分布のうち最高輝度を検出する最高輝度検出部の一例に相当する。
【０２０９】
続いて、Ｓ２００８において、最高輝度画素の座標から前後２ｍ＋１画素から重心が算出される。Ｓ２００７において検出された最高輝度画素の座標から、Ｙ座標方向に前後２ｍ＋１画素分（もちろん、最高輝度画素も含む）の輝度が抽出される。そして、それらの輝度に基づいて、輝度分布の重心が算出される。そして、Ｓ２００９において、重心算出結果がコード境界座標格納部３７ｅに格納される。
【０２１０】
つまり、本実施形態において、このような処理を実行する処理部１５（コンピュータ）は、最高輝度の検出結果に基づいて、輝度を抽出するための輝度抽出範囲を決定する輝度抽出範囲決定部の一例に相当する。また、本実施形態において、このような処理を実行する処理部１５（コンピュータ）は、決定された輝度抽出範囲における輝度を抽出する輝度抽出部の一例に相当する。また、本実施形態において、このような処理を実行する処理部１５（コンピュータ）は、抽出された輝度に基づいて、複数種類のパターン画像における明部近傍の輝度分布の重心を算出する輝度重心算出部の一例である。言い換えると、本実施形態において、このような処理を実行する処理部１５（コンピュータ）は、複数種類のパターン画像における明部近傍の輝度分布の重心を算出する輝度重心算出部の一例である。また、本実施形態において、このような処理を実行する処理部１５（コンピュータ）は、算出された輝度の重心に基づいて測定領域境界部を検出する境界部検出部の一例に相当する。また、言い換えると、本実施形態において、このような処理を実行する処理部１５（コンピュータ）は、複数種類のパターン画像における明部近傍の輝度分布に基づいて、各測定領域の測定領域境界部を検出する機能を有する。
【０２１１】
このように、対象領域を分割する複数の対象領域境界部の少なくともいずれかが明部となるとともに、その対象領域境界部を除く対象領域が暗部となる複数種類のパターン光を対象物に順次に投影する。そして、複数種類のパターン光が順次に投影された対象物がそれぞれ撮像されることによって取得される複数種類のパターン画像における明部近傍の輝度分布に基づいて、各測定領域の測定領域境界部を検出し、対象物を各測定領域に分割し、対象物の３次元情報を取得する。従って、複数種類のパターン光を用いて対象物を各測定領域に分割し、対象物の３次元情報を取得する方法（所謂、空間コード化法）において、隣り合う一方の測定領域が明部であり、他方の測定領域が暗部である従来のパターン光と比べて、対象領域境界部が明部となる複数種類のパターン光を投影することにより、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元形状情報などを取得することができる。
【０２１２】
また、算出された輝度の重心に基づいて測定領域境界部を検出するので、明部における輝度の分布に応じて測定領域境界部を検出することができ、より一層、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元情報を取得することができる。
【０２１３】
更には、明部における最高輝度の検出結果に基づいて、輝度を抽出するための輝度抽出範囲を決定し、その輝度抽出範囲における輝度を抽出する。そして、抽出された輝度に基づいて、複数種類のパターン画像における明部近傍の輝度分布の重心を算出する。従って、輝度の最も大きい最高輝度と、明部の輝度の重心との両者に基づいて測定領域境界部を検出することとなり、より一層、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元情報を取得することができる。
【０２１４】
そして、Ｓ２０１０において、Ｓ２００２において決定されたパターン画像における全てのＸ座標の探索が終了であるか否かが判定される。ここでは、Ｓ２００２において決定されたパターン画像における全てのＸ座標に対する重心算出結果が決定されたか否かが判定される。決定されたパターン画像における探索が終了していれば、判定がＹｅｓとなり、Ｓ２０１１に進み、探索が終了していないならば、判定がＮｏとなり、Ｓ２００５に進む。
【０２１５】
そして、Ｓ２０１１において、全てのパターン画像における探索が終了であるか否かが判定される。ここでは、全てのパターン画像において探索が行われ、全てのコードに対応する境界部の座標が取得されたことによって、全てのパターン画像における探索が終了であるか否かが判定される。探索が終了していれば、判定がＹｅｓとなり、今回のスリット光座標検出処理が終了し、探索が終了していないならば、判定がＮｏとなり、Ｓ２００２に進む。
【０２１６】
このように、上述したようにＳ２００２からＳ２０１１が繰り返し実行される。特に、Ｓ２００６が繰り返し実行されることにより、複数種類のパターン画像のうち、明部によって分割される領域面積が相対的に大きい順にパターン画像を探索し、測定領域境界部を順次検出するとともに、分割される領域が相対的に小さいパターン画像を探索する場合には、明部によって分割される領域面積が相対的に大きいパターン画像を探索する場合に検出された測定領域境界部を基準として、当該測定領域境界部によって分割された領域のそれぞれを探索し、新たな測定領域境界部を検出することとなる。つまり、本実施形態において、このような処理を実行する処理部１５（コンピュータ）は、境界部検出部の一例に相当する。
【０２１７】
このように、明部によって分割される領域面積が相対的に小さいパターン画像を探索する場合には、明部によって分割される領域面積が相対的に大きいパターン画像を探索する場合に検出された測定領域境界部を基準として、その測定領域境界部によって分割された領域のそれぞれを探索し、新たな測定領域境界部を検出するので、全ての測定領域境界部を検出する場合に探索する領域を限定して測定領域境界部を検出するため、全ての測定領域境界部を検出する度に全領域を探索する必要がなく、探索効率を高め、制御負荷を軽減することができる。
【０２１８】
［その他の実施形態］
尚、上述した実施形態においては、撮像したパターン画像における画素毎に、輝度を抽出し、その輝度分布の重心を算出したが、これに限らず、例えば、輝度分布の重心を台形近似により算出するようにしてもよい。これにより、従来の技術と比べて、より一層、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元情報を取得することができる。
【０２１９】
また、上述した実施形態においては、撮像したパターン画像における最高輝度を探索し、その最高輝度から輝度抽出範囲を決定し、その範囲内における輝度を抽出し、輝度分布の重心を算出したが、これに限らず、例えば、予め設定されている輝度抽出範囲内における輝度を抽出し、輝度分布の重心を求めても問題ない。
【０２２０】
更には、上述した実施形態においては、輝度分布の重心に基づいて、測定領域境界部を検出したが、これに限らず、例えば、輝度分布のうち最高輝度の検出結果に基づいて、測定領域境界部として検出してもよい。これにより、従来の技術と比べて、輝度の大きさに応じて測定領域境界部を検出することができ、相対的な制御負荷を軽減することができるとともに、より一層、測定領域境界部の検出誤差を小さくすることができ、より正確な３次元情報を取得することができる。
【０２２１】
また、対象物の表面の一部が黒色などで検出すべき境界が部分的に見つからなかった場合においては、そのパターン画像に対して更に領域面積が相対的に大きいパターン画像によって得られた境界を利用して次の境界を分割領域にて２点発見させるように構成してもよい。このような構成により、境界の検出ミスに対して最良な境界の推定を行うことができる。
【０２２２】
更に、対象領域境界部の明部の幅は、重心が求まる幅であればどのような幅でもよく、輝線ではなく一定の幅を持たせてもよいし、パターン番号によって幅を変更するようにしてもよい。
【０２２３】
また、上述した各種の工程（処理、ステップ）が含まれるパターン光生成方法、３次元情報取得方法や、各種の工程をコンピュータに実行させるためのプログラム、このような工程をコンピュータに実行させるためのプログラムが記憶された記録媒体などにも上述したような実施形態を適用可能である。このようなプログラムは、上述した実施形態における各種の手段としてコンピュータを機能させるためのプログラムともいえる。以下に具体的な工程の一例について説明する。尚、各種の工程については、文頭に符号を用いて説明する。また、この文頭の符号は、投影に関する工程については符号Ａと数字との組み合わせ、撮像に関する工程については符号Ｂと数字との組み合わせ、その他の処理に関する工程については符号Ｃと数字との組み合わせで示されている。
【０２２４】
（Ａ１）  対象領域における対象物に複数種類のパターン光を順次に投影する投影工程。
【０２２５】
（Ｂ１）  投影工程において複数種類のパターン光が順次に投影された対象領域における対象物をそれぞれ撮像する撮像工程。
【０２２６】
（Ｃ１）  撮像工程において撮像されることによって取得される複数種類のパターン画像に基づいて、前記対象物を各測定領域に分割し、前記対象物の３次元情報を取得する処理工程。
【０２２７】
（Ａ２）  前記投影工程において、複数種類のパターン光が順次に投影された対象領域を分割する複数の対象領域境界部の少なくともいずれかが明部となるとともに、当該対象領域境界部を除く対象領域が暗部となる複数種類のパターン光を前記対象物に順次に投影する工程。
【０２２８】
（Ｃ２）  前記処理工程において、前記複数種類のパターン画像における明部近傍の輝度分布に基づいて、前記各測定領域の測定領域境界部を検出する工程。
【０２２９】
（Ａ３）  前記投影工程において、前記対象領域に含まれる第一の領域を分割する第一の対象領域境界部が明部となり、当該第一の対象領域境界部を除く対象領域が暗部となる第一のパターン光を生成する工程。
【０２３０】
（Ａ４）  前記投影工程において、前記第一の対象領域境界部によって分割されて生成された複数の第二の領域のそれぞれを分割する複数の第二の対象領域境界部が明部となり、当該複数の第二の対象領域境界部を除く対象領域が暗部となる第二のパターン光を生成する工程。
【０２３１】
（Ｂ２）  前記撮像工程において、光学特性成分を含んだ複数種類のパターン光を主として透過するフィルタ工程。
【０２３２】
（Ｂ３）  前記撮像工程において、前記投影工程において複数種類のパターン光が、前記フィルタ工程において透過され、順次に投影された対象物をそれぞれ前記複数種類のパターン画像として撮像する工程。
【０２３３】
（Ｃ３）  前記処理工程において、前記複数種類のパターン画像における明部近傍の輝度分布の重心を算出する輝度重心算出工程。
【０２３４】
（Ｃ４）  前記処理工程において、前記輝度重心算出工程において算出された前記輝度の重心に基づいて前記測定領域境界部を検出する境界部検出工程。
【０２３５】
（Ｃ５）  前記処理工程において、前記複数種類のパターン画像における明部近傍の輝度分布のうち最高輝度を検出する最高輝度検出工程。
【０２３６】
（Ｃ６）  前記処理工程において、前記最高輝度検出工程における前記最高輝度の検出結果に基づいて、輝度を抽出するための輝度抽出範囲を決定する輝度抽出範囲決定工程。
【０２３７】
（Ｃ７）  前記処理工程において、前記輝度抽出範囲決定工程において決定された輝度抽出範囲における輝度を抽出する輝度抽出工程。
【０２３８】
（Ｃ８）  前記輝度重心算出工程において、前記輝度抽出工程において抽出された輝度に基づいて、前記複数種類のパターン画像における明部近傍の輝度分布の重心を算出する工程。
【０２３９】
（Ｃ９）  前記輝度重心算出工程において、前記輝度分布の重心を台形近似により算出する工程。
【０２４０】
（Ｃ１０）  前記処理工程において、前記複数種類のパターン画像における明部近傍の輝度分布のうち最高輝度を検出する最高輝度検出工程。
【０２４１】
（Ｃ１１）  前記処理工程において、前記最高輝度検出工程における前記最高輝度の検出結果に基づいて、前記測定領域境界部を検出する境界部検出工程。
【０２４２】
（Ｃ１２）  前記境界部検出工程において、前記複数種類のパターン画像のうち、明部によって分割される領域面積が相対的に大きい順にパターン画像を探索し、測定領域境界部を順次検出する工程。
【０２４３】
（Ｃ１３）  前記境界部検出工程において、分割される領域面積が相対的に小さいパターン画像を探索する場合には、明部によって分割される領域面積が相対的に大きいパターン画像を探索する場合に検出された測定領域境界部を基準として、当該測定領域境界部によって分割された領域のそれぞれを探索し、新たな測定領域境界部を検出する工程。
【０２４４】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記［発明の開示］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図面の簡単な説明】
【０２４５】
【図１】本発明の一実施形態に従う３次元情報取得装置１を示す外観斜視図である。
【図２】図１における撮像ヘッド２の内部構成を示す平面図である。
【図３】図２における投影部１３を拡大して示す平面図、図２における光源レンズ１８を拡大して示す正面図、および図２における投影ＬＣＤ１９およびＣＣＤ２２を拡大して示す正面図である。
【図４】図１に示す３次元情報取得装置１の電気的構成を概念的に表すブロック図である。
【図５】本発明の一実施形態に従って採用される空間コード化法の原理を説明するための平面図および側面図と、マスクパターンを示す平面図とである。
【図６】図２における投影部１３によって投影される複数種類のパターン光を生成するためのパターン光生成テーブルを示す説明図である。
【図７】図２における投影部１３によって投影されるパターン光を示す説明図である。
【図８】図２における撮像部１４によって撮像されるパターン画像の一例を示す説明図である。
【図９】図２における処理部１５によって測定領域境界部を探索する方法を示す説明図である。
【図１０】図２における処理部１５によって測定領域境界部を探索する方法を示す説明図である。
【図１１】図４におけるカメラ制御プログラムにおいて実行されるメイン処理を概念的に表すフローチャートである。
【図１２】図１１におけるＳ６０５において実行されるデジカメ処理を概念的に表すフローチャートである。
【図１３】図１１におけるＳ６０７において実行されるｗｅｂｃａｍ処理を概念的に表すフローチャートである。
【図１４】図１３におけるＳ８０６などにおいて実行される投影処理を概念的に表すフローチャートである。
【図１５】図１１におけるＳ６０９において実行される立体画像処理を概念的に表すフローチャートである。
【図１６】図１５におけるＳ１００６において実行される３次元形状検出処理を３次元形状検出処理ルーチンとして概念的に表すフローチャートと、その３次元形状検出処理ルーチンにおけるＳ１２１０を撮像処理サブルーチンとして概念的に表すフローチャートと、その３次元形状検出処理ルーチンにおけるＳ１２２０を３次元計測処理サブルーチンとして概念的に表すフローチャートとである。
【図１７】図１６におけるＳ１２２２において実行されるコード画像生成プログラム３６ｄを概念的に表すフローチャートである。
【図１８】本発明の一実施形態に従う３次元情報取得装置１により投影される複数種類のパターン光と、従来の３次元情報取得装置により投影される複数種類のパターン光とを示す説明図である。
【図１９】本発明の一実施形態に従う３次元情報取得装置１による測定領域境界部の検出方法と、従来の３次元情報取得装置による測定領域境界部の検出方法とを示す説明図である。
【符号の説明】
【０２４６】
１  ３次元情報取得装置
１３  投影部
１４  撮像部
１５  処理部
１８  光源レンズ
１９  投影ＬＣＤ
２０  投影光学系
２１  撮像光学系
２１ａ  フィルタ
２２  ＣＣＤ
【図１】
2006277023.tif 000003
【図２】
2006277023.tif 000004
【図３】
2006277023.tif 000005
【図４】
2006277023.tif 000006
【図５】
2006277023.tif 000007
【図６】
2006277023.tif 000008
【図７】
2006277023.tif 000009
【図８】
2006277023.tif 000010
【図９】
2006277023.tif 000011
【図１０】
2006277023.tif 000012
【図１１】
2006277023.tif 000013
【図１２】
2006277023.tif 000014
【図１３】
2006277023.tif 000015
【図１４】
2006277023.tif 000016
【図１５】
2006277023.tif 000017
【図１６】
2006277023.tif 000018
【図１７】
2006277023.tif 000019
【図１８】
2006277023.tif 000020
【図１９】
2006277023.tif 000021