(57)【要約】  【課題】  撮像により得られた被写体の撮像データに基づいてその被写体の三次元情報を検出し、その被写体の名称などの関連情報を自動的に出力することができる画像入出力装置を提供すること。  【解決手段】  被写体の三次元情報に基づいて、サーバ１０２などに記憶されたデータベースから被写体に関連する関連情報が検索され、検索された関連情報が投影されるので、使用者は、自動的に被写体に関する関連情報を取得することができる。また、被写体の三次元情報に基づいて、その被写体が載置された面の背景などを除いたオブジェクト画像を抽出し、そのオブジェクト画像に基づいて関連情報の検索を行うので、立体情報を加味しないデータに基づいて関連情報を検索する場合に比較して、高い精度で被写体に関する関連情報の検索を実行することができる。  【選択図】        図２３
2005352835.tif 000002
【特許請求の範囲】
【請求項１】
光を出射する光源手段と、
その光源手段から出射される光に空間変調を施して画像信号光を出力する空間変調手段と、
その空間変調手段により出力される画像信号光を投影方向に向けて投影する投影手段と、
前記投影方向に少なくとも一部が存在する被写体を撮像し、その撮像データを取得する撮像手段と、
所定のパターン形状を有した画像信号光が前記投影手段により前記被写体上に投影された場合に、前記撮像手段により撮像された撮像データに基づいて、前記被写体の三次元情報を検出する三次元情報検出手段とを有する画像入出力装置であって、
前記三次元情報検出手段により検出された三次元情報に基づいて、通信手段を介して前記画像入出力装置と通信可能に接続された外部データ蓄積手段または前記画像入出力装置に内蔵されたデータ蓄積手段から前記被写体に関連する関連情報を検索する関連情報検索手段と、
その関連情報検索手段により検索された関連情報を出力する関連情報出力手段とを備えていることを特徴とする画像入出力装置。
【請求項２】
前記関連情報検索手段は、前記三次元情報検出手段により検出された三次元情報のうち、前記被写体の三次元形状を示す情報に基づいてその被写体に関連する関連情報を検索するものであることを特徴とする請求項１記載の画像入出力装置。
【請求項３】
前記関連情報検索手段は、前記三次元情報検出手段により検出された三次元情報のうち前記被写体の三次元形状を示す情報と、前記撮像手段により取得された撮像データとに基づいて、その被写体に関連する関連情報を検索するものであることを特徴とする請求項１記載の画像入出力装置。
【請求項４】
前記撮像手段により複数の被写体を同時に撮像することにより撮像データを取得した場合に、前記関連情報検索手段は、前記撮像手段により撮像された複数の被写体について、少なくとも特定の被写体毎に関連情報を検索するものであることを特徴とする請求項１から３のいずれかに記載の画像入出力装置。
【請求項５】
前記三次元情報検出手段により検出された三次元情報に基づいて、前記撮像手段により取得された撮像データのうち背景と分離可能な立体形状を有する被写体部分の二次元画像情報を抽出するオブジェクト画像抽出手段を有し、
前記関連情報検索手段は、前記オブジェクト画像抽出手段により抽出された二次元画像情報に基づいて、被写体に関連する関連情報を検索するものであることを特徴とする請求項１記載の画像入力装置。
【請求項６】
前記三次元情報検出手段により検出された三次元情報に基づいて、前記撮像手段により取得された撮像データのうち背景と分離可能な立体形状を有する被写体部分の二次元画像情報を抽出するオブジェクト画像抽出手段を有し、
前記関連情報検索手段は、前記三次元情報検出手段により検出された三次元情報と前記オブジェクト画像抽出手段により抽出された二次元画像情報とに基づいて、立体形状を有する被写体に関連する関連情報を検索するものであることを特徴とする請求項１記載の画像入力装置。
【請求項７】
前記関連情報検索手段は、前記三次元情報検出手段により検出された三次元情報のうち、前記被写体の三次元形状を示す情報と、前記オブジェクト画像抽出手段により抽出された二次元画像情報とに基づいて、関連情報を検索するものであることを特徴とする請求項６記載の画像入出力装置。
【請求項８】
前記撮像手段により複数の被写体を同時に撮像することにより撮像データを取得した場合に、前記オブジェクト画像抽出手段は、前記撮像手段により撮像された複数の被写体について、少なくとも特定の被写体毎にその被写体部分の二次元画像情報を抽出するものであり、前記関連情報検索手段は、前記オブジェクト画像抽出手段により抽出された二次元画像情報に基づいて、被写体毎にその被写体に関連する関連情報を検索するものであることを特徴とする請求項５から７のいずれかに記載の画像入力装置。
【請求項９】
前記関連情報出力手段により出力される前記関連情報は、前記被写体の名称と属性とのうち少なくとも一つを含む請求項１から８のいずれかに記載の画像入力装置。
【請求項１０】
前記関連情報出力手段は、前記関連情報検索手段により検索された関連情報に基づく画像信号光を、前記空間変調手段により出力し、その出力された画像信号光を前記投影手段により前記被写体又は前記投影方向上の画像投影可能な面に投影するものであることを特徴とする請求項１から９のいずれかに記載の画像入出力装置。
【請求項１１】
前記関連情報検索手段により検索された関連情報に基づいて、ネットワークから表示内容を検索する表示内容検索手段と、
その表示内容検索手段により検索された表示内容に関する情報を出力する表示内容出力手段とを有することを特徴とする請求項１から１０のいずれかに記載の画像入出力装置。
【請求項１２】
前記表示内容出力手段は、前記表示内容検索手段により検索された表示内容に関する情報に基づく画像信号光を、前記空間変調手段により出力し、その出力された画像信号光を前記投影手段により前記被写体又は前記投影方向上の画像投影可能な面に投影するものであることを特徴とする請求項１１記載の画像入出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体を撮像可能な画像入出力装置に関し、特に、撮像により得られた被写体の撮像データに基づいてその被写体の三次元情報を検出し、その三次元情報に基づいてデータを検索して出力することにより、その被写体の名称などの関連情報を、使用者が自動的に取得することができる画像入出力装置に関する。
【背景技術】
【０００２】
従来より、被写体に光パターンを投影し、一方で、被写体に投影された光パターンを撮像し、その画像信号について所定の演算を行なうことによって、その被写体の三次元情報を得る三次元計測装置が知られている。例えば、特許文献１には、コード化マルチスリット光パターンを被測定物に投影し、被測定物に投影された該コード化マルチスリット光パターン撮像装置により撮像し、撮像により得られた画像信号に基づいて、被測定物の輪郭の三次元位置を算出する三次元計測装置が記載されている。
【特許文献１】特公平８−２０２３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載されるような三次元計測装置を始め、投影装置と撮像装置とを備えている一般的な画像入出力装置は、その被測定物の外観に関する情報を提供するのみであり、その用途に限界があるという問題点があった。
【０００４】
本発明は、上述した問題点を解決するためになされたものであり、撮像により得られた被写体の撮像データに基づいてその被写体の三次元情報を検出し、その三次元情報に基づいてデータを検索して出力することにより、その被写体の名称などの関連情報を、使用者が自動的に取得することができる画像入出力装置を提供することを目的としている。
【課題を解決するための手段】
【０００５】
この目的を達成するために請求項１記載の画像入出力装置は、光を出射する光源手段と、その光源手段から出射される光に空間変調を施して画像信号光を出力する空間変調手段と、その空間変調手段により出力される画像信号光を投影方向に向けて投影する投影手段と、前記投影方向に少なくとも一部が存在する被写体を撮像し、その撮像データを取得する撮像手段と、所定のパターン形状を有した画像信号光が前記投影手段により前記被写体上に投影された場合に、前記撮像手段により撮像された撮像データに基づいて、前記被写体の三次元情報を検出する三次元情報検出手段とを有するものであって、前記三次元情報検出手段により検出された三次元情報に基づいて、通信手段を介して前記画像入出力装置と通信可能に接続された外部データ蓄積手段または前記画像入出力装置に内蔵されたデータ蓄積手段から前記被写体に関連する関連情報を検索する関連情報検索手段と、その関連情報検索手段により検索された関連情報を出力する関連情報出力手段とを備えている。
【０００６】
この請求項１記載の画像入出力装置によれば、光源手段より出射された光に対して、空間変調手段により空間変調が施されて画像信号光として出力されると、その画像信号光が、投影光学系により投影方向に向けて投影される。一方で、所定のパターン形状を有した画像信号光が投影手段により被写体上に投影された場合に、撮像手段により撮像された撮像データに基づいて、被写体の三次元情報が検出される。ここで、三次元情報検出手段により検出された三次元情報に基づいて、通信手段を介して画像入出力装置と通信可能に接続された外部データ蓄積手段または画像入力装置に内蔵されたデータ蓄積手段から、関連情報検索手段により、被写体に関連する関連情報が検索される。そして、関連情報出力手段により、その関連情報が出力される。
【０００７】
請求項２記載の画像入出力装置は、請求項１記載の画像入出力装置において、前記関連情報検索手段は、前記三次元情報検出手段により検出された三次元情報のうち、前記被写体の三次元形状を示す情報に基づいてその被写体に関連する関連情報を検索するものである。
【０００８】
請求項３記載の画像入出力装置は、請求項１記載の画像入出力装置において、前記関連情報検索手段は、前記三次元情報検出手段により検出された三次元情報のうち前記被写体の三次元形状を示す情報と、前記撮像手段により取得された撮像データとに基づいて、その被写体に関連する関連情報を検索するものである。
【０００９】
請求項４記載の画像入出力装置は、請求項１から３のいずれかに記載の画像入出力装置において、撮像手段により複数の被写体を同時に撮像することにより撮像データを取得した場合に、関連情報検索手段は、撮像手段により撮像された複数の被写体について、少なくとも特定の被写体毎に関連情報を検索するものである。
【００１０】
請求項５記載の画像入出力装置は、請求項１記載の画像入出力装置において、前記三次元情報検出手段により検出された三次元情報に基づいて、前記撮像手段により取得された撮像データのうち背景と分離可能な立体形状を有する被写体部分の二次元画像情報を抽出するオブジェクト画像抽出手段を有し、前記関連情報検索手段は、前記オブジェクト画像抽出手段により抽出された二次元画像情報に基づいて、被写体に関連する関連情報を検索するものである。
【００１１】
請求項６記載の画像入出力装置は、請求項１記載の画像入出力装置において、前記三次元情報検出手段により検出された三次元情報に基づいて、前記撮像手段により取得された撮像データのうち背景と分離可能な立体形状を有する被写体部分の二次元画像情報を抽出するオブジェクト画像抽出手段を有し、前記関連情報検索手段は、前記三次元情報検出手段により検出された三次元情報と前記オブジェクト画像抽出手段により抽出された二次元画像情報とに基づいて、立体形状を有する被写体に関連する関連情報を検索するものである。
【００１２】
請求項７記載の画像入出力装置は、請求項６記載の画像入出力装置において、前記関連情報検索手段は、前記三次元情報検出手段により検出された三次元情報のうち、前記被写体の三次元形状を示す情報と、前記オブジェクト画像抽出手段により抽出された二次元画像情報とに基づいて、関連情報を検索するものである。
【００１３】
請求項８記載の画像入出力装置は、請求項５から７のいずれかに記載の画像入出力装置において、前記撮像手段により複数の被写体を同時に撮像することにより撮像データを取得した場合に、前記オブジェクト画像抽出手段は、前記撮像手段により撮像された複数の被写体について、少なくとも特定の被写体毎にその被写体部分の二次元画像情報を抽出するものであり、前記関連情報検索手段は、前記オブジェクト画像抽出手段により抽出された二次元画像情報に基づいて、被写体毎にその被写体に関連する関連情報を検索するものである。
【００１４】
請求項９記載の画像入出力装置は、請求項１から８のいずれかに記載の画像入出力装置において、前記関連情報出力手段により出力される関連情報は、前記被写体の名称と属性とのうち少なくとも一つを含む。
【００１５】
請求項１０記載の画像入出力装置は、請求項１から９のいずれかに記載の画像入出力装置において、前記関連情報出力手段は、前記関連情報検索手段により検索された関連情報に基づく画像信号光を、前記空間変調手段により出力し、その出力された画像信号光を前記投影手段により前記被写体又は前記投影方向上の画像投影可能な面に投影するものである。
【００１６】
請求項１１記載の画像入出力装置は、請求項１から１０のいずれかに記載の画像入出力装置において、前記関連情報検索手段により検索された関連情報に基づいて、ネットワークから表示内容を検索する表示内容検索手段と、その表示内容検索手段により検索された表示内容に関する情報を出力する表示内容出力手段とを有する。
【００１７】
請求項１２記載の画像入出力装置は、請求項１１記載の画像入出力装置において、前記表示内容出力手段は、前記表示内容検索手段により検索された表示内容に関する情報に基づく画像信号光を、前記空間変調手段により出力し、その出力された画像信号光を前記投影手段により前記被写体又は前記投影方向上の画像投影可能な面に投影するものである。
【発明の効果】
【００１８】
請求項１記載の画像入出力装置によれば、三次元情報検出手段により検出された三次元情報に基づいて、通信手段を介して画像入出力装置と通信可能に接続された外部データ蓄積手段または画像入力装置に内蔵されたデータ蓄積手段から、被写体に関連する関連情報が検索され、その関連情報が出力されるので、使用者は、自動的に被写体に関連する関連情報を取得することができるという効果がある。また、ここで「三次元情報」とは、例えば（Ｘ，Ｙ，Ｚ）の座標情報や、その座標情報に基づいて作成されるポリゴン画像、被写体表面の曲面情報、凹凸情報、反射光分布情報、表面粗さなどをいう。したがって、撮像画像などの二次元的な撮像データに基づいて関連情報を検索する場合に比較して、高い精度で被写体に関連する関連情報の検索を実行し、その関連情報を出力することができるという効果がある。
【００１９】
請求項２記載の画像入出力装置によれば、請求項１記載の画像入出力装置の奏する効果に加え、関連情報検索手段により、三次元情報検出手段により検出された三次元情報のうち、被写体の三次元形状を示す情報に基づいてその被写体に関連する関連情報が検索されるので、撮像画像などの二次元的な撮像データに基づいて関連情報を検索する場合に比較して、高い精度で被写体に関連する関連情報の検索を実行することができるという効果がある。ここで、「三次元形状を示す情報」とは、例えばポリゴン画像や、被写体表面の表面粗さ等被写体の立体形状を示す情報をいう。すなわち、請求項２記載の画像入出力装置によれば、被写体の立体形状を加味して被写体に関連する関連情報が検索されるので、検索の精度がより高くなるのである。
【００２０】
請求項３記載の画像入出力装置によれば、請求項１記載の画像入出力装置の奏する効果に加え、関連情報検索手段により、三次元情報検出手段により検出された三次元情報のうち被写体の三次元形状を示す情報と、撮像手段により取得された撮像データとに基づいて、その被写体に関連する関連情報が検索されるので、より精度高く被写体に関連する関連情報の検索を実行することができるという効果がある。ここで「撮像データ」とは、例えば反射率や色情報を示す二次元画像情報であり、「三次元形状を示す情報」とは、例えばポリゴン画像や被写体表面の表面粗さ等の被写体の立体形状を示す情報であるから、請求項３記載の画像入出力装置によれば、二次元画像情報と立体形状とに基づいて、より精度高く検索を実行することができるのである。
【００２１】
請求項４記載の画像入出力装置によれば、請求項１から３のいずれかに記載の画像入出力装置の奏する効果に加え、撮像手段により複数の被写体を同時に撮像することにより撮像データが取得された場合に、撮像手段により撮像された複数の被写体について、少なくとも特定の被写体毎に関連情報が検索されるので、同時に複数の被写体を撮像手段により撮像しても、少なくとも特定の被写体毎に関連情報を取得することができ、操作が簡便であるという効果がある。また被写体毎に検索されることから、検索の精度がより高くなるという効果がある。
【００２２】
請求項５記載の画像入出力装置によれば、請求項１記載の画像入出力装置の奏する効果に加え、三次元情報検出手段により検出された三次元情報に基づいて、撮像手段により取得された撮像データのうち背景と分離可能な立体形状を有する被写体部分の二次元画像情報が抽出され、その抽出された二次元画像情報に基づいて、被写体に関する関連情報が検索されるので、使用者は、自動的に立体形状を有する被写体に関する関連情報を取得することができるという効果がある。例えば、模様付きの面上に被写体が載置されて撮像が行われると、被写体の背景に画像を有する撮像データが取得されるが、そのような場合であっても、立体形状を有する被写体に関連する関連情報を検索することができるのである。
【００２３】
請求項６記載の画像入出力装置によれば、請求項１記載の画像入出力装置の奏する効果に加え、三次元情報検出手段により検出された三次元情報に基づいて、撮像手段により取得された撮像データのうち背景と分離可能な立体形状を有する被写体部分の二次元画像情報が抽出され、その二次元画像情報と三次元情報とに基づいて、立体形状を有する被写体に関連する関連情報が検索されるので、使用者は、自動的に立体形状を有する被写体に関連する関連情報を取得することができるという効果がある。例えば、模様付きの面上に被写体が載置されて撮像が行われると、被写体の背景に画像を有する撮像データが取得されるが、そのような場合であっても、立体形状を有する被写体に関する関連情報を検索することができるのである。さらに、背景と分離可能な立体形状を有する被写体部分の二次元画像情報、すなわち、被写体部分の色情報や反射率、平面的形状などの二次元画像情報と、被写体の三次元情報とに基づいて検索が実行されることから、高い精度で被写体に関連する関連情報を検索することができるという効果がある。
【００２４】
請求項７記載の画像入出力装置によれば、請求項６記載の画像入出力装置の奏する効果に加え、三次元情報検出手段により検出された三次元情報のうち、被写体の三次元形状を示す情報と、オブジェクト画像抽出手段により抽出された二次元画像情報とに基づいて、関連情報が検索されるので、より精度高く被写体に関連する関連情報を検索することができるのである。ここで、「三次元形状を示す情報」とは、例えばポリゴン画像や被写体表面の表面粗さ等の被写体の立体形状を示す情報であるから、請求項７記載の画像入出力装置によれば、被写体部分の平面的形状、色情報、反射率などの二次元画像情報と被写体の立体形状とに基づいて、より精度高く検索を実行することができるのである。
【００２５】
請求項８記載の画像入出力装置によれば、請求項５から７のいずれかに記載の画像入出力装置の奏する効果に加え、撮像手段により同時に撮像された複数の被写体について、少なくとも特定の被写体毎にその被写体部分の二次元画像情報が抽出され、その抽出された二次元画像情報に基づいて、被写体毎にその被写体に関連する関連情報が検索されるので、撮像手段により複数の被写体を同時に撮像しても、その被写体毎に抽出された二次元画像情報に基づいて、関連情報を精度良く検索することができるという効果がある。
【００２６】
請求項９記載の画像入出力装置によれば、請求項１から８のいずれかに記載の画像入出力装置の奏する効果に加え、関連情報として、被写体の名称と属性とのうち少なくとも一つが出力されるので、使用者は、被写体の名称や属性を自動的に取得することができるという効果がある。ここで、属性とは、価格、型番、仕向先などが該当する。
【００２７】
請求項１０記載の画像入出力装置によれば、請求項１から９のいずれかに記載の画像入出力装置の奏する効果に加え、関連情報検索手段により検索された関連情報に基づく画像信号光が、空間変調手段により出力され、その出力された画像信号光が被写体又は投影方向上の画像投影可能な面に投影されるので、使用者は、その画像信号光により投影された投影画像を視認することにより、関連情報を取得することができるという効果がある。
【００２８】
請求項１１記載の画像入出力装置によれば、請求項１から１０のいずれかに記載の画像入出力装置の奏する効果に加え、関連情報検索手段により検索された関連情報に基づいて、ネットワークから表示内容が検索され、その検索された表示内容に関する情報が出力されるので、検索により取得された関連情報に基づいて、さらにネットワークを検索することにより得られた表示内容に関する情報を、使用者が自動的に取得することができるという効果がある。ここで表示内容とは、例えば、インターネット上に公開されるｗｅｂページ等、ネットワークを介して検索可能な情報資源（文書や画像）が相当し、表示内容に関する情報とは、例えば、ｗｅｂページのＵＲＬなどその表示内容のアドレスや、表示内容それ自体が相当する。
【００２９】
請求項１２記載の画像入出力装置によれば、請求項１１記載の画像入出力装置の奏する効果に加え、表示内容に関する情報に基づく画像信号光が、空間変調手段により出力され、その出力された画像信号光が投影手段により投影されるので、使用者は、その画像信号光により投影された投影画像を視認することにより、表示内容に関する情報を取得することができるという効果がある。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の画像入出力装置１の外観斜視図である。
【００３１】
画像入出力装置１は、デジタルカメラとして機能するデジカメモード、ウェブカメラとして機能するｗｅｂｃａｍモード、３次元形状を検出して立体画像を取得するための立体画像モード、湾曲した原稿等を平面化した平面化画像を取得するための平面化画像モード、被写体の３次元情報に基づいてデータベースを検索し、その検索結果を投影するデータベース検索モード等の種々のモードを備えた装置である。
【００３２】
図１では、特に、立体画像モードや平面化画像モードにおいて、被写体としての原稿Ｐの３次元形状を検出するために、後述する画像投影部１３から明暗を交互に並べてなる縞状のパターン光を投影している様子を図示している。
【００３３】
画像入出力装置１は、略箱状に形成された撮像ヘッド２と、その撮像ヘッド２と一端が連結されたパイプ状のアーム部材３と、そのアーム部材３の他端と連結され、平面視略Ｌ型に形成されたベース４とを備えている。
【００３４】
撮像ヘッド２は、その内部に後述する画像投影部１３や画像撮像部１４を内包するケースである。撮像ヘッド２の正面には、その中央部に筒状の鏡筒５と、鏡筒５の斜め上方にファインダ６と、そのファインダ６の反対側にフラッシュ７とが配置されている。また、ファインダ６とフラッシュ７との間に、後述する画像撮像部１４の一部である撮像光学系２１のレンズの一部が外面に露出しており、この露出部分から被写体の画像が入力される。
【００３５】
鏡筒５は、撮像ヘッド２の正面から突出し、その内部に画像投影部１３の一部である投影光学系２０を内包するカバーである。この鏡筒５によって、投影光学系２０が保持され、全体を焦点調節のため移動可能とされ、且つ、傷つくのが防止されている。また、鏡筒５端面からは、画像投影部１３の一部である投影光学系２０のレンズの一部が外面に露出しており、この露出部分から投影面に向かって画像信号光が投影される。
【００３６】
ファインダ６は、撮像ヘッド２の背面から正面を通して配設される光学レンズで構成されている。撮像装置１の背面から使用者がのぞき込んだ時に、撮像光学系２１がＣＣＤ２２上に結像する範囲とほぼ一致する範囲が見えるようになっている。
【００３７】
フラッシュ７は、例えば、デジカメモードやデータベース検索モードにおいて、必要な光量を補足するための光源であり、キセノンガスが充填された放電管で構成されている。よって、撮像ヘッド２に内蔵されているコンデンサ（図示せず）からの放電により繰り返し使用することができる。
【００３８】
また、撮像ヘッド２の上面には、手前側にレリーズボタン８と、そのレリーズボタン８の奥方にモード切替スイッチ９と、モード切替スイッチ９の反対側にモニタＬＣＤ１０とが配置されている。
【００３９】
レリーズボタン８は、「半押し状態」と「全押し状態」との２種類の状態に設定可能な２段階の押しボタン式のスイッチで構成されている。レリーズボタン８の状態は後述するプロセッサ１５に管理されており、「半押し状態」で周知のオートフォーカス（ＡＦ）および自動露出（ＡＥ）機能が起動し、ピント、絞り、シャッタスピードが調節され、「全押し状態」で撮像等が行われる。
【００４０】
モード切替スイッチ９は、デジカメモード、ｗｅｂｃａｍモード、立体画像モード、平面化画像モード、データベース検索モード、オフモード等の種々のモードに設定可能なスイッチである。モード切替スイッチ９の状態はプロセッサ１５に管理されており、モード切替スイッチ９の状態がプロセッサ１５によって検出されることで各モードの処理が実行される。
【００４１】
モニタＬＣＤ１０は、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）で構成されており、プロセッサ１５からの画像信号を受けて画像を使用者に表示する。例えば、モニタＬＣＤ１０には、デジカメモードやｗｅｂｃａｍモードやデータベース検索モードにおける撮像画像や、立体画像モードにおける３次元形状検出結果画像、平面化画像モードにおける平面化画像等が表示される。
【００４２】
更に、撮像ヘッド２の側面には、その上方にＲＦ（無線）インターフェイスとしてのアンテナ１１と、撮像ヘッド２とアーム部材３とを連結する連結部材１２とが配置されている。
【００４３】
アンテナ１１は、後述するＲＦドライバ２４を介してデジカメモードで取得した撮像画像データや立体画像モードで取得した立体画像データ、データベース検索モードで取得したオブジェクト画像等を外部インターフェイスに無線通信によって送信する一方で、データベース検索モードにおいて、データベースやインターネット上のＷｅｂページを検索することにより取得された検索結果等を外部インターフェイスから無線通信によって受信し、後述するＲＦドライバ２４に出力するものである。
【００４４】
連結部材１２は、内周面に雌ねじが形成されたリング状に形成され、撮像ヘッド２の側面に回動可能に固定されている。また、アーム部材３の一端側には雄ねじが形成されている。この雌ねじと雄ねじとを嵌合させることで、撮像ヘッド２とアーム部材３とを着脱自在に連結することができると共に、撮像ヘッド２を任意の角度で固定することができるようになっている。従って、撮像ヘッド２を取り外し、通常のデジカメ（デジタルカメラ）として使用できる。
【００４５】
アーム部材３は、撮像ヘッド２を所定の撮像位置に変化可能に保持するためのものであり、任意の形状に屈曲可能な蛇腹状のパイプで構成されている。よって撮像ヘッド２を任意の位置に向けることができる。
【００４６】
ベース４は、机上等の載置台に載置され、撮像ヘッド２とアーム部材３とを支持するものである。平面視略Ｌ字型に形成されているので、安定して撮像ヘッド２等を支持することができる。また、ベース４とアーム部材３とは着脱自在に連結されているので、持ち運びに便利であり、省スペースで収納することもできる。
【００４７】
図２は、撮像ヘッド２の内部構成を模式的に示す図である。撮像ヘッド２の内部には、主に、画像投影部１３と、画像撮像部１４と、プロセッサ１５とが内蔵されている。
【００４８】
画像投影部１３は、投影面に任意の投影画像を投影するためのユニットであり、投影方向に沿って、基板１６と、複数個のＬＥＤ１７（その総称として以下「ＬＥＤアレイ１７Ａ」という）と、光源レンズ１８と、投影ＬＣＤ１９と、投影光学系２０とを備えている。尚、この画像投影部１３については、図３において詳細に説明する。
【００４９】
画像撮像部１４は、被写体としての原稿Ｐを撮像するためのユニットであり、光の入力方向に沿って、撮像光学系２１と、ＣＣＤ２２とを備えている。
【００５０】
撮像光学系２１は、複数枚のレンズで構成され、周知のオートフォーカス機能を有し、自動で焦点距離及び絞りを調整して外部からの光をＣＣＤ２２上に結像する。
【００５１】
ＣＣＤ２２は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）素子などの光電変換素子をマトリクス状に配列して構成され、撮像光学系２１を介して表面に結像される画像の光の色及び強さに応じた信号を生成し、これをデジタルデータに変換してプロセッサ１５に出力する。
【００５２】
プロセッサ１５には、フラッシュ７、レリーズボタン８、モード切替スイッチ９、モニタＬＣＤドライバ２３を介してモニタＬＣＤ１０、ＲＦドライバ２４を介してアンテナ１１、電源インターフェイス２５を介してバッテリ２６、外部メモリ２７、キャッシュメモリ２８、光源ドライバ２９を介してＬＥＤアレイ１７Ａ、投影ＬＣＤドライバ３０を介して投影ＬＣＤ１９、ＣＣＤインターフェイス３１を介してＣＣＤ２２の各々が電気的に接続され、プロセッサ１５によって管理されている。
【００５３】
外部メモリ２７は、着脱自在なフラッシュＲＯＭであり、デジカメモードやｗｅｂｃａｍモード、そして立体画像モードにおいて撮像した撮像画像や３次元情報を記憶する。具体的には、ＳＤカード、コンパクトフラッシュ（登録商標）カード等を使用することができる。
【００５４】
キャッシュメモリ２８は、高速な記憶装置である。例えば、デジカメモードやデータベース検索モードにおいて撮像した撮像画像を高速でキャッシュメモリ２８に転送し、プロセッサ１５で画像処理を行ってから外部メモリ２７に格納されるように使われる。具体的には、ＳＤＲＡＭ、ＤＤＲＲＡＭ等を使用することができる。
【００５５】
尚、電源インターフェイス２５はバッテリ２６を、光源ドライバ２９はＬＥＤアレイ１７Ａを、投影ＬＣＤドライバ３０は投影ＬＥＤ１９を、ＣＣＤインターフェイス３１はＣＣＤ２２を各々制御する各種のＩＣ（Integrated Circuit：集積回路）によって構成されている。
【００５６】
図３（ａ）は画像投影部１３の拡大図であり、（ｂ）は光源レンズ１８の平面図であり、（ｃ）は投影ＬＣＤ１９とＣＣＤ２２との配置関係を示す図である。
【００５７】
上述した通り、画像投影部１３は、投影方向に沿って、基板１６と、ＬＥＤアレイ１７Ａと、光源レンズ１８と、投影ＬＣＤ１９と、投影光学系２０とを備えている。
【００５８】
基板１６は、ＬＥＤアレイ１７Ａを実装すると共に、ＬＥＤアレイ１７Ａとの電気的な配線をするためのものである。具体的には、アルミ製基板に絶縁樹脂を塗布してから無電解メッキにてパターンを形成したものやガラエポ基材をコアとする単層または多層構造の基板を使用することができる。
【００５９】
ＬＥＤアレイ１７Ａは、投影ＬＣＤ１９に向けて放射状の光を発光する光源であり、基板１６上に、複数個のＬＥＤ１７（発光ダイオード）が千鳥状に配列され、銀ペーストを介して接着されている。また、ボンディングワイヤを介して電気的に結線されている。
【００６０】
このように光源として複数個のＬＥＤ１７を使用することで、光源として白熱電球、ハロゲンランプ等を使用する場合に比べて、電気を光に変換する効率（電気光変換効率）を高め、同時に赤外線や紫外線の発生を抑えることができる。よって、省電力で駆動でき、節電化、長寿命化を図ることができる。また、装置の温度上昇を低減させることができる。
【００６１】
この様に、ＬＥＤ１７はハロゲンランプ等に比べて熱線の発生が極めて低いので、後述する光源レンズ１８や投影光学系２０として、樹脂製のレンズを採用することができる。よって、ガラス製のレンズを採用する場合に比べて、各レンズ１８，２０を安価で軽量に構成することができる。
【００６２】
また、ＬＥＤアレイ１７Ａを構成する各ＬＥＤ１７は、各々同じ発光色を発光するもので、材料にＡｌ、Ｉｎ、Ｇａ、Ｐの４元素を用いたアンバー色を発光するもので構成されている。よって、複数色の発光色を発光させる場合に生ずる色収差の補正を考慮する必要はなく、色収差を補正するために投影光学系２０として色消しレンズを採用する必要はないので、簡単な面構成および安価な材料の投影手段を提供することができるという効果がある。
【００６３】
また、他の発光色に比べて電気光変換率が約８０ｌｕｍｅｎ／Ｗと高い４元素材料のアンバー色ＬＥＤを採用することで、一層、高輝度、節電、長寿命化を図ることができる。尚、各ＬＥＤ１７を千鳥状に配置する事に関する効果については、図４を参照して説明する。
【００６４】
具体的には、ＬＥＤアレイ１７Ａは５９個のＬＥＤ１７からなり、各ＬＥＤ１７は５０ｍＷ（２０ｍＡ，２．５Ｖ）で駆動され、結局、全５９個のＬＥＤ１７は略３Ｗの消費電力で駆動される。また、各ＬＥＤ１７から発光される光が、光源レンズ１８、投影ＬＣＤ１９を通過して投影光学系２０から照射される場合の光束値としての明るさは、全面照射の場合であっても２５ＡＮＳＩルーメン程度に設定されている。
【００６５】
この明るさを採用することで、例えば、立体画像モードにおいて、人や動物の顔面等の被写体の３次元形状を検出する場合に、人や動物に眩しさを与えず、人や動物が目をつぶっていない状態の３次元形状を検出することができる。
【００６６】
光源レンズ１８は、ＬＥＤアレイ１７Ａから放射状に発光される光を集光するレンズであり、その材質はアクリルに代表される光学樹脂で構成されている。
【００６７】
具体的には、光源レンズ１８は、ＬＥＤアレイ１７Ａの各ＬＥＤ１７に対向する位置に投影ＬＥＤ１９側に向けて凸設された凸状のレンズ部１８ａと、そのレンズ部１８ａを支持するベース部１８ｂと、そのベース部１８ｂの内部空間であってＬＥＤアレイ１７Ａを内包する開口に充填されるＬＥＤ１７の封止および基板１６と光源レンズ１８との接着を目的としたエポキシまたはシリコン樹脂の封止材１８ｃと、ベース部１８ｂから基板１６側に突設され、光源レンズ１８と基板１６とを接続する位置決めピン１８ｄとを備えている。
【００６８】
光源レンズ１８は、開口の内部にＬＥＤアレイ１７Ａを内包させつつ、基板１６に穿設されている長孔１６に位置決めピン１８ｄを差込み、基板１６上に固定される。
【００６９】
よって、省スペースで光源レンズ１８を配置することができる。また、基板１６にＬＥＤアレイ１７Ａを実装するという機能の他に、光源レンズ１８を支持するという機能を兼任させることで、光源レンズ１８を支持する部品を別途必要とせず、部品の点数を削減することができる。
【００７０】
また、各レンズ部１８ａは、ＬＥＤアレイ１７Ａの各ＬＥＤ１７と１対１の関係で対向する位置に配置されている。
【００７１】
よって、各ＬＥＤ１７から発光される放射状の光は、各ＬＥＤ１７に対向する各レンズ部１８によって効率良く集光され、図に示すような指向性の高い放射光として投影ＬＥＤ１９に照射される。この様に指向性を高めたのは、投影ＬＣＤ１９に略垂直に光を入射することによって、面内の透過率ムラが抑制され得るためである。また同時に、投影光学系２０は、テレセントリック特性を持ち、その入射ＮＡが０．１程度であるため、垂直±５°以内の光のみが内部の絞りを通過できるように規制されているためである。従って、ＬＥＤ１７からの光を出射角度を垂直に揃え、且つ、±５°にほどんどの光束を入れることが画質向上の要点となる。なぜなら投影ＬＣＤ１９に垂直から外れた光を入射すると、液晶の旋光性により、透過率が入射角度に依存して変わってしまい、透過率ムラとなるからである。
【００７２】
投影ＬＣＤ１９は、光源レンズ１８を通過して集光された光に空間変調を施して、投影光学系２０に向けて画像信号光を出力する空間変調素子であって、具体的には、縦横の比率の異なる板状の液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）で構成されている。
【００７３】
また、（Ｃ）に示すように、この投影ＬＣＤ１９を構成する各画素は、その液晶ディスプレイの長手方向に沿って一直線状に並べられた１の画素列と、その１の画素列とは液晶ディスプレイの長手方向に所定間隔ずれた他の画素列とを交互に並列に並べて配置されている。
【００７４】
尚、（Ｃ）は紙面手前側に撮像ヘッド２の正面を向け、紙面裏側から光が投影ＬＣＤ１９に向けて照射され、紙面手間側からＣＣＤ２２に被写体像が結像される状態であるとする。
【００７５】
このように、投影ＬＣＤ１９を構成する画素を長手方向に千鳥状に配置することで、長手方向と直交する方向（短手方向）において、投影ＬＣＤ１９によって空間変調が施される光を１／２ピッチで制御することができる。従って、細いピッチで投影パターンを制御でき、分解能を上げて高精度に３次元の形状を検出することができる。
【００７６】
特に、後述する立体画像モードや平面化画像モードにおいて、被写体の３次元形状を検出すべく、被写体に向けて明暗を交互に並べてなる縞状のパターン光を投光する場合に、その縞方向を投影ＬＣＤ１９の短手方向に一致させることで、明暗の境界を１／２ピッチで制御することができるので、同様に高精度に３次元の形状を検出することができる。
【００７７】
また、撮像ヘッド２の内部において、投影ＬＣＤ１９とＣＣＤ２２とは、（Ｃ）に示すような関係で配置される。具体的には、投影ＬＣＤ１９の幅広面とＣＣＤ２２の幅広面とは略同一の方向に向いて配置されているので、投影ＬＣＤ１９から投影面に投影されている画像をＣＣＤ２２に結像させる場合に、投影画像をハーフミラー等で屈曲させることなく、そのままの状態で投影画像を結像させることができる。
【００７８】
また、ＣＣＤ２２は、投影ＬＣＤ１９の長手方向側（画素列が延びる方向側）に配置されている。よって、特に、立体画像モードや平面化画像モードにおいて、三角測量の原理を利用して被写体の３次元形状を検出する場合には、ＣＣＤ２２と被写体とのなす傾きを１／２ピッチで制御することができるので、同様に高精度に３次元の形状を検出することができる。
【００７９】
投影光学系２０は、投影ＬＥＤ１９を通過した画像信号光を投影面に向けて投影する複数のレンズであり、ガラス及び樹脂の組み合わせからなるテレセントリックレンズで構成されている。テレセントリックとは、投影光学系２０を通過する主光線は、入射側の空間では光軸に平行になり、射出瞳の位置は無限になる構成をいう。このようにテレセントリックにすることで、前述のように投影ＬＣＤ１９を垂直±５°で通過する光のみを投影し得るので、画質を向上させることができる。
【００８０】
図４は、ＬＥＤアレイ１７Ａの配列に関する説明をするための図である。（ａ）は光源レンズ１８を通過した光の照度分布を示す図であり、（ｂ）はＬＥＤアレイ１７Ａの配列状態を示す平面図であり、（ｃ）は投影ＬＣＤ１９面における合成照度分布を示す図である。
【００８１】
（ａ）に示すように、光源レンズ１８を通過した光は、半値拡がり半角θ（＝略５°）で、（ａ）左側に図示するような照度分布を有する光として投影ＬＣＤ１９の表面に到達するように設計されている。
【００８２】
また、（ｂ）に示すように、複数のＬＥＤ１７は基板上１６に千鳥状に配列されている。具体的には、複数個のＬＥＤ１７をｄピッチで直列に並べたＬＥＤ列を、√３／２ｄピッチで並列に並べ、更に、そのＬＥＤ列を１列おきに同じ方向に１／２ｄ移動させた状態になるように配置されている。
【００８３】
換言すれば、１のＬＥＤ１７と、その１のＬＥＤ１７の周辺のＬＣＤ１７との間隔はｄになるように設定されている（三角格子配列）。
【００８４】
そして、このｄの長さは、ＬＥＤ１７の１つから出射された光によって投影ＬＣＤ１９において形成される照度分布の半値全幅（ＦＷＨＭ（Full  Width  Half  Maximun））以下となる様に決定されている。
【００８５】
よって、光源レンズ１８を通過して投影ＬＣＤ１９の表面に到達する光の合成照度分布は、（ｃ）に示すように小さなリップルを含んだ略直線状になり、投影ＬＣＤ１９の面に略均一に光を照射することができる。従って、投影ＬＣＤ１９における照度ムラを抑制することができ、結果的に、高品質な画像を投影することができる。
【００８６】
図５は、画像入出力装置１の電気的なブロック図である。尚、既に上述した構成ついては、その説明を省略する。プロセッサ１５は、ＣＰＵ３５と、ＲＯＭ３６と、ＲＡＭ３７とを備えている。
【００８７】
ＣＰＵ３５は、ＲＯＭ３６に記憶されたプログラムによる処理に応じて、ＲＡＭ３７を利用して、レリーズボタン８の押下げ操作の検知、ＣＣＤ２２から画像データの取り込み、その画像データの転送、格納、モード切替スイッチ９の状態の検出等の各種処理を行う。
【００８８】
ＲＯＭ３６には、カメラ制御プログラム３６ａと、パターン光撮影プログラム３６ｂと、輝度画像生成プログラム３６ｃと、コード画像生成プログラム３６ｄと、コード境界抽出プログラム３６ｅと、レンズ収差補正プログラム３６ｆと、三角測量演算プログラム３６ｇと、原稿姿勢演算プログラム３６ｈと、平面変換プログラム３６ｉと、オブジェクト画像抽出プログラム３６ｊと、データベース検索プログラム３６ｋと、関連情報生成プログラム３６ｌとが格納されている。
【００８９】
カメラ制御プログラム３６ａは、図６に示すメイン処理を含む撮像装置１全体の制御に関するプログラムである。
【００９０】
パターン光撮影プログラム３６ｂは、原稿Ｐの３次元形状を検出するために被写体にパターン光を投影した状態と、投影していない状態とを撮像するプログラムである。
【００９１】
輝度画像生成プログラム３６ｃは、パターン光撮影プログラム３６ｂによってパターン光を投影した状態を撮像したパターン光有画像と、パターン光を投影していない状態を撮像したパターン光無画像のそれぞれについて、ＹＣｂＣｒ空間におけるＹ値を画像のＲＧＢ値から算出するプログラムである。
【００９２】
また、パターン光は複数種類のものが時系列に投影され各パターン光毎に撮像され、複数種類の輝度画像が生成される。
【００９３】
コード画像生成プログラム３６ｄは、輝度画像生成プログラム３６ｃによって生成される複数枚の輝度画像について、予め設定した輝度閾値あるいはパターン光無画像の輝度画像を参照して２値化し、その結果より各画素毎に所定のコードを割り当てたコード画像を生成するプログラムである。
【００９４】
コード境界抽出プログラム３６ｅは、コード画像生成プログラム３６ｄによっって生成されるコード画像と、輝度画像生成プログラム３６ｃによって生成される輝度画像とを利用して、コードの境界座標をサブピクセル精度で求めるプログラムである。
【００９５】
レンズ収差補正プログラム３６ｆは、コード境界抽出プログラム３６ｅによってサブピクセル精度で求められているコードの境界座標に対して、撮像光学系２０の収差補正を行うプログラムである。
【００９６】
三角測量演算プログラム３６ｇは、レンズ収差補正プログラム３６ｆによって収差補正がなされたコードの境界座標から、その境界座標に関する実空間の３次元座標を演算するプログラムである。
【００９７】
原稿姿勢演算プログラム３６ｈは、三角測量演算プログラム３６ｇで演算された３次元座標から原稿Ｐの３次元形状を推定して求めるプログラムである。
【００９８】
平面変換プログラム３６ｉは、原稿姿勢演算プログラム３６ｈで演算される原稿Ｐの３次元形状に基づき、原稿Ｐの正面から撮像したような平面化画像を生成するプログラムである。
【００９９】
オブジェクト画像抽出プログラム３６ｊは、３次元形状に基づいて、撮像画像データから立体形状を有する被写体毎に、その撮像画像データにおける被写体の輪郭により囲まれた画像を切り出し、二次元情報を抽出するプログラムである。
【０１００】
ここで、「二次元情報」とは、二次元的な撮像画像データにおける被写体の輪郭の形状や、被写体表面のカラー情報（テクスチャー）や、被写体表面の物性情報、例えば、反射率、色、表面粗さ、などからなる情報であり（以下、オブジェクト画像という）、二次元的な撮像画像データから被写体毎に抽出される情報をいう。
【０１０１】
データベース検索プログラム３６ｋは、通信ネットワークを介して画像入出力装置１と通信可能に接続されているサーバやＲＦインターフェイスを介して画像入出力装置１と接続されているパーソナルコンピュータなどに記憶されているデータベースを検索し、被写体に関する関連情報を取得するためのプログラムである。
【０１０２】
関連情報生成プログラム３６ｌは、データベースから取得された被写体に関する関連情報に基づいて、その関連情報を使用者に提示するための投影画像情報を生成するためのプログラムである。具体的には、各被写体について関連情報を取得すると、その関連情報を示す文字列等が、各被写体上またはその被写体の近傍に投影画像として表示されるように、投影画像情報を生成する。
【０１０３】
ＲＡＭ３７には、パターン光有画像格納部３７ａと、パターン光無画像格納部３７ｂと、輝度画像格納部３７ｃと、コード画像格納部３７ｄと、コード境界座標格納部３７ｅと、ＩＤ格納部３７ｆと、収差補正座標格納部３７ｇと、３次元座標格納部３７ｈと、原稿姿勢演算結果格納部３７ｉと、平面変換結果格納部３７ｊと、投影画像格納部３７ｋと、オブジェクト画像格納部３７ｌと、合成画像格納部３７ｍと、ワーキングエリア３７ｎとが記憶領域として割り当てられている。
【０１０４】
パターン光有画像格納部３７ａは、パターン光撮影プログラム３６ｂによって原稿Ｐにパターン光を投影した状態を撮像したパターン光有画像を格納する。パターン光無画像格納部３７ｂは、パターン光撮影プログラム３６ｂによって原稿Ｐにパターン光を投影していない状態を撮像したパターン光無画像を格納する。
【０１０５】
輝度画像格納部３７ｃは、輝度画像生成プログラム３６ｃによって生成される輝度画像を格納する。コード画像格納部３７ｄは、コード画像生成プログラム３６ｄによって生成されるコード画像を格納する。コード境界座標格納部３７ｅは、コード境界抽出プログラム３６ｅによって、抽出されるサブピクセル精度で求められた各コードの境界座標を格納する。ＩＤ格納部３７ｆは、境界を有する画素位置において明暗の変化を有する輝度画像に割り当てられるＩＤ等を格納する。収差補正座標格納部３７ｇは、レンズ収差補正プログラム３６ｆによって収差補正がなされたコードの境界座標を格納する。３次元座標格納部３７ｈは、三角測量演算プログラム３６ｇによって演算される実空間の３次元座標を格納する。
【０１０６】
原稿姿勢演算結果格納部３７ｉは、原稿姿勢演算プログラム３６ｈによって演算される原稿Ｐの３次元形状に関するパラメータを格納する。平面変換結果格納部３７ｊは、平面変換プログラム３６ｉよって生成される平面変換結果を格納する。投影画像格納部３７ｋは、画像投影部１３から投影する画像情報を格納する。
【０１０７】
オブジェクト画像格納部３７ｌは、３次元座標格納部３７ｈに格納されている３次元情報に基づいて、二次元的な撮像画像データから被写体毎に、その撮像画像データにおける被写体の輪郭により囲まれた画像を切り出すことにより得られるオブジェクト画像を格納する。合成画像格納部３７ｍは、３次元形状検出結果としての計測頂点をポリゴンで結んでそのサーフェイスを表示した各被写体毎のポリゴン情報に、オブジェクト画像を貼り付けて得られる合成画像を格納する。
【０１０８】
ワーキングエリア３７ｎは、ＣＰＵ１５での演算のために一時的に使用するデータを格納する。
【０１０９】
図６は、メイン処理のフローチャートである。尚、このメイン処理におけるデジカメ処理（Ｓ６０５）、ｗｅｂｃａｍ処理（Ｓ６０７）、立体画像処理（Ｓ６０９）、平面化画像処理（Ｓ６１１）、データベース検索処理（Ｓ６１３）の各処理についての詳細は後述する。
【０１１０】
メイン処理では、まず、電源が起動されると（Ｓ６０１）、プロセッサ１５やその他のインターフェイス等が初期化される（Ｓ６０２）。
【０１１１】
そして、モード切替スイッチ９の状態を判別するキースキャンが行われ（Ｓ６０３）、モード切替スイッチ９の設定がデジカメモードか否かが判断され（Ｓ６０４）、デジカメモードであれば（Ｓ６０４：Ｙｅｓ）、後述するデジカメ処理に移行する（Ｓ６０５）。
【０１１２】
一方、デジカメモードでなければ（Ｓ６０４：Ｎｏ）、モード切替スイッチ９の設定がｗｅｂｃａｍモードか否かが判断され（Ｓ６０６）、ｗｅｂｃａｍモードであれば（Ｓ６０６：Ｙｅｓ）、後述するｗｅｂｃａｍ処理に移行する（Ｓ６０７）。
【０１１３】
一方、ｗｅｂｃａｍモードでなければ（Ｓ６０５：Ｎｏ）、モード切替スイッチ９の設定が立体画像モードか否かが判断され（Ｓ６０８）、立体画像モードであれば（Ｓ６０８：Ｙｅｓ）、後述する立体画像処理に移行する（Ｓ６０９）。
【０１１４】
一方、立体画像モードでなければ（Ｓ６０８：Ｎｏ）、モード切替スイッチ９の設定が平面化画像モードか否かが判断され（Ｓ６１０）、平面化画像モードであれば（Ｓ６１０：Ｙｅｓ）、後述する平面化画像処理に移行する（Ｓ６１１）。
【０１１５】
一方、平面化画像モードでなければ（Ｓ６１０：Ｎｏ）、モード切替スイッチ９の設定がデータベース検索モードか否かが判断され（Ｓ６１２）、データベース検索モードであれば（Ｓ６１２：Ｙｅｓ）、後述するデータベース検索処理に移行する（Ｓ６１３）。
【０１１６】
一方、データベース検索モードでなければ（Ｓ６１２：Ｎｏ）、モード切替スイッチ９がオフモードか否かが判断され（Ｓ６１４）、オフモードでなければ（Ｓ６１４：Ｎｏ）、Ｓ６０３からの処理を繰り返し、オフモードであれば（Ｓ６１４：Ｙｅｓ）、当該処理を終了する。
【０１１７】
図７は、デジカメ処理（図６のＳ６０５）のフローチャートである。デジカメ処理は、画像撮像部１４によって撮像した画像を取得する処理である。
【０１１８】
この処理では、まず、ＣＣＤ２２に高解像度設定信号を送信する（Ｓ７０１）。これにより高品質の撮像画像を使用者に提供することができる。
【０１１９】
次に、モニタＬＣＤ１０にファインダ画像（ファインダ６を介して見える範囲の画像）を表示する（Ｓ７０２）。よって、使用者は、ファインダ６を覗き込むことなく、モニタＬＣＤ１０に表示された画像によって実際の撮像の前に、撮像画像（撮像範囲）を確認することができる。
【０１２０】
次に、レリーズボタン８をスキャンし（Ｓ７０３ａ）、レリーズボタン８が半押しされたか否かを判断する（Ｓ７０３ｂ）。半押しされていれば（Ｓ７０３ｂ：Ｙｅｓ）、オートフォーカス（ＡＦ）および自動露出（ＡＥ）機能を起動し、ピント、絞り、シャッタスピードを調節する（Ｓ７０３ｃ）。尚、半押しされていなければ（Ｓ７０３ｂ：Ｎｏ）、Ｓ７０３ａからの処理を繰り返す。
【０１２１】
次に、再び、レリーズボタン８をスキャンし（Ｓ７０３ｄ）、レリーズボタン８が全押しされたか否かを判断する（Ｓ７０３ｅ）。全押しされていれば（Ｓ７０３ｅ：Ｙｅｓ）、フラッシュモードか否かを判断する（Ｓ７０４）。
【０１２２】
その結果、フラッシュモードであれば（Ｓ７０４：Ｙｅｓ）、フラッシュ７を投光して（Ｓ７０５）、撮影し（Ｓ７０６）、フラッシュモードでなければ（Ｓ７０４：Ｎｏ）、フラッシュ７を投光することなく撮影する（Ｓ７０６）。尚、Ｓ７０３ｅの判断において、全押しされていなければ（Ｓ７０３ｅ：Ｎｏ）、Ｓ７０３ａからの処理を繰り返す。
【０１２３】
次に、撮影した撮像画像をＣＣＤ２２からキャッシュメモリ２８に転送し（Ｓ７０７）、キャッシュメモリ２８に記憶された撮像画像をモニタＬＣＤ１０に表示する（Ｓ７０８）。このように、撮像画像をキャッシュメモリ２８に転送することでメインメモリに転送する場合に比較して、撮像画像を高速にモニタＬＣＤ１０に表示させることができる。そして、その撮像画像を外部メモリ２７に格納する（Ｓ７０９）。
【０１２４】
最後に、モード切替スイッチ９に変化が無いか否かを判断し（Ｓ７１０）、変化が無ければ（Ｓ７１０：Ｙｅｓ）、Ｓ７０２からの処理を繰り返し、変化があれば（Ｓ７１０：Ｎｏ）、当該処理を終了する。
【０１２５】
図８は、ｗｅｂｃａｍ処理（図６のＳ６０７）のフローチャートである。ｗｅｂｃａｍ処理は、画像撮像部１４で撮像した撮像画像（静止画および動画を含む）を外部ネットワークに送信する処理である。尚、本実施例では、撮像画像として動画を外部ネットワークに送信する場合を想定している。
【０１２６】
この処理では、ます、ＣＣＤ２２に低解像度設定信号を送信し（Ｓ８０１）、周知のオートフォーカス（ＡＦ）及び自動露出（ＡＥ）機能を起動して、ピント、絞り、シャッター速度を調節した後に（Ｓ８０２）、撮影を開始する（Ｓ８０３）。
【０１２７】
そして、撮影された撮像画像をモニタＬＣＤ１０に表示し（Ｓ８０４）、ファインダ画像を投影画像格納部３７ｋに格納し（Ｓ８０５）、後述する投影処理を行い（Ｓ８０６）、投影画像格納部３７ｋに格納されている画像を投影面に投影する。
【０１２８】
また、撮像画像をＣＣＤ２２からキャッシュメモリ２８に転送し（Ｓ８０７）、キャッシュメモリ２８に転送された撮像画像をＲＦインターフェイスであるＲＦドライバ２４及びアンテナ１１を介して外部ネットワークに送信する（Ｓ８０８）。
【０１２９】
そして、最後に、モード切替スイッチ９に変化が無いか否かを判断し（Ｓ８０９）、変化が無ければ（Ｓ８０９：Ｙｅｓ）、Ｓ８０２からの処理を繰り返し、変化があれば（Ｓ８０９：Ｎｏ）、当該処理を終了する。
【０１３０】
図９は、投影処理（図８のＳ８０６）のフローチャートである。この処理は、投影画像投影部１３から投影画像格納部３７ｋに格納されている画像を投影面に投影する処理である。この処理では、まず、投影画像格納部３７ｋに画像が格納されているか否かを確認する（Ｓ９０１）。格納されていれば（Ｓ９０１：Ｙｅｓ）、投影画像格納部３７ｋに格納されている画像を投影ＬＣＤドライバ３０に転送し（Ｓ９０２）、投影ＬＣＤドライバ３０から、その画像に応じた画像信号を投影ＬＣＤ１９に送り、投影ＬＣＤ１９に画像を表示する（Ｓ９０３）。
【０１３１】
次に、光源ドライバ２９を駆動し（Ｓ９０４）、その光源ドライバ２９からの電気信号によってＬＥＤアレイ１７Ａを点灯し（Ｓ９０５）、当該処理を終了する。
【０１３２】
こうして、ＬＥＤアレイ１７Ａが点灯すると、ＬＥＤアレイ１７Ａから発光する光は、光源レンズ１８を介して投影ＬＣＤ１９に到達し、投影ＬＣＤ１９において、投影ＬＣＤドライバ３０から送信される画像信号に応じた空間変調が施され、画像信号光として出力される。そして、その投影ＬＣＤ１９から出力される画像信号光は、投影光学系２０を介して投影面に投影画像として投影される。
【０１３３】
図１０は、立体画像処理（図６のＳ６０９）のフローチャートである。立体画像処理は、被写体の３次元形状を検出し、その立体画像としての３次元形状検出結果画像を取得、表示、投影する処理である。
【０１３４】
この処理では、まず、ＣＣＤ２２に高解像度設定信号を送信し（Ｓ１００１）、モニタＬＣＤ１０にファインダ画像を表示する（Ｓ１００２）。
【０１３５】
次に、レリーズボタン８をスキャンし（Ｓ１００３ａ）、レリーズボタン８が半押しされたか否かを判断する（Ｓ１００３ｂ）。半押しされていれば（Ｓ１００３ｂ：Ｙｅｓ）、オートフォーカス（ＡＦ）および自動露出（ＡＥ）機能を起動し、ピント、絞り、シャッタスピードを調節する（Ｓ１００３ｃ）。尚、半押しされていなければ（Ｓ１００３ｂ：Ｎｏ）、Ｓ１００３ａからの処理を繰り返す。
【０１３６】
次に、再び、レリーズボタン８をスキャンし（Ｓ１００３ｄ）、レリーズボタン８が全押しされたか否かを判断する（Ｓ１００３ｅ）。全押しされていれば（Ｓ１００３ｅ：Ｙｅｓ）、フラッシュモードか否かを判断する（Ｓ１００３ｆ）。
【０１３７】
その結果、フラッシュモードであれば（Ｓ１００３ｆ：Ｙｅｓ）、フラッシュ７を投光して（Ｓ１００３ｇ）、撮影し（Ｓ１００３ｈ）、フラッシュモードでなければ（Ｓ１００３ｆ：Ｎｏ）、フラッシュ７を投光することなく撮影する（Ｓ１００３ｈ）。尚、Ｓ１００３ｅの判断において、全押しされていなければ（Ｓ１００３ｅ：Ｎｏ）、Ｓ１００３ａからの処理を繰り返す。
【０１３８】
次に、後述する３次元形状検出処理を行い、被写体の３次元形状を検出する（Ｓ１００６）。
【０１３９】
次に、３次元形状検出処理（Ｓ１００６）における３次元形状検出結果を外部メモリ２７に格納し（Ｓ１００７）、３次元形状検出結果をモニタＬＣＤ１０に表示する（Ｓ１００８）。尚、この３次元形状検出結果とは、各計測頂点の実空間における３次元座標（Ｘ，Ｙ，Ｚ）の集合体として表示する。
【０１４０】
次に、３次元形状検出結果としての計測頂点をポリゴンで結んでそのサーフェスを表示した立体画像（３ＤのＣＧ画像）としての３次元形状検出結果画像を投影画像格納部３７ｋに格納し（Ｓ１００９）、図８のＳ８０６の投影処理と同様な投影処理を行う（Ｓ１０１０）。尚、この場合には、図１８において説明する投影ＬＣＤ１９上の座標を３次元空間座標に変換する式の逆関数を利用して、求められた３次元座標に対する投影ＬＣＤ１９上の座標を求めることで、３次元形状結果座標を投影面に投影させることができる。
【０１４１】
そして、モード切替スイッチ９に変化が無いか否かを判断し（Ｓ１０１１）、変化が無ければ（Ｓ１０１１：Ｙｅｓ）、Ｓ７０２からの処理を繰り返し、変化があれば（Ｓ１０１１：Ｎｏ）、当該処理を終了する。
【０１４２】
図１１（ａ）は、上述した３次元形状検出処理（図１０のＳ１００６）において、３次元形状を検出するために利用する空間コード法の原理を説明するための図であり、（ｂ）は（ａ）とは異なるパターン光を示す図である。パターン光にはこれら（ａ）または（ｂ）のいずれを用いても良く、更には、多階調コードであるグレイレベルコードを用いても良い。
【０１４３】
尚、この空間コード法についての詳細は、佐藤宏介、他１名、「空間コード化による距離画像入力」、電子通信学会論文誌、８５／３Ｖｏｌ．Ｊ  ６８−Ｄ  Ｎｏ３  ｐ３６９〜３７５に詳細に開示されている。
【０１４４】
空間コード法は、投影光と観測画像間の三角測量に基づいて被写体の３次元形状を検出する方法の１種であり、（ａ）に示すように、投影光源Ｌと観測器Ｏとを距離Ｄだけ離して設置し、空間を細長い扇状領域に分割しコード化することを特徴とする。
【０１４５】
図中の３枚のマスクパターンＡ，Ｂ，ＣをＭＳＢから順番に投影すると、各扇状領域はマスクによって明「１」と暗「０」とにコード化される。例えば、点Ｐを含む領域は、マスクＡ，Ｂでは光が当たらず、マスクＣでは明になるので、００１（Ａ＝０、Ｂ＝０、Ｃ＝１）とコード化される。
【０１４６】
各扇状の領域には、その方向φに相当するコードが割り当てられ、それぞれを１本のスリット光線とみなすことができる。そこで各マスクごとに情景を観測機器としてのカメラで撮影し、明暗パターンを２値化してメモリの各ビットプレーンを構成していく。
【０１４７】
こうして、得られた多重ビットプレーン画像の横方向の位置（アドレス）は、観測方向θに相当し、このアドレスのメモリの内容は投影光コード、即ち、φを与える。このθとφとから注目点の座標を決定する。
【０１４８】
また、この方法で使用するマスクパターンとしては、（ａ）ではマスクパターンＡ，Ｂ，Ｃのような純２進コードを用いる場合を図示しているが、マスクの位置ズレが起こると領域の境界で大きな誤差が生ずる危険性がある。
【０１４９】
例えば、（ａ）の点Ｑは領域３（０１１）と領域４（１００）の境界を示しているが、もしマスクＡの１がずれ込むと領域７（１１１）のコードが生ずる可能性がある。換言すれば、隣接する領域間でハミング距離が２以上のところで、大きな誤差が発生する可能性がある。
【０１５０】
そこで、この方法で使用するマスクパターンとしては、（ｂ）に示すように、隣接する領域間でハミング距離が常に１であるコードを使うことで、上述したようなコード化誤差を避けることができるとされている。
【０１５１】
図１２（ａ）は、３次元形状検出処理（図１０のＳ１００６）のフローチャートである。この処理では、まず、撮像処理を行う（Ｓ１２１０）。この撮像処理は、図１１（ａ）に示す複数枚の純２進コードのマスクパターンを利用して画像投影部１３から、明暗を交互に並べてなる縞状のパターン光（図１参照）を時系列的に被写体に投影し、各パターン光が投影されている状態を撮像したパターン光有画像と、パターン光が投影されていな状態を撮像したパターン光無画像とを取得する処理である。
【０１５２】
撮像処理を終了すると（Ｓ１２１０）、３次元計測処理を行う（Ｓ１２２０）。３次元計測処理は、撮像処理によって取得したパターン光有画像とパターン光無画像とを利用して、実際に被写体の３次元形状を計測する処理である。こうして、３次元計測処理を終了すると（Ｓ１２２０）、当該処理を終了する。
【０１５３】
図１２（ｂ）は、撮像処理（図１２（ａ）のＳ１２１０）のフローチャートである。この処理は、パターン光撮影プログラム３６ａに基づき実行され、まず、画像投影部１３からパターン光を投影することなく、画像撮像部１４によって被写体を撮像することで、パターン光無画像を取得する（Ｓ１２１１）。尚、取得したパターン光無画像はパターン光無画像格納部３７ｂに格納される。
【０１５４】
次に、カウンタｉを初期化し（Ｓ１２１２）、そのカウンタｉの値が最大値ｉｍａｘか否かを判断する（Ｓ１２１３）。尚、最大値ｉｍａｘは使用するマスクパターンの数によって決定される。例えば、８種類のマスクパターンを使用する場合には、最大ｉｍａｘ（＝８）となる。
【０１５５】
そして、判断の結果、カウンタｉの値が最大値ｉｍａｘより小さい場合には（Ｓ１２１３：Ｙｅｓ）、使用するマスクパターンの内、ｉ番のマスクパターンを投影ＬＣＤ１９に表示し、そのｉ番のマスクパターンによって投影されるｉ番のパターン光を投影面に投影し（Ｓ１２１４）、そのパターン光が投影されている状態を画像撮像部１４によって撮影する（Ｓ１２１５）。
【０１５６】
こうして、被写体にｉ番のパターン光が投影された状態を撮像したパターン光有画像を取得する。尚、取得したパターン光有画像は、パターン光有画像格納部３７ａに格納される。
【０１５７】
撮影を終了すると、ｉ番のパターン光の投影を終了し（Ｓ１２１６）、次のパターン光を投影すべく、カウンタｉに「１」を加算して（Ｓ１２１７）、Ｓ１２１３からの処理を繰り返す。
【０１５８】
そして、カウンタｉの値が最大値ｉｍａｘより大きいと判断すると（Ｓ１２１３：Ｎｏ）、当該処理を終了する。即ち、この撮像処理においては、１枚のパターン光無画像と、最大値ｉｍａｘ枚のパターン光有画像とを取得することになる。
【０１５９】
図１２（ｃ）は、３次元計測処理（図１２（ａ）のＳ１２２０）のフローチャートである。この処理は、輝度画像生成プログラム３６ｃに基づき実行され、まず、輝度画像を生成する（Ｓ１２２１）。ここで、輝度は、ＹＣｂＣｒ空間におけるＹ値であり、各画素のＲＧＢ値よりＹ＝０．２９８９・Ｒ＋０．５８６６・Ｇ＋０．１１４５・Ｂから計算される値である。各画素についてＹ値を求めることにより、各パターン光有及び無し画像に関する輝度画像を生成する。生成した輝度画像は、輝度画像格納部３７ｃに格納される。また、パターン光の番号に対応した番号を各輝度画像に割り付けておく。
【０１６０】
次に、コード画像生成プログラム３６ｄにより、上述した空間コード法を利用して、生成した輝度画像を組み合わせることで、各画素毎にコード化されたコード画像を生成する（Ｓ１２２２）。
【０１６１】
このコード画像は、輝度画像格納部３７ｃに格納したパターン光有り画像に関する輝度画像の各画素について、あらかじめ設定した輝度閾値あるいはパターン光無画像と比較することで２値化し、その結果を図１１（ａ），（ｂ）に説明した様に、ＬＳＢ〜ＭＳＢに割り当てることで生成することができる。生成されたコード画像はコード画像格納部３７ｄに格納される。
【０１６２】
次に、コード境界抽出プログラム３６ｅにより、後述するコード境界座標検出処理を行い（Ｓ１２２３）、各画素毎に割り当てられたコードの境界座標をサブピクセル精度で検出する。
【０１６３】
次に、レンズ収差補正プログラム３６ｆにより、レンズ収差補正処理を行う（Ｓ１２２４）。この処理によって、撮像光学系２１の歪みなどの影響で誤差を含んでいるＳ１２２３で検出されるコード境界座標の誤差を補正することができる。
【０１６４】
次に、三角測量演算プログラム３６ｇにより、三角測量原理による実空間変換処理を行う（Ｓ１２２５）。この処理によって収差補正が施された後のＣＣＤ空間上のコード境界座標は、実空間における３次元座標に変換され、３次元形状検出結果としての３次元座標が求められる。
【０１６５】
図１３は、コード境界座標検出処理（図１２のＳ１２２３）の概略を説明するための図である。上側の図は、ＣＣＤ空間において実際のパターン光の明暗の境界を境界線Ｋで示し、そのパターン光を上述した空間コード法でコード化し、１のコードと他のコードとの境界を図中太線で示した図である。
【０１６６】
即ち、上述した空間コード法におけるコード化は、各画素単位で行われるため、実際のパターン光の境界線Ｋと、コード化された境界（図中太線）とではサブピクセル精度の誤差が生ずる。そこで、このコード境界座標検出処理は、コードの境界座標をサブピクセル精度で検出することを目的とする。
【０１６７】
この処理では、まず、ある検出位置（以下「ｃｕｒＣＣＤＸ」と称す）において、ある着目コード（以下「ｃｕｒＣｏｄｅ」という）から他のコードに変化する第１画素Ｇを検出する（第１画素検出工程）。
【０１６８】
例えば、ｃｕｒＣＣＤＸにおいて、上から順番に各画素を検出すると、境界（太線）まではｃｕｒＣｏｄｅを有する画素であるが、境界の次の画素、即ち、第１画素Ｇにおいて、ｃｕｒＣｏｄｅは変化しているので、これを第１画素Ｇとして検出する。
【０１６９】
次に、その第１画素Ｇの画素位置において、図１２のＳ１２２１において輝度画像格納部３７ｃに格納された輝度画像の内から、明暗の変化を持つ輝度画像の全部を抽出する（輝度画像抽出工程）。
【０１７０】
次に、近似に利用するための画素領域を特定するために検出位置を「２」左側に移動させ、検出位置ｃｕｒＣＣＤＸ−２の位置において、コード画像を参照して、着目コード（ｃｕｒＣｏｄｅ）から他のコードに変化する画素（境界画素（ｃｕｒＣＣＤＸ−２の検出位置では画素Ｈ））を探し、その画素を中心に予め定めた範囲（本実施例の場合Ｙ軸方向に−３画素と＋２画素の範囲）の画素範囲を特定する（画素領域特定工程の一部）。
【０１７１】
次に、その予め定めた範囲内において、図中の下側の左側のグラフに示すように、Ｙ方向の画素位置と輝度とに関する近似式（図中実線で示す）を求め、その近似式における輝度閾値ｂＴｈとの交点におけるＹ座標Ｙ１を求める（境界座標検出工程の一部）。
【０１７２】
尚、輝度閾値ｂＴｈは、予め定められた範囲内から算出（例えば、各画素の輝度の平均の２分の１）しても良く、予め与えられた固定値であっても良い。これにより、明と暗との境界をサブピクセル精度で検出することができる。
【０１７３】
次に、検出位置をｃｕｒＣＣＤＸ−２から「１」右側に移動させ、ｃｕｒＣＣＤＸ−１において上述したのと同様な処理を行い、ｃｕｒＣＣＤＸ−１における代表値を求める（境界座標検出工程の一部）。
【０１７４】
このように、境界画素を中心にＹ軸方向に予め定めた範囲と、Ｘ軸方向におけるｃｕｒＣＣＤＸ−２からｃｕｒＣＣＤＸ＋２の範囲とで構成される画素領域（図中右下がり斜線部参照）において、各検出位置における代表値を求める。
【０１７５】
これまでの処理をｃｕｒＣｏｄｅから他のコードへ変化する画素を持つ輝度画像の全てに行い、各輝度画像についての代表値の加重平均値を最終的にｃｕｒＣｏｄｅにおける境界座標として採用する（境界座標検出工程の一部）。
【０１７６】
これにより、コードの境界座標を高精度にサブピクセル精度で検出することができ、この境界座標を利用して上述した三角測量原理による実空間変換処理（図１２のＳ１２２５）を行うことで、高精度に被写体の３次元形状を検出することができる。
【０１７７】
また、このように輝度画像に基づき算出される近似式を利用して境界座標をサブピクセル精度で検出することができるため、従来のように撮像枚数を増加させることもなく、また、純２進コードで明暗付けられたパターン光であっても良く、特殊なパターン光であるグレイコードを用いる必要はない。
【０１７８】
尚、本実施例では、各検出位置において境界画素を中心にＹ軸方向に「−３」から「＋２」の範囲と、Ｘ軸方向における検出位置としてのｃｕｒＣＣＤＸ−２からｃｕｒＣＣＤＸ＋２の範囲とで構成される領域を、近似を求めるための画素領域として説明したが、この画素領域のＹ軸、Ｘ軸の範囲はこれらに限定されるものではない。例えば、ｃｕｒＣＣＤＸの検出位置における境界画素を中心としたＹ軸方向への所定範囲だけを画素領域としても良い。
【０１７９】
図１４は、コード境界座標検出処理（図１２のＳ１２２３）のフローチャートである。この処理は、コード境界抽出プログラム３６ｅに基づき実行され、まず、ＣＣＤ空間におけるコード境界座標列の各要素を初期化し（Ｓ１４０１）、ｃｕｒＣＣＤＸを開始座標に設定する（Ｓ１４０２）。
【０１８０】
次に、ｃｕｒＣＣＤＸが終了座標以下か否かを判断し（Ｓ１４０３）、終了座標以下であれば（Ｓ１４０３：Ｙｅｓ）、ｃｕｒＣｏｄｅを「０」に設定する（Ｓ１４０４）。即ち、ｃｕｒＣｏｄｅは当初、最小値に設定される。
【０１８１】
次に、ｃｕｒＣｏｄｅが最大コードより小さいか否かを判断する（Ｓ１４０５）。ｃｕｒＣｏｄｅが最大コードより小さければ（Ｓ１４０５：Ｙｅｓ）、ｃｕｒＣＣＤＸにおいてコード画像を参照して、ｃｕｒＣｏｄｅの画素を探し（Ｓ１４０６）、ｃｕｒＣｏｄｅの画素が存在するか否かを判断する（Ｓ１４０７）。
【０１８２】
その結果、ｃｕｒＣｏｄｅの画素が存在していれば（Ｓ１４０７：Ｙｅｓ）、ｃｕｒＣＣＤＸにおいて、そのｃｕｒＣｏｄｅよりも大きなＣｏｄｅの画素をコード画像を参照して探し（Ｓ１４０８）、そのｃｕｒＣｏｄｅよりも大きなｃｕｒＣｏｄｅの画素が存在するか否かを判断する（Ｓ１４０９）。
【０１８３】
その結果、ｃｕｒＣｏｄｅよりも大きなＣｏｄｅの画素が存在していれば（Ｓ１４０９：Ｙｅｓ）、後述する境界をサブピクセル精度で求める処理を行う（Ｓ１４１０）。そして、次のｃｕｒＣｏｄｅについて境界座標を求めるべく、ｃｕｒＣｏｄｅに「１」を加算して（Ｓ１４１１）、Ｓ１４０５からの処理を繰り返す。
【０１８４】
即ち、境界は、ｃｕｒＣｏｄｅを有する画素の画素位置またはｃｕｒＣｏｄｅよりも大きなＣｏｄｅの画素の画素位置に存在しているため、本実施例では、暫定的に境界は、ｃｕｒＣｏｄｅより大きなｃｕｒＣｏｄｅの画素の画素位置にあると仮定して処理を進めるものである。
【０１８５】
また、ｃｕｒＣｏｄｅが存在していない場合や（Ｓ１４０７：Ｎｏ）、ｃｕｒＣｏｄｅよりも大きなＣｏｄｅの画素が存在していない場合には（Ｓ１４０９：Ｎｏ）、次のｃｕｒＣｏｄｅについて境界座標を求めるべく、ｃｕｒＣｏｄｅに「１」を加算して（Ｓ１４１１）、Ｓ１４０５からの処理を繰り返す。
【０１８６】
こうして、０から最大コードまでのｃｕｒＣｏｄｅについて、Ｓ１４０５からＳ１４１１までの処理を繰り返し、ｃｕｒＣｏｄｅが最大コードより大きくなると（Ｓ１４０５：Ｎｏ）、検出位置を変更すべく、ｃｕｒＣＣＤＸに「ｄＣＣＤＸ」を加算し（Ｓ１４１２）、新たな検出位置において、上述したのと同様にＳ１４０３からの処理を繰り返す。
【０１８７】
そして、ｃｕｒＣＣＤＸを変更してゆき、最終的にｃｕｒＣＣＤＸが終了座標より大きくなると（Ｓ１４０３）、即ち、開始座標から終了座標までの検出が終了すると、当該処理を終了する。
【０１８８】
図１５は、コード境界座標をサブピクセル精度で求める処理（図１４のＳ１４１０）のフローチャートである。
【０１８９】
この処理では、まず、図１２のＳ１２２１において輝度画像格納部３７ｃに格納された輝度画像の内から、図１４のＳ１４０９において検出されたｃｕｒＣｏｄｅよりも大きなＣｏｄｅを有する画素の画素位置において、明暗の変化を持つ輝度画像の全部を抽出する（Ｓ１５０１）。
【０１９０】
そして、その抽出した輝度画像のマスクパターン番号を配列ＰａｔＩＤ［］へ格納し、その抽出した輝度画像の画像数をｎｏＰａｔＩＤへ格納する（Ｓ１５０２）。尚、配列ＰａｔＩＤ［］とｎｏＰａｔＩＤとはＩＤ格納部３７ｆに格納される。
【０１９１】
次に、カウンタｉを初期化し（Ｓ１５０３）、カウンタｉの値がｎｏＰａｔＩＤより小さいか否かを判断する（Ｓ１５０４）。その結果、小さいと判断されれば（Ｓ１５０４：Ｙｅｓ）、カウンタｉに対応するＰａｔＩＤ［ｉ］のマスクパターン番号を持つ輝度画像について、境界のＣＣＤＹ値を求め、その値をｆＣＣＤＹ［ｉ］へ格納する（Ｓ１５０５）。
【０１９２】
このＳ１５０５の処理を終了すると、カウンタｉに「１」を加算し（Ｓ１５０６）、Ｓ１５０４からの処理を繰り返す。そして、Ｓ１５０４において、カウンタｉの値がｎｏＰａｔＩＤより大きいと判断されると（Ｓ１５０４：Ｎｏ）、即ち、Ｓ１５０１で抽出された全部の輝度画像についてＳ１５０５の処理が終了すると、Ｓ１５０５の処理で求めたｆＣＣＤＹ［ｉ］の加重平均値を計算し、その結果を境界値とする（Ｓ１５０７）。
【０１９３】
尚、加重平均値に代えて、Ｓ１５０５の処理で求めたｆＣＣＤＹ［ｉ］の中央値を計算し、その結果を境界値としたり、統計的な計算により境界値を計算したりすることもできる。
【０１９４】
即ち、境界座標は、ｃｕｒＣＣＤＸの座標と、Ｓ１５０７で求められる加重平均値とで表現され、この境界座標をコード境界座標格納部３７ｅに格納して、当該処理を終了する。
【０１９５】
図１６は、ＰａｔＩＤ［ｉ］のマスクパターン番号を持つ輝度画像について、境界のＣＣＤＹ値を求める処理（図１５のＳ１５０５）のフローチャートである。
【０１９６】
この処理では、まず、「ｃｕｒＣＣＤＸ−ｄｘ」と「０」との内、大きい値をｃｃｄｘとして設定する「ｃｃｄｘ＝ＭＡＸ（ｃｕｒＣＣＤＸ−ｄｘ，０）」で表される処理を行うと共に、カウンタｊを初期化する（Ｓ１６０１）。
【０１９７】
具体的には、Ｓ１６０１でいう「０」はＣＣＤＸ値の最小値を意味し、例えば、今、検出位置としてのｃｕｒＣＣＤＸ値が「１」で、予め設定されているｄｘ値が「２」であったとすると、「ｃｕｒＣＣＤＸ−ｄｘ」は「−１」となり、ＣＣＤＸ値の最小値である「０」よりも小さくなるため、「−１」における以降の処理は、「ｃｃｄｘ＝０」として設定する処理を行う。
【０１９８】
即ち、ＣＣＤＸ値の最小値よりも小さい位置については、以降の処理を除外する処理を行う。
【０１９９】
尚、この「ｄｘ」の値は、予め「０」を含む適当な整数に設定することができ、図１３で説明した例では、この「ｄｘ」は「２」に設定されており、図１３の例に従えば、このｃｃｄｘは「ｃｕｒＣＣＤＸ−２」に設定されることになる。
【０２００】
次に、ｃｃｄｘ＜＝ＭＩＮ（ｃｕｒＣＣＤＸ＋ｄｘ，ｃｃｄＷ−１）であるか否かを判断する（Ｓ１６０２）。つまり、左辺の「ＭＩＮ（ｃｕｒＣＣＤＸ＋ｄｘ，ｃｃｄＷ−１）」は、「ｃｕｒＣＣＤＸ＋ｄｘ」と、ＣＣＤＸ値の最大値「ｃｃｄＷ」から「１」を減算した「ｃｃｄＷ−１」との内、小さい値であることを意味しているので、その値と「ｃｃｄｘ」値との大小を比較する。
【０２０１】
即ち、ＣＣＤＸ値の最大値よりも大きい位置については、以降の処理を除外する処理を行う。
【０２０２】
そして、判断の結果、ｃｃｄｘがＭＩＮ（ｃｕｒＣＣＤＸ＋ｄｘ，ｃｃｄＷ−１）よりも小さければ（Ｓ１６０２：Ｙｅｓ）、コード画像とＰａｔＩＤ［ｉ］が割り当てられた輝度画像とを参照して、境界の存在する画素の画素位置のｅＣＣＤＹ値を求める（Ｓ１６０３）。
【０２０３】
例えば、検出位置を図１３に示すｃｕｒＣＣＤＸ−１であるとすると、画素Ｉを境界が存在する画素候補として検出し、画素Ｉの位置においてｅＣＣＤＹ値を求める。
【０２０４】
次に、ＰａｔＩＤ［ｉ］のマスクパターン番号を持つ輝度画像から、ＭＡＸ（ｅＣＣＤＹ−ｄｙ，０）＜＝ｃｃｄｙ＜＝ＭＩＮ（ｅＣＣＤＹ＋ｄｙ−１，ｃｃｄＨ−１）の範囲で、ｃｃｄｙ方向における輝度に関する近似多項式Ｂｔ＝ｆｂ（ｃｃｄｙ）を求める（Ｓ１６０４）。
【０２０５】
次に、その近似多項式Ｂｔと輝度閾値ｂＴｈとの交差するｃｃｄｙ値を求め、その値をｅｆＣＣＤＹ［ｊ］へ格納する（Ｓ１６０５）。このＳ１６０４とＳ１６０５とによって、サブピクセル精度の境界座標の検出をすることができる。
【０２０６】
次に、ｃｃｄｘとカウンタｊとに各々「１」を加算し（Ｓ１６０５）、Ｓ１６０２からの処理を繰り返す。即ち、ｃｕｒＣＣＤＸを中心とした左右の所定範囲内における各検出位置において、サブピクセル精度の境界を検出するのである。
【０２０７】
そして、Ｓ１６０２において、「ｃｃｄｘ」が「ＭＩＮ（ｃｕｒＣＣＤＸ＋ｄｘ，ｃｃｄＷ−１）」より大きいと判断されると（Ｓ１６０２：Ｎｏ）、ｃｕｒＣＣＤＸ−ｄｘからｃｕｒＣＣＤＸ＋ｄｘの範囲で計算されたｅｆＣＣＤＹ［ｊ］について、ｃｃｄｙ＝ｆｙ（ｃｃｄｘ）の近似多項式を求める（Ｓ１６０６）。この処理によってＳ１６０５において検出された各値を用いるので、１つの検出位置において境界座標を検出しようとする場合に比べて、境界座標の検出精度を向上させることができる。
【０２０８】
こうして得られた近似多項式とｃｕｒＣＣＤＸとの交点を、ＰａｔＩＤ［ｉ］のマスクパターン番号を持つ輝度画像についての境界のＣＣＤＹ値として（Ｓ１６０７）、当該処理を終了する。ここまでの処理を図１５のフローチャートに示すように、抽出した全部の輝度画像の１枚、１枚に実行し、求められた境界座標について加重平均値を計算して、その結果を最終的な境界座標としているので（Ｓ１５０７）、更に、境界座標の検出精度を向上させることができる。
【０２０９】
図１７は、レンズ収差補正処理（図１２のＳ１２２４）を説明するための図である。レンズ収差補正処理は、図１７（ａ）に示すように、撮像光学系２１の収差により、入射した光束が理想レンズにより結像すべき位置からずれてしまうことに対して、撮像された画素の位置を本来結像すべき位置へ補正する処理である。
【０２１０】
この収差補正は、例えば、図１７（ｂ）に示すように、撮像光学系２１の撮像範囲において、入射光の角度である半画角ｈｆａをパラメータとして光学系の収差を計算して求めたデータを基に補正する。
【０２１１】
この収差補正処理では、レンズ収差補正プログラム３６ｆに基づき実行され、コード境界座標格納部３７ｅに格納されているコード境界座標について行なわれ、収差補正処理がなされたデータは、収差補正座標格納部３７ｇに格納される。
【０２１２】
具体的には、実画像における任意点座標（ｃｃｄｘ、ｃｃｄｙ）を理想カメラ画像での座標（ｃｃｄｃｘ、ｃｃｄｃｙ）に変換する次の（ａ）から（ｃ）のカメラキャリブレーション（近似式）を用いて補正する。
【０２１３】
本実施例では、収差量ｄｉｓｔ（％）は、半画角ｈｆａ（ｄｅｇ）を用いてｄｉｓｔ＝ｆ（ｈｆａ）と記述する。また、撮像光学系２１の焦点距離をｆｏｃａｌｌｅｎｇｔｈ（ｍｍ）、ｃｃｄ画素長ｐｉｘｅｌｌｅｎｇｔｈ（ｍｍ）、ＣＣＤ２２におけるレンズの中心座標を（Ｃｅｎｔｘ、Ｃｅｎｔｙ）とする。
【０２１４】
（ａ）ｃｃｄｃｘ＝（ｃｃｄｘ−Ｃｅｎｔｘ）／（１＋ｄｉｓｔ／１００）＋Ｃｅｎｔｘ
（ｂ）ｃｃｄｃｙ＝（ｃｃｄｙ−Ｃｅｎｔｙ）／（１＋ｄｉｓｔ／１００）＋Ｃｅｎｔｙ
（ｃ）ｈｆａ＝ａｒｃｔａｎ［（（（ｃｃｄｘ−Ｃｅｎｔｘ）２＋（ｃｃｄｙ−Ｃｅｎｔｙ）２）０．５）×ｐｉｘｅｌｌｅｎｇｔｈ／ｆｏｃａｌｌｅｎｇｔｈ］
図１８は、三角測量原理による実空間変換処理（図１２のＳ１２２５）において、ＣＣＤ空間における座標から、３次元空間における３次元座標を算出する方法を説明するための図である。
【０２１５】
三角測量原理による実空間変換処理では、三角測量演算プログラム３６ｇによって、収差補正座標格納部３７ｇに格納されている収差補正がなされたコード境界座標についての３次元空間における３次元座標が算出される。こうして算出される３次元座標は、３次元座標格納部３７ｈに格納される。
【０２１６】
本実施例では、撮像される横方向に湾曲した原稿Ｐに対する画像入力出力装置１の座標系として、撮像光学系２１の光軸方向をＺ軸、そのＺ軸に沿って撮像レ光学系２１の主点位置からＶＰＺ離れた地点を原点、画像入出力装置１に対して水平方向をＸ軸、垂直方向をＹ軸とする。
【０２１７】
また、３次元空間（Ｘ，Ｙ，Ｚ）への画像投影部１３からの投影角度θｐ、撮像レンズ光学系２０の光軸と画像投影部１３の光軸との距離をＤ、撮像光学系２１のＹ方向の視野をＹｆｔｏｐからＹｆｂｏｔｔｏｍ、Ｘ方向の視野をＸｆｓｔａｒｔからＸｆｅｎｄ、ＣＣＤ２２のＹ軸方向の長さ（高さ）をＨｃ、Ｘ軸方向の長さ（幅）をＷｃとする。尚、投影角度θｐは、各画素毎に割り当てられたコードに基づき与えられる。
【０２１８】
この場合、ＣＣＤ２２の任意座標（ｃｃｄｘ，ｃｃｄｙ）に対応する３次元空間位置（Ｘ，Ｙ，Ｚ）は、ＣＣＤ２２の結像面上の点と、パターン光の投影点と、Ｘ−Ｙ平面に交差する点とで形成される三角形について５つの式を解くことで得ることができる。
（１）Ｙ＝−（ｔａｎθｐ）Ｚ＋ＰＰＺ＋ｔａｎθｐ−Ｄ＋ｃｍｐ（Ｘｔａｒｇｅｔ）
（２）Ｙ＝−（Ｙｔａｒｇｅｔ／ＶＰＺ）Ｚ＋Ｙｔａｒｇｅｔ
（３）Ｘ＝−（Ｘｔａｒｇｅｔ／ＶＰ）Ｚ＋Ｘｔａｒｇｅｔ
（４）Ｙｔａｒｇｅｔ＝Ｙｆｔｏｐ−（ｃｃｄｃｙ／Ｈｃ）×（Ｙｆｔｏｐ−Ｙｆｂｏｔｔｏｍ）
（５）Ｘｔａｒｇｅｔ＝Ｘｆｓｔａｒｔ＋（ｃｃｄｃｘ／Ｗｃ）×（Ｘｆｅｎｄ−Ｘｆｓｔａｒｔ）
尚、（１）におけるｃｍｐ（Ｘｔａｒｇｅｔ）は、撮像光学系２０と画像投影部１３とのズレを補正する関数であり、ズレが無い理想的な場合にはｃｍｐ（Ｘｔａｒｇｅｔ）＝０とみなすことができる。この式は、湾曲した原稿Ｐに限られるものではなく、任意の三次元形状を有するものに対しても利用できるものである。
【０２１９】
一方、上述したのと同様に、画像投影部１３に含まれる投影ＬＣＤ１９上の任意座標（ｌｃｄｃｘ、ｌｃｄｃｙ）と３次元空間中の３次元座標（Ｘ，Ｙ，Ｚ）との関係は次の（６）から（９）の式で表せる。
【０２２０】
尚、本実施例では、画像投影部１３の主点位置（０，０，ＰＰＺ）、画像投影部１３のＹ方向の視野をＹｐｆｔｏｐからＹｐｆｂｏｔｔｏｍ、Ｘ方向の視野をＸｐｆｓｔａｒｔからＸｐｆｅｎｄ、投影ＬＥＤ１９のＹ軸方向の長さ（高さ）をＨｐ、Ｘ軸方向の長さ（幅）Ｗｐとする。
（６）Ｙ＝−（Ｙｐｔａｒｇｅｔ／ＰＰＺ）Ｚ＋Ｙｐｔａｒｇｅｔ
（７）Ｘ＝−（Ｘｐｔａｒｇｅｔ／ＰＰＺ）Ｚ＋Ｘｐｔａｒｇｅｔ
（８）Ｙｐｔａｒｇｅｔ＝Ｙｐｆｔｏｐ−（ｌｃｄｃｙ／Ｈｐ）×（Ｙｐｆｔｏｐ−Ｙｐｆｂｏｔｔｏｍ）
（９）Ｘｐｔａｒｇｅｔ＝Ｘｐｆｓｔａｒｔ＋（ｌｃｄｃｘ／Ｗｐ）×（Ｘｐｆｅｎｄ−Ｘｐｆｓｔａｒｔ）
この関係式を利用することで、３次元空間座標（Ｘ，Ｙ，Ｚ）を上記（６）から（９）の式に与えることで、ＬＣＤ空間座標を（ｌｃｄｃｘ，ｌｃｄｃｙ）を算出することができる。よって、例えば、３次元空間に任意の形状、文字を投影するためのＬＣＤ素子パターンを算出することができる。
【０２２１】
図１９は、平面化画像処理（図６のＳ６１１）のフローチャートである。平面化画像処理は、例えば、図１に示すような湾曲した状態の原稿Ｐを撮像した場合や矩形状の原稿を斜め方向から撮像した場合（撮像された画像は台形状になる）であっても、その原稿が湾曲していない状態やその面に対して垂直方向から撮像したような状態に補正された平面化画像を取得、表示する処理である。
【０２２２】
この処理では、まず、ＣＣＤ２２に高解像度設定信号を送信し（Ｓ１９０１）、モニタＬＣＤ１０にファインダ画像を表示する（Ｓ１９０２）。
【０２２３】
次に、レリーズボタン８をスキャンし（Ｓ１９０３ａ）、レリーズボタン８が半押しされたか否かを判断する（Ｓ１９０３ｂ）。半押しされていれば（Ｓ１９０３ｂ：Ｙｅｓ）、オートフォーカス（ＡＦ）および自動露出（ＡＥ）機能を起動し、ピント、絞り、シャッタスピードを調節する（Ｓ１９０３ｃ）。尚、半押しされていなければ（Ｓ１９０３ｂ：Ｎｏ）、Ｓ１９０３ａからの処理を繰り返す。
【０２２４】
次に、再び、レリーズボタン８をスキャンし（Ｓ１９０３ｄ）、レリーズボタン８が全押しされたか否かを判断する（Ｓ１９０３ｅ）。全押しされていれば（Ｓ１９０３ｅ：Ｙｅｓ）、フラッシュモードか否かを判断する（Ｓ１９０３ｆ）。
【０２２５】
その結果、フラッシュモードであれば（Ｓ１９０３ｆ：Ｙｅｓ）、フラッシュ７を投光して（Ｓ１９０３ｇ）、撮影し（Ｓ１９０３ｈ）、フラッシュモードでなければ（Ｓ１９０３ｆ：Ｎｏ）、フラッシュ７を投光することなく撮影する（Ｓ１９０３ｈ）。尚、Ｓ１９０３ｅの判断において、全押しされていなければ（Ｓ１９０３ｅ：Ｎｏ）、Ｓ１９０３ａからの処理を繰り返す。
【０２２６】
次に、上述した３次元形状検出処理（図１０のＳ１００６）と同一の処理である３次元形状検出処理を行い、被写体の３次元形状を検出する（Ｓ１９０６）。
【０２２７】
次に、３次元形状検出処理（Ｓ１９０６）によって得られた３次元形状検出結果に基づき、原稿Ｐの姿勢を演算する原稿姿勢演算処理を行う（Ｓ１９０７）。この処理によって原稿Ｐの姿勢パラメータとして、原稿Ｐの画像入力装置１に対する位置Ｌや角度θ、湾曲φ（ｘ）が演算される。
【０２２８】
次に、その演算結果に基づき、後述する平面変換処理を行い（Ｓ１９０８）、たとえ、原稿Ｐが湾曲していたとしても湾曲していない状態に平面化された平面化画像を生成する。
【０２２９】
次に、平面変化処理（Ｓ１９０８）によって得られた平面化画像を外部メモリ２７に格納し（Ｓ１９０９）、平面化画像をモニタＬＣＤ１０に表示する（Ｓ１９１０）。
【０２３０】
そして、モード切替スイッチ９に変化が無いか否かを判断し（Ｓ１９１１）、その結果、変化が無ければ（Ｓ１９１１：Ｙｅｓ）、再び、Ｓ７０２からの処理を繰り返し、変化があれば（Ｓ１９１１：Ｎｏ）、当該処理を終了する。
【０２３１】
図２０は、原稿姿勢演算処理（図１９のＳ１９０７）を説明するための図である。尚、本等の原稿の仮定条件として、原稿Ｐの湾曲はｙ方向に一様であるとする。この原稿姿勢演算処理では、まず、図２０（ａ）に示すように、３次元座標格納部３７ｈに格納されているコード境界に関する座標データから３次元空間位置において２列に並ぶ点を回帰曲線近似した２本の曲線を求める。
【０２３２】
例えば、パターン光を投影した範囲の上下それぞれ４分の１の位置情報（コード６３とコード６４の境界と、コード１９１とコード１９２との境界とに関する境界）から求めることができる。
【０２３３】
その２本の曲線のＸ軸方向の位置が「０」における点を結ぶ直線を想定し、この直線がＺ軸と交わる点、つまり、光軸が原稿Ｐと交差する点を、原稿Ｐの３次元空間位置（０，０，Ｌ）とし、この直線がＸ−Ｙ平面となす角を原稿ＰのＸ軸まわりの傾きθとする。
【０２３４】
次に、図２０（ｂ）に示すように、原稿Ｐを、先に求めたＸ軸まわりの傾きθ分だけ逆方向に回転変換し、つまり、原稿ＰをＸ−Ｙ平面に対して平行にした状態を想定する。
【０２３５】
そして、図２０（ｃ）に示すように、Ｘ−Ｚ平面における原稿Ｐの断面について、Ｚ軸方向の変位をＸの関数として湾曲φ（Ｘ）で表すことができる。こうして、原稿姿勢パラメータとして、原稿Ｐの位置Ｌや角度θ、湾曲φ（ｘ）が演算され、当該処理を終了する。
【０２３６】
図２１は、平面変換処理（図１９のＳ１９０８）のフローチャートである。この処理は、まず、ＲＡＭ３７のワーキングエリア３７ｎに当該処理の処理領域を割り当て、当該処理に用いるカウンタｂの変数を初期値（ｂ＝０）に設定する（Ｓ２１０１）。
【０２３７】
次に、原稿姿勢演算プログラム３６ｈでの演算結果による原稿Ｐの位置Ｌと、傾きθと、湾曲φ（ｘ）とに基づき、パターン光無画像格納部３７ｂに格納されたパターン光無画像の４隅の点を、それぞれ、Ｚ方向に−Ｌ移動し、Ｘ軸方向に−θ回転し、更にφ（ｘ）にする湾曲の逆変換（後述する「湾曲処理」と同等な処理）により求められる点で取成される矩形領域（つまり、原稿Ｐの文字等が書かれた面が略直交方向から観察されたような画像となる矩形領域）を設定すると共に、この矩形領域内に含まれる画素数ａを求める（Ｓ２１０２）。
【０２３８】
次に、設定された矩形領域を構成する各画素に対応するパターン光無画像上の座標を求めて、この座標周辺の画素情報から、平面化画像の各画素の画素情報を設定する。
【０２３９】
つまり、まず、カウンタｂが画素数ａに到達したか否かを判断する（Ｓ２１０３）。カウンタｂが画素数ａに到達していなけば（Ｓ２１０３：Ｎｏ）、矩形領域を構成する１つの画素について、Ｙ軸を中心に湾曲φ（ｘ）回転移動させる湾曲計算処理を行い（Ｓ２１０４）、Ｘ軸を中心に傾きθ回転移動させ（Ｓ２１０５）、Ｚ軸方向に距離Ｌだけシフトさせる（Ｓ２１０６）。
【０２４０】
次に、求められた３次元空間位置を、先の３角測量の逆関数により理想カメラで写されたＣＣＤ画像上の座標（ｃｃｄｃｘ，ｃｃｄｃｙ）を求め（Ｓ２１０７）、使用している撮像光学系２０の収差特性に従って、先のカメラキャリブレーションの逆関数により、実際のカメラで写されたＣＣＤ画像上の座標（ｃｃｄｘ，ｃｃｄｙ）を求め（Ｓ２１０８）、この位置に対応するパターン光無画像の画素の状態を求めて、ＲＡＭ３７のワーキングエリア３７ｎに格納する（Ｓ２１０９）。
【０２４１】
そして、次の画素について上述したＳ２１０３からＳ２１０９までの処理を実行すべく、カウンタｂに「１」を加算する（Ｓ２１１０）。
【０２４２】
こうして、Ｓ２１０４からＳ２１１０までの処理をカウンタｂが画素数ａになるまで繰り返すと（Ｓ２１０３：Ｙｅｓ）、Ｓ２１０１において、当該処理を実行するためにワーキングエリア３７ｎに割り当てた処理領域を開放して（Ｓ２１１１）、当該処理を終了する。
【０２４３】
図２２（ａ）は、湾曲処理（図２１のＳ２１０４）についての概略を説明するための図であり、（ｂ）は平面変換処理（図１９のＳ１９０８）によって平面化された原稿Ｐを示している。尚、この湾曲処理についての詳細については、電子情報通信学会論文誌ＤＩＩＶｏｌ.Ｊ８６−Ｄ２  Ｎｏ.３  ｐ４０９「アイスキャナによる湾曲ドキュメント撮影」に詳細に開示されている。
【０２４４】
湾曲Ｚ＝φ（ｘ）は、求められたコード境界座標列（実空間）で構成される３次元形状を、任意のＹ値におけるＸＺ平面に平行な平面切断された断面形状を、最小２乗法により多項式で近似した式で表現される。
【０２４５】
湾曲する曲面を平面化する場合、（ａ）に示すように、Ｚ＝φ（ｘ）上の点に対応する平面化された点は、Ｚ＝φ（０）からＺ＝φ（ｘ）までの曲線の長さによって対応付けられることになる。
【０２４６】
こうした湾曲処理を含む平面変換処理によって、例えば、図１のように湾曲している状態の原稿Ｐを撮像した場合であっても、図２２（ｂ）に示すように、平面化された平面画像を取得することができ、このように平面化された画像を用いればＯＣＲ処理の精度を高めることができるため、その画像によって、原稿に記載された文字や図形等を明確に認識することができる。
【０２４７】
次に、図２３〜図２８を参照して、画像入出力装置１における動作モードの１つであるデータベース検索モードについて説明する。このデータベース検索モードは、被写体の３次元情報に基づいて被写体のオブジェクト画像を取得し、そのオブジェクト画像に基づいてデータベースを検索することにより、検索結果として得られた被写体に関する関連情報を示す文字列等を投影するモードである。
【０２４８】
図２３は、データベース検索モードにおいて、被写体または被写体の近傍に、検索結果としての被写体の関連情報を示す文字列等が投影されている状態を示す図である。
【０２４９】
この図２３では、画像入出力装置１の画像撮像部１４により撮像可能な投影面上の領域である撮像領域１００内に被写体である部品ＯＢ１，ＯＢ２が配置され、データベースを検索することにより取得される、関連情報としての名称や属性を示す文字列が、その部品ＯＢ１，ＯＢ２上または部品ＯＢ１，ＯＢ２の近傍に、画像入出力装置１の画像投影部１３から投影されている状態を図示している。
【０２５０】
尚、この撮像領域１００は、画像入出力装置１における画像投影部１３による投影方向上の画像投影可能な面、即ち、画像投影面でもある。ここで、この撮像領域１００の境界を示す枠を、投影ＬＣＤ１９から投影画像として投影するようにしてもよい。撮像領域１００の境界を示すことによって、使用者は撮像可能な領域を明確に把握することができる。
【０２５１】
図２４は、データベース検索モードにおいて用いられるデータベースを格納するサーバやパーソナルコンピュータなどのデータベース蓄積装置と画像入出力装置１との関係を示すシステムブロック図である。図２４に示すように、本実施例の画像入出力装置１は、アンテナ１１を介し、データベースを記憶する外部のパーソナルコンピュータ１０１と通信可能に接続されている。また、画像入出力装置１は、通信ネットワークとしてのインターネット１０３を介し、データベースやＷｅｂページを蓄積するサーバ１０２と通信可能に接続されている。
【０２５２】
また、図２５を参照して、データベース検索モードにおいて用いられるオブジェクト画像、ポリゴン画像について説明する。図２５（ａ）は被写体の二次元的な撮像画像（二次元画像情報）を示す図であり、（ｂ）は３次元形状検出結果としての計測頂点をポリゴンで結んでそのサーフェイスを表示したポリゴン画像（三次元情報のうち三次元形状を示す情報）を示す図であり、（ｃ）は３次元形状検出結果に基づき、立体であると判断された被写体の輪郭に含まれる領域のみを（ａ）に示す二次元的な撮像画像データから各被写体毎に切り出して得られるオブジェクト画像を示す図である。
【０２５３】
図２５に示すように、オブジェクト画像は、二次元的な撮像画像データのうち背景と分離可能な立体形状を有する部分のみが切り出されて得られる画像であるため、撮像画像データが、立体形状を有する被写体の背景として画像を有するものであっても、その背景画像と分離して立体形状を有する被写体の輪郭により囲まれた領域を抽出することにより、被写体の表面の色情報や模様、反射率、被写体の平面的形状などの二次元情報を示すオブジェクト画像を取得することができる。また、被写体が複数個存在していても、各被写体毎にオブジェクト画像を抽出することができる。
【０２５４】
図２６は、このデータベース検索モードにおいて実行されるデータベース検索処理（図６のＳ６１３）の第１の例を示すフローチャートである。データベース検索処理は、被写体の３次元情報に基づいてオブジェクト画像を取得し、そのオブジェクト画像に基づいてデータベースを検索し、その検索結果を画像として投影する処理である。
【０２５５】
この処理では、まず、ＣＣＤ２２に高解像度設定信号を送信する（Ｓ２５０１）。これにより高品質の撮像画像を取得することができる。
【０２５６】
次に、モニタＬＣＤ１０にファインダ画像（ファインダ６を介して見える範囲の画像）を表示する（Ｓ２５０２）。よって、使用者は、ファインダ６を覗き込むことなく、モニタＬＣＤ１０に表示された画像によって実際の撮像の前に、撮像画像（撮像範囲）を確認することができる。
【０２５７】
次に、レリーズボタン８をスキャンし（Ｓ２５０３）、レリーズボタン８が半押しされたか否かを判断する（Ｓ２５０４）。半押しされていれば（Ｓ２５０４：Ｙｅｓ）、オートフォーカス（ＡＦ）および自動露出（ＡＥ）機能を起動し、ピント、絞り、シャッタスピードを調節する（Ｓ２５０５）。尚、半押しされていなければ（Ｓ２５０４：Ｎｏ）、Ｓ２５０３からの処理を繰り返す。
【０２５８】
次に、再び、レリーズボタン８をスキャンし（Ｓ２５０６）、レリーズボタン８が全押しされたか否かを判断する（Ｓ２５０７）。全押しされていれば（Ｓ２５０７：Ｙｅｓ）、フラッシュモードか否かを判断する（Ｓ２５０８）。
【０２５９】
その結果、フラッシュモードであれば（Ｓ２５０８：Ｙｅｓ）、フラッシュ７を投光して（Ｓ２５０９）、撮影し（Ｓ２５１０）、フラッシュモードでなければ（Ｓ２５０９：Ｎｏ）、フラッシュ７を投光することなく撮影し（Ｓ２５１０）、二次元的な撮像画像データ（図２５（ａ）参照）を取得する。
【０２６０】
次に、図１０のＳ１００６の３次元形状検出処理と同様な処理を行ない（Ｓ２５１１）、被写体の三次元形状を検出する。
【０２６１】
続いて、Ｓ２５１１の処理において取得された３次元形状検出結果に基づいて、Ｓ２５１０の処理において取得された二次元的な撮像画像データからオブジェクト画像（図２５（ｃ）参照）を抽出する（Ｓ２５１２）。
【０２６２】
次に、Ｓ２５１２の処理において抽出されたオブジェクト画像のそれぞれに基づいて、パーソナルコンピュータ１０１やサーバ１０２に記憶されたデータベースを検索し、検索結果として、その被写体に対応する名称、属性などの関連情報を取得する（Ｓ２５１３）。この関連情報検索処理は、例えば、オブジェクト画像を回転、シフトして相似倍したものとデータベースに蓄積されたデータとの相関を取ることにより、一致するまたは類似性が高いデータを検索結果として取得することにより行われる。また、オブジェクト画像のそれぞれについて行われるため、たとえ、Ｓ２５１０の処理において複数の被写体を同時に撮像したとしても、それぞれの被写体について検索結果を得ることができる。
【０２６３】
また、この関連情報検索処理は、オブジェクト画像に基づいて取得される色分布や輝度ヒストグラムを指標とし、それらの指標とデータベースに蓄積されたデータとの相関を取ることにより、一致するまたは類似するデータを検索結果として取得するものであっても良い。
【０２６４】
さらに、この関連情報検索処理は、上述のようにオブジェクト画像またはオブジェクト画像に基づいて取得される指標と一致するまたは類似するとして選択された特定のデータと、名称や属性が類似するデータも含めて検索結果として取得するものであってもよい。
【０２６５】
続いて、Ｓ２５１３の処理により取得された関連情報に基づいて、その関連情報を示す文字列が被写体上または被写体近傍に投影されるように投影画像情報を生成し、その投影画像情報を投影画像格納部３７ｋに格納する（Ｓ２５１４）。
【０２６６】
次に、図８のＳ８０６の投影処理と同様な投影処理を行う（Ｓ２５１５）。Ｓ２５１５の投影処理では、関連情報に基づいて生成された投影画像情報が投影画像格納部３７ｋに格納されているので、関連情報を示す文字列が被写体上または被写体近傍に投影される（図２３参照）。
【０２６７】
したがって、被写体の三次元情報に基づいて、パーソナルコンピュータ１０１やサーバ１０２に記憶されたデータベースから被写体に関する関連情報が検索され、検索された関連情報が投影されるので、使用者は、自動的に被写体に関する関連情報を取得することができる。また、被写体の三次元情報に基づいて、その被写体が載置された面の背景などを除いたオブジェクト画像を抽出し、そのオブジェクト画像に基づいて関連情報の検索を行うので、立体情報を加味しないデータに基づいて関連情報を検索する場合に比較して、高い精度で被写体に関連する関連情報の検索を実行することができる。
【０２６８】
図２７は、上述したデータベース検索処理の第２の例を説明するフローチャートである。第２の例において、第１の例と同じ処理については同一の符号を付して説明を省略する。
【０２６９】
図２７に示すように、データベース検索処理の第２の例は、関連情報検索処理（Ｓ２５１３）において関連情報を取得すると、その関連情報を出力し（Ｓ２５１３ａ）、インターネット１０３を介して、その関連情報をキーワードとしてサーチエンジンによりＷｅｂページ（表示内容）を検索する（Ｓ２５１３ｂ）。そして、その検索結果として得られたＷｅｂページのＵＲＬ（Uniform Resource Locator）情報を示す文字列（表示内容に関する情報）が例えば被写体に隣接して投影されるように投影画像情報を生成し、投影画像格納部３７ｋに格納する（Ｓ２５１３ｃ）。
【０２７０】
例えば、撮像領域１００内に被写体としてリンゴが載置されると、関連情報検索処理（Ｓ２５１０）において、その被写体の関連情報として被写体の名称「リンゴ」が取得される。
【０２７１】
データベース検索処理の第１の例では、関連情報として取得された被写体の名称を示す一連の文字列「リンゴ」が、その被写体（リンゴ）上、または、被写体近傍に投影される。一方、第２の例では、関連情報を示す一連の文字列「リンゴ」をキーワードとして、サーチエンジンを用いてＷｅｂページが検索され、そのＷｅｂページのＵＲＬ情報を示す文字列が画像投影部１３により投影される。
【０２７２】
このように、データベース検索処理の第２の例によれば、データベースの検索により取得された関連情報に基づいて、Ｗｅｂページの検索が行われそのＵＲＬ情報を示す文字列が出力されるので、使用者は撮像された被写体の名称等に基づいて検索されたＷｅｂページに関する情報を自動的に知ることができる。
【０２７３】
図２８は、上述したデータベース検索処理の第３の例を説明するフローチャートである。第３の例において、第１の例と同じ処理については同一の符号を付して説明を省略する。
【０２７４】
図２８に示すように、データベース検索処理の第３の例は、Ｓ２５１２の処理においてオブジェクト画像（図２５（ｃ））を抽出すると、そのオブジェクト画像をポリゴン画像（図２５（ｂ））に貼り付けて合成画像を生成し、その合成画像を合成画像格納部３７ｍに格納する（Ｓ２５１２ａ）。
【０２７５】
続いて、関連情報検索処理において、その合成画像を回転、シフトして相似倍したものとデータベースに蓄積されたデータとの相関を取ることにより、一致するまたは類似性が高いデータを検索結果として取得する（Ｓ２５１３）。
【０２７６】
このデータベース検索処理の第３の例によれば、オブジェクト画像から得られる被写体表面の色情報や模様、反射率、被写体の平面的形状、ポリゴン画像から得られる被写体表面の立体形状に基づいて、より高い精度で被写体に関する関連情報を取得することができる。
【０２７７】
ここで、第１及び第２の例は、オブジェクト画像（図２５（ｃ）参照）に基づいて関連情報を検索を実行するものであり、第３の例は、オブジェクト画像とポリゴン画像（図２５（ｂ）参照）とに基づいて検索を実行するものであったが、関連情報を検索するための条件はこれらに限られるものではない。
【０２７８】
例えば、図２６、図２７、図２８のデータベース検索処理において説明した、Ｓ２５１３の関連情報検索処理を、三次元情報、より具体的には、例えば被写体の三次元座標（Ｘ，Ｙ，Ｚ）、被写体表面の凹凸情報、曲面情報、反射光分布情報などと、データベースに蓄積されたデータとの相関をとることにより、一致するデータや類似性が高いデータを検索して関連情報を取得するものであっても良い。また、二次元的な撮像データ（図２５（ａ）参照）とポリゴン画像（図２５（ｃ）参照）とに基づいて、データベースに蓄積されたデータとの相関をとることにより、一致または類似性が高いデータを検索するようにしても良い。また、例えば、ポリゴン画像のみに基づいて、データベースに蓄積された各種データとの相関をとることにより検索を実行するものであっても良い。このようにすれば、オブジェクト画像を抽出する処理（図２６，図２７，図２８のＳ２５１２の処理）を省略することができる。
【０２７９】
また、図２６、図２７、図２８のデータベース検索処理において説明した、Ｓ２５１３の関連情報検索処理は、被写体のそれぞれについて関連情報を検索するものであったが、少なくとも特定の被写体について関連情報を検索するものであれば良い。
【０２８０】
また、データベース検索処理の第１の例、第２の例及び第３の例において、画像投影部１３による投影方向が、被写体の表面に対して略垂直な方向以外の方向とした場合、被写体上に投影される画像に歪みが生じるために、場合によっては、使用者に認識不能な投影画像となり得る。よって、そのように歪んで投影される投影画像に対して、無歪な投影画像として投影されるように補正を施すことが好ましい。
【０２８１】
図２６，図２７，図２８に示したデータベース検索処理（Ｓ６１３）において、投影面の立体形状に依存することなく無歪の投影画像を投影する場合には、図８のＳ８０６の投影処理と同様に実行される投影処理（Ｓ２５１１）におけるＳ９０２の処理に換えて、後述するような投影用画像変換処理（Ｓ２９００）を実行するように構成される。
【０２８２】
図２９は、その無歪投影用画像変換処理（Ｓ２９００）のフローチャートである。この無歪投影用画像変換処理（Ｓ２９００）は、投影画像格納部３７ｋに格納される画像情報に従って投影ＬＣＤ１９に表示される画像を、無歪な状態で被写体に投影可能な画像に変換する処理である。
【０２８３】
この処理では、まず、ＲＡＭ３７のワーキングエリア３７ｎに当該処理の処理領域を割り当て、当該処理に用いるカウンタｑの変数を初期値（ｑ＝０）に設定する（Ｓ２９０１）。
【０２８４】
次に、無歪投影用画像（つまり、湾曲した被写体上において無歪である画像）に変換された後の画像となる矩形領域として、ＬＣＤ空間座標（ｌｃｄｃｘ，ｌｃｄｃｙ）の空間に相当するメモリをＲＡＭ３７のワーキングエリア３７ｎに確保し、設定すると共に、この矩形領域内に含まれる画素数Ｑａを求める（Ｓ２９０２）。
【０２８５】
次に、投影画像格納部３７ｋに格納される関連情報を示す文字列やＵＲＬ情報を示す文字列などを投影するための画像情報の各画素値を、理想カメラ画像座標系（ｃｃｄｃｘ，ｃｃｄｃｙ）の各画素に配置する（Ｓ２９０３）。
【０２８６】
次に、設定された矩形領域を構成するＬＣＤ空間座標（ｌｃｄｃｘ，ｌｃｄｃｙ）上の各画素について、上述した式（６）〜（９）により、３次元座標格納部３７ｈに格納された被写体の表面上の対応点である三次元座標（Ｘ，Ｙ，Ｚ）を求め、さらに式（１）〜（５）において、（ｃｃｄｃｘ，ｃｃｄｃｙ）について解くことにより、無歪投影用画像の各画素の画素情報を算出し設定する。
【０２８７】
つまり、まず、カウンタｑが画素数Ｑａに到達したか否かを判断する（Ｓ２９０４）。カウンタｑが画素数Ｑａに到達していなければ（Ｓ２９０４：Ｎｏ）、カウンタｑの値に対応する画素のＬＣＤ空間座標（ｌｃｄｃｘ，ｌｃｄｃｙ）を、式（６）〜（９）により、ワーキングエリア３７ｎに格納された被写体上の座標（Ｘ，Ｙ，Ｚ）に変換する（Ｓ２９０５）。
【０２８８】
次に、Ｓ２９０５の処理により変換されて得られた被写体上の座標（Ｘ，Ｙ，Ｚ）を、式（１）〜（５）において、（ｃｃｄｃｘ，ｃｃｄｃｙ）について解いた式を利用して理想カメラ画像上の座標（ｃｃｄｃｘ，ｃｃｄｃｙ）に変換する（Ｓ２９０６）。
【０２８９】
次に、Ｓ２９０６の処理により変換されて得られた座標（ｃｃｄｃｘ，ｃｃｄｃｙ）に配置されている画素情報を取得し、その画素情報を、カウンタｑの値に対応するＬＣＤ空間座標（ｌｃｄｃｘ，ｌｃｄｃｙ）に書き込む（Ｓ２９０７）。
【０２９０】
そして、次の画素について上述したＳ２９０４からＳ２９０７までの処理を実行すべく、カウンタｑに「１」を加算する（Ｓ２９０８）。
【０２９１】
こうして、Ｓ２９０４からＳ２９０８までの処理を、カウンタｑが画素数Ｑａになるまで繰り返すと（Ｓ２９０４：Ｙｅｓ）、設定された矩形領域を構成するＬＣＤ空間座標（ｌｃｄｃｘ，ｌｃｄｃｙ）に対応付けられた画素情報を、投影ＬＣＤドライバ３０に転送する（Ｓ２９０９）。
【０２９２】
最後に、Ｓ２９０１において、当該処理を実行するためにワーキングエリア３７ｎに割り当てた処理領域を開放して（Ｓ２９１０）、当該処理を終了する。
【０２９３】
Ｓ２９０９の処理により、ＬＣＤ空間座標（ｌｃｄｃｘ，ｌｃｄｃｙ）上の画素情報が投影ＬＣＤドライバ３０へ転送されることにより、投影ＬＣＤ１９は、歪曲面上において無歪に投影される投影画像が表示される。よって、被写体上に無歪な画像が投影される。
【０２９４】
従って、無歪投影用画像変換処理（Ｓ２９００）を実行することにより、投影方向が斜めである場合だけでなく、被写体が３次元形状を有し、そのためにその表面が湾曲している場合であっても、無歪な投影画像を投影することができる。その結果として、特に、関連情報を示す文字列やＵＲＬ情報を示す文字列を投影する場合に、使用者にその情報を正確に認識させることができる。
【０２９５】
上記の実施例では、画像撮像部１４の位置に使用者の視点を置いたが、任意の位置に使用者の視点を置いても良い。この場合、視点に相当する撮像光学系２１の主点位置（図１８）を、任意の三次元空間に移動させた場合に合わせて式（１）〜（５）を変形して利用すれば良い。
【０２９６】
図３０は、上述した第１実施例の光源レンズ１８に関する第２実施例の光源レンズ５０を説明するための図であり、（ａ）は第２実施例の光源レンズ５０を示す側面図であり、（ｂ）は第２実施例の光源レンズ５０を示す平面図である。尚、上述したのと同一な部材には、同一の符号を付し、その説明は省略する。
【０２９７】
第１実施例における光源レンズ１８は、各ＬＥＤ１７に対応する凸状の非球面形状からレンズ部１８ａをベース１８ｂ上に一体的に並べて配置して構成されているのに対し、この第２実施例の光源レンズ５０は、ＬＥＤ１７の各々を内包する砲弾型に形成された樹脂製レンズを各々別体に構成したものである。
【０２９８】
このように、各ＬＥＤ１７を内包する光源レンズ５０を各々別体に構成することで、各々のＬＥＤ１７とそれに対応する各々の光学レンズ５０との位置が１対１で決められるので、相対的な位置精度を高めることができ、光の出射方向が揃うという効果がある。
【０２９９】
これに対し、基板１６上にレンズアレイをまとめて位置合わせをすると、各々のＬＥＤ１７がダイボンディングされる際の位置決め誤差やレンズアレイと基板の線膨張係数の違いから、光の出射方向がバラバラになってしまう恐れがある。
【０３００】
従って、投影ＬＣＤ１９の面には、ＬＥＤ１７からの光の入射方向が投影ＬＣＤ１９の面に垂直にそろった光が照射され、投影光学系２０の絞りを均一に通過できる様になるため、投影画像の照度ムラを抑えることができ、結果的に高品質な画像を投影することができる。尚、光源レンズ５０に内包されているＬＥＤ１７はリードおよびリフレクタからなる電極５１を介して基板１６に実装されている。
【０３０１】
また、この第２実施例における１群の光源レンズ５０の外周面には、各光源レンズ５０を束ねて所定の方向に規制する枠状の弾性を有する固定部材５２が配置されている。この固定部材５２は、ゴム、プラスチック等の樹脂製材料で構成されている。
【０３０２】
第２実施例の光源レンズ５０は各ＬＥＤ１７に対して各々別体に構成されているので、各光源レンズ５０の凸状の先端部が形成する光軸の角度を正しく揃えて投影ＬＣＤ１９と対向するように設置することが困難である。
【０３０３】
そこで、この固定部材５２によって１群の光源レンズ５０を取り囲み、各光源レンズ５０の外周面同士を接触させ、各光源レンズ５０の光軸が投影ＬＣＤ１９と正しい角度で対向するように各光源レンズ５０の位置を規制することで、各光源レンズ５０から投影ＬＣＤ１９に向けて光を略垂直に照射させることができる。よって、投影ＬＣＤ１９の面に垂直にそろった光が照射され、投影レンズの絞りを均一に通過できる様になるため、投影画像の照度ムラを抑えることができる。従って、一層、高品質な画像を投影することができる。
【０３０４】
尚、この固定部材５２は、予め所定の大きさに規定された剛性を有するものであっても良く、弾性力を有する材料で構成してその弾性力によって各光源レンズ５０の位置を所定の位置に規制するようにしても良い。
【０３０５】
図３１は、図３０で説明した光源レンズ５０を所定位置に規制する固定部材５２に関する第２実施例を説明するための図であり、（ａ）は光源レンズ５０を固定した状態を示す斜視図であり、（ｂ）はその部分的な断面図である。尚、上述したのと同一の部材には、同一の符号を付し、その説明は省略する。
【０３０６】
この第２実施例の固定部材６０は、各光源レンズ５０の外周面に沿った断面を有する断面視円錐形状の貫通孔６０ａが穿設された板状に形成されている。各光源レンズ５０は、この各貫通孔６０ａに差し込まれて固定される。
【０３０７】
また、この固定部材６０と基板１６との間には弾性を有する付勢プレート６１が介装されており、更に、この付勢プレート６１と各光源レンズ５０の下面との間には、電極５１を囲むように弾性を有する環状のＯリング６２が配置されている。
【０３０８】
尚、光源レンズ５０に内包されるＬＥＤ１７は、付勢プレート６１、基板１６に穿設されたスルーホールを貫通する電極５１を介して基板１６に実装されている。
【０３０９】
上述した固定部材６０によれば、各光源レンズ５０を、その光源レンズの外周面に沿った断面を有する各貫通孔６０ａに各々貫通させて固定するので、上述した固定部材５０よりも、一層確実に光源レンズ５０の光軸を正しい角度で投影ＬＣＤ１９に向くように固定することができる。
【０３１０】
また、組立時に、Ｏリング６２の付勢力によってＬＥＤ１７を正しい位置に付勢して固定することができる。
【０３１１】
また、本装置１を運搬する場合等に生ずる可能性のある衝撃力を、Ｏリング６２の弾性力によって吸収することができ、その衝撃の影響で光源レンズ５０の位置がずれてしまい、光源レンズ５０から垂直に投影ＬＣＤ１９に向けて光を照射できないという不都合を防止することができる。
【０３１２】
上記実施例において、請求項１記載の三次元情報検出手段としては、上述した図２６，図２７，図２８のデータベース検索処理におけるＳ２５１１の処理が該当し、関連情報検索手段としては、図２６，図２７，図２８のデータベース検索処理におけるＳ２５１３の処理が該当し、関連情報出力手段としては、図２６，図２８のデータベース検索処理におけるＳ２５１５の処理、図２７のデータベース検索処理におけるＳ２５１３ａの処理が該当する。
【０３１３】
また、請求項５記載のオブジェクト画像抽出手段としては、図２６，図２７のＳ２５１２の処理が該当する。請求項６記載のオブジェクト画像抽出手段としては、図２８のＳ２５１２の処理が該当する。
【０３１４】
また、請求項１１記載の表示内容検索手段としては、図２７のＳ２５１３ｂの処理が該当し、表示内容出力手段としては、図２７のＳ２５１５の処理が該当する。
【０３１５】
以上実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものでなく、本発明の主旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【０３１６】
例えば、上記実施例では、平面化画像モードとして、平面化された画像を取得、表示する処理を説明したが、周知のＯＣＲ機能を搭載させ、平面化された平面画像をこのＯＣＲ機能によって読み取らせるように構成しても良い。かかる場合には、ＯＣＲ機能によって湾曲した状態の原稿を読み取る場合に比べて高精度に原稿に記載された文章を読み取ることができる。
【０３１７】
また、上記実施例における図１５のＳ１５０１においては、明暗の変化を持つ輝度画像の全部を抽出し、その全部について暫定的なＣＣＤＹ値を求める場合について説明したが、抽出する輝度画像としては、全部である必要はなく、１枚以上であれば、その枚数に限定されることはない。抽出する枚数を減らすことで境界座標を高速に求めることができる。
【０３１８】
また、上記実施例における図１５のＳ１５０７では、ｆＣＣＤＹ［ｉ］を加重平均し、図１６のＳ１６０７ではｅｆＣＣＤＹ［ｊ］を近似多項式として、各値を平均化する場合について説明したが、各値を平均化する方法としては、これらに限定されるものではなく、例えば、各値の単純平均値を採る方法、各値の中央値を採用する方法、各値の近似式を算出し、その近似式における検出位置を境界座標とする方法、統計的な演算により求める方法等であっても良い。
【０３１９】
また、例えば、上記実施例における平面化画像モードにおける３次元形状検出処理においては、原稿Ｐの３次元形状を検出するために、複数種類の明暗を交互に並べてなる縞状のパターン光を投影する場合について説明したが、３次元形状を検出するための光は、かかるパターン光に限定されるものではない。
【０３２０】
例えば、図３２に示すように、湾曲原稿の３次元形状の検出を簡便に行う場合には、画像投影部１３から２本の帯状のスリット光７０，７１を投影するようにしても良い。この場合には、８枚のパターン光を投影する場合にくらべ、僅か２枚の撮像画像から高速に３次元形状の検出をすることができる。
【０３２１】
また、図２７を参照して説明したデータベース検索処理のＳ２５１５の処理において、被写体の関連情報に基づくＷｅｂページの検索結果としてＵＲＬ情報を投影していたが、Ｗｅｂページ自体や検索のヒット件数などを投影するものであっても良い。
【０３２２】
また、図２６，図２７，図２８を参照して説明したデータベース検索処理のＳ２５１５の処理において、データベース検索結果やＷｅｂページの検索結果は投影されることにより出力されていたが、例えば、画像入出力装置１と通信可能に接続されたパーソナルコンピュータにこれらの検索結果を出力するものであっても良いし、モニタＬＣＤ１０に表示することにより検索結果を出力するものであっても良い。
【０３２３】
また、図２６，図２７，図２８を参照して説明したデータベース検索処理において用いられるデータベースは、パーソナルコンピュータ１０１やサーバ１０２に記憶されているものであったが、画像入出力装置１に内蔵されるＲＯＭ３６や着脱自在に接続される外部メモリ２７などの記憶装置（データ蓄積手段）に記憶されているものであっても良い。
【図面の簡単な説明】
【０３２４】
【図１】画像入出力装置の外観斜視図である。
【図２】撮像ヘッドの内部構成を示す図である。
【図３】（ａ）は画像投影部の拡大図であり、（ｂ）は光源レンズの平面図であり、（ｃ）は投影ＬＣＤ１９の正面図である。
【図４】ＬＥＤアレイの配列に関する説明をするための図である。
【図５】画像入出力装置の電気的なブロック図である。
【図６】メイン処理のフローチャートである。
【図７】デジカメ処理のフローチャートである。
【図８】ｗｅｂｃａｍ処理のフローチャートである。
【図９】投影処理のフローチャートである。
【図１０】立体画像処理のフローチャートである。
【図１１】（ａ）は、空間コード法の原理を説明するための図であり、（ｂ）は（ａ）とは異なるマスクパターン（グレイコード）を示す図である。
【図１２】（ａ）は３次元形状検出処理のフローチャートである。（ｂ）は撮像処理のフローチャートである。（ｃ）は３次元計測処理のフローチャートである。
【図１３】コード境界座標検出処理の概略を説明するための図である。
【図１４】コード境界座標検出処理のフローチャートである。
【図１５】コード境界座標をサブピクセル精度で求める処理のフローチャートである。
【図１６】ＰａｔＩＤ［ｉ］のマスクパターン番号を持つ輝度画像について、境界のＣＣＤＹ値を求める処理のフローチャートである。
【図１７】レンズ収差補正処理を説明するための図である。
【図１８】ＣＣＤ空間における座標から３次元空間における３次元座標を算出する方法を説明するための図である。
【図１９】平面化画像処理のフローチャートである。
【図２０】原稿姿勢演算処理を説明するための図である。
【図２１】平面変換処理のフローチャートである。
【図２２】（ａ）は、湾曲計算処理についての大略を説明するための図であり、（ｂ）は平面変換処理によって平面化された平面化画像を示す図である。
【図２３】データベース検索モードにおいて、被写体または被写体の近傍に、検索結果としての被写体の関連情報を示す投影画像情報が投影されている状態を示す図である。
【図２４】データベース検索モードにおいて用いられるデータベース蓄積装置と画像入出力装置との関係を示すシステムブロック図である。
【図２５】（ａ）は被写体の二次元的な撮像画像を示す図であり、（ｂ）は３次元形状検出結果としての計測頂点をポリゴンで結んでそのサーフェイスを表示したポリゴン画像を示す図であり、（ｃ）は３次元形状検出結果に基づき、立体であると判断された画像の輪郭に含まれる領域のみを（ａ）に示す二次元的な撮像画像から各被写体毎に切り出して得られるオブジェクト画像を示す図である。
【図２６】データベース検索モードにおいて実行されるデータベース検索処理の第１の例を示すフローチャートである。
【図２７】データベース検索モードにおいて実行されるデータベース検索処理の第２の例を示すフローチャートである。
【図２８】データベース検索モードにおいて実行されるデータベース検索処理の第３の例を示すフローチャートである。
【図２９】無歪投影用画像変換処理のフローチャートである。
【図３０】（ａ）は第２実施例の光源レンズ５０を示す側面図であり、（ｂ）は第２実施例の光源レンズ５０を示す平面図である。
【図３１】（ａ）は、光源レンズ５０を固定した状態を示す斜視図であり、（ｂ）はその部分的な断面図である。
【図３２】被写体に投影するパターン光としての他の例を示す図である。
【符号の説明】
【０３２５】
１          画像入出力装置
１１        アンテナ（通信手段）
１３        画像投影部（投影手段）
１４        画像撮像部（撮像手段）
１７        ＬＥＤ（光源手段）
１９        投影ＬＣＤ（空間変調手段）
２０        投影光学系
２１        撮像光学系（撮像手段の一部）
２２        ＣＣＤ（撮像手段の一部）
１０１      パーソナルコンピュータ（外部データ蓄積手段）
１０２      サーバ（外部データ蓄積手段）
１０３      インターネット（ネットワーク）
【図１】
2005352835.tif 000003
【図２】
2005352835.tif 000004
【図３】
2005352835.tif 000005
【図４】
2005352835.tif 000006
【図５】
2005352835.tif 000007
【図６】
2005352835.tif 000008
【図７】
2005352835.tif 000009
【図８】
2005352835.tif 000010
【図９】
2005352835.tif 000011
【図１０】
2005352835.tif 000012
【図１１】
2005352835.tif 000013
【図１２】
2005352835.tif 000014
【図１３】
2005352835.tif 000015
【図１４】
2005352835.tif 000016
【図１５】
2005352835.tif 000017
【図１６】
2005352835.tif 000018
【図１７】
2005352835.tif 000019
【図１８】
2005352835.tif 000020
【図１９】
2005352835.tif 000021
【図２０】
2005352835.tif 000022
【図２１】
2005352835.tif 000023
【図２２】
2005352835.tif 000024
【図２３】
2005352835.tif 000025
【図２４】
2005352835.tif 000026
【図２５】
2005352835.tif 000027
【図２６】
2005352835.tif 000028
【図２７】
2005352835.tif 000029
【図２８】
2005352835.tif 000030
【図２９】
2005352835.tif 000031
【図３０】
2005352835.tif 000032
【図３１】
2005352835.tif 000033
【図３２】
2005352835.tif 000034