(57)【特許請求の範囲】
【請求項１】
撮影装置により撮影された２次元画像から画像認識により、特徴点表示媒体に表示された４つの特徴点の各々の２次元座標を抽出する２次元座標抽出手段と、
前記撮影装置により撮影された前記２次元画像から前記特徴点表示媒体自身に関する情報であって前記特徴点表示媒体に表示された特徴点表示媒体サイズ情報を含む特徴点表示媒体情報を抽出する特徴点表示媒体情報抽出手段と、
前記２次元画像から抽出した前記４つの特徴点の各々の前記２次元座標と、前記特徴点表示媒体サイズ情報を含む前記特徴点表示媒体情報とに基づいて、仮想的な３次元のカメラ座標系における３次元オブジェクトの位置と前記カメラ座標系における前記３次元オブジェクトの向きと前記３次元オブジェクトの大きさとを算出する合成パラメータ算出手段と、
前記合成パラメータ算出手段により算出された前記位置と前記向きと前記大きさとに基づいて前記２次元画像に前記３次元オブジェクトを合成する合成手段とを備えた画像合成装置。
【請求項２】
前記合成パラメータ算出手段が、
前記撮影装置の焦点距離と、前記撮影装置の撮像素子のサイズと、前記特徴点表示媒体における特徴点間の距離と、前記４つの特徴点の各々の前記２次元座標と、前記特徴点表示媒体サイズ情報と、に基づいて、前記４つの特徴点の各々の前記カメラ座標系における３次元座標を算出し、
その算出された３次元座標に基づいて、前記３次元オブジェクトの前記位置と前記向きと前記大きさとを算出することを特徴とする請求項１記載の画像合成装置。
【請求項３】
前記特徴点表示媒体情報は前記特徴点表示媒体における前記特徴点間の距離を示す特徴点表示媒体サイズ情報であって、
前記合成パラメータ算出手段は、前記特徴点表示媒体サイズ情報が示す特徴点間の距離に基づいて、前記４つの特徴点の３次元座標を算出することを特徴とする請求項２記載の画像合成装置。
【請求項４】
前記特徴点表示媒体情報は、前記特徴点と前記特徴点表示媒体情報とが表示された表示面と、前記特徴点表示媒体を配置した面である配置面と、の傾きを示す傾斜情報であって、
前記合成パラメータ算出手段は、前記傾斜情報に基づいて前記４つの特徴点が前記配置面上にあるように補正した前記３次元座標を算出することを特徴とする請求項２または請求項３記載の画像合成装置。
【請求項５】
前記合成パラメータ算出手段が、
前記特徴点の各々の前記３次元座標に基づき、前記特徴点を頂点とする平面図形の特定位置の３次元座標を算出し、その特定位置に前記３次元オブジェクトの底面の中心を一致させ、且つ前記３次元オブジェクトの上方向が前記平面図形と垂直な方向になるように、前記位置及び前記向きを算出することを特徴とする請求項２から請求項４のいずれかに記載の画像合成装置。
【請求項６】
前記合成パラメータ算出手段が、
前記特徴点の各々の前記３次元座標に基づき、前記特徴点を頂点とする平面図形の重心の位置の３次元座標を算出し、その重心の位置に前記３次元オブジェクトの底面の中心を一致させ、且つ前記３次元オブジェクトの上方向が前記平面図形と垂直な方向になるように、前記位置及び前記向きを算出することを特徴とする請求項５記載の画像合成装置。
【請求項７】
画像合成装置のコンピュータを、
撮影装置により撮影された２次元画像から画像認識により特徴点表示媒体に表示された４つの特徴点の各々の２次元座標を抽出する２次元座標抽出手段と、
前記撮影装置により撮影された前記２次元画像から前記特徴点表示媒体自身に関する情報であって前記特徴点表示媒体に表示された特徴点表示媒体サイズ情報を含む特徴点表示媒体情報を抽出する特徴点表示媒体情報抽出手段と、
前記２次元画像から抽出した前記４つの特徴点の各々の前記２次元座標と、前記特徴点表示媒体サイズ情報を含む前記特徴点表示媒体情報とに基づいて、仮想的な３次元のカメラ座標系における３次元オブジェクトの位置と前記カメラ座標系における前記３次元オブジェクトの向きと前記３次元オブジェクトの大きさとを算出する合成パラメータ算出手段と、
前記合成パラメータ算出手段により算出された前記位置と前記向きと前記大きさとに基づいて前記２次元画像に前記３次元オブジェクトを合成する合成手段として機能させることを特徴とする画像合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像合成装置及び画像合成プログラムに関するものである。
【背景技術】
【０００２】
従来、シート状の記録媒体に４点の特徴点が印刷されたマーカーを、撮影する対象物に配置して、対象物を撮影し、撮影した２次元画像に含まれるマーカーの特徴点が示す位置に３次元オブジェクトを合成する画像合成装置が知られている。この場合、２次元画像に含まれるマーカーの特徴点を画像認識により認識して、３次元オブジェクトを配置する位置と向きとを算出し、２次元画像のマーカーに印刷された特徴点の付近に３次元オブジェクトを合成する。これにより３次元オブジェクトの仮想的な物体が、あたかもマーカーが実際に配置された面に乗っているような合成画像を得ることができる。
【０００３】
また、合成させたい３次元オブジェクトが複数存在する場合は、マーカーに所定の２次元配列のパターンを印刷しておき、そのパターンに対応した３次元オブジェクトを合成する。
【０００４】
このように３次元オブジェクトを２次元画像に合成する技術については、例えば特許文献１に記載されている。
【０００５】
【特許文献１】特開２０００−３２２６０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような画像合成装置は、３次元オブジェクトを合成する位置や向きに関する情報として、上述の４点の特徴点のみしか印刷されておらず、予め定められた形状のマーカーしか使用することができなかった。例えば、画像合成装置では、各特徴点同士の距離に基づいて３次元オブジェクトを合成する位置が決定されるため、従来のマーカーでは予め特徴点同士の距離がある一定の値に定められたものを用い、画像合成装置にはその定められた一定の値が予め記憶されていて、画像合成装置はその値を用いて３次元オブジェクトの合成位置を決定していた。そのため、画像認識での誤認識を避ける為にサイズを拡大して印刷したマーカーを利用した場合、３次元オブジェクトを２次元画像に適切なサイズで合成できなかった。また、画像認識しやすいようにマーカーをカメラの方向に向けるように壁などに立てかけるように設置した場合、画像認識のみからマーカーが立てかけられたものかどうかを判断することができなかった。
【０００７】
本発明は、上述した問題点を解決するためになされたものであり、マーカーにマーカー自体に関する情報である特徴点表示媒体情報を記録しておき、画像認識でそれを特定することによりマーカーの使用できる条件を自由に変更出来る画像合成装置および画像合成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この目的を達成するために、請求項１記載の画像合成装置は、撮影装置により撮影された２次元画像から画像認識により、特徴点表示媒体に表示された４つの特徴点の各々の２次元座標を抽出する２次元座標抽出手段と、前記撮影装置により撮影された前記２次元画像から前記特徴点表示媒体自身に関する情報であって前記特徴点表示媒体に表示された特徴点表示媒体サイズ情報を含む特徴点表示媒体情報を抽出する特徴点表示媒体情報抽出手段と、前記２次元画像から抽出した前記４つの特徴点の各々の前記２次元座標と、前記特徴点表示媒体サイズ情報を含む前記特徴点表示媒体情報とに基づいて、仮想的な３次元のカメラ座標系における３次元オブジェクトの位置と前記カメラ座標系における前記３次元オブジェクトの向きと前記３次元オブジェクトの大きさとを算出する合成パラメータ算出手段と、前記合成パラメータ算出手段により算出された前記位置と前記向きと前記大きさとに基づいて前記２次元画像に前記３次元オブジェクトを合成する合成手段とを備える。
【０００９】
また、請求項２記載の画像合成装置は、請求項１記載の画像合成装置であって、前記合成パラメータ算出手段が、前記撮影装置の焦点距離と、前記撮影装置の撮像素子のサイズと、前記特徴点表示媒体における特徴点間の距離と、前記４つの特徴点の各々の前記２次元座標と、前記特徴点表示媒体サイズ情報と、に基づいて、前記４つの特徴点の各々の前記カメラ座標系における３次元座標を算出し、その算出された３次元座標に基づいて、前記３次元オブジェクトの前記位置と前記向きと前記大きさとを算出することを特徴とする。
【００１０】
また、請求項３記載の画像合成装置は、請求項２記載の画像合成装置であって、前記特徴点表示媒体情報は前記特徴点表示媒体における前記特徴点間の距離を示す特徴点表示媒体サイズ情報であって、前記合成パラメータ算出手段は、前記特徴点表示媒体サイズ情報が示す特徴点間の距離に基づいて、前記４つの特徴点の３次元座標を算出することを特徴とする。
【００１１】
また、請求項４記載の画像合成装置は、請求項２または請求項３記載の画像合成装置であって、前記特徴点表示媒体情報は、前記特徴点と前記特徴点表示媒体情報とが表示された表示面と、前記特徴点表示媒体を配置した面である配置面と、の傾きを示す傾斜情報であって、前記合成パラメータ算出手段は、前記傾斜情報に基づいて前記４つの特徴点が前記配置面上にあるように補正した前記３次元座標を算出することを特徴とする。
【００１２】
また、請求項５記載の画像合成装置は、請求項２から請求項４のいずれかに記載の画像合成装置であって、前記合成パラメータ算出手段が、前記特徴点の各々の前記３次元座標に基づき、前記特徴点を頂点とする平面図形の特定位置の３次元座標を算出し、その特定位置に前記３次元オブジェクトの底面の中心を一致させ、且つ前記３次元オブジェクトの上方向が前記平面図形と垂直な方向になるように、前記位置及び前記向きを算出することを特徴とする。
【００１３】
また、請求項６記載の画像合成装置は、請求項５記載の画像合成装置であって、前記合成パラメータ算出手段が、前記特徴点の各々の前記３次元座標を頂点とする図形の重心の位置の３次元座標を算出し、その特定位置に前記３次元オブジェクトの底面の中心を一致させ、且つ前記３次元オブジェクトの上方向が前記平面図形と垂直な方向になるように、前記位置及び前記向きを算出することを特徴とする。
【００１４】
また、請求項７記載の画像合成プログラムは、画像合成装置のコンピュータを、撮影装置により撮影された２次元画像から画像認識により特徴点表示媒体に表示された４つの特徴点の各々の２次元座標を抽出する２次元座標抽出手段と、前記撮影装置により撮影された前記２次元画像から前記特徴点表示媒体自身に関する情報であって前記特徴点表示媒体に表示された特徴点表示媒体サイズ情報を含む特徴点表示媒体情報を抽出する特徴点表示媒体情報抽出手段と、前記２次元画像から抽出した前記４つの特徴点の各々の前記２次元座標と、前記特徴点表示媒体サイズ情報を含む前記特徴点表示媒体情報とに基づいて、仮想的な３次元のカメラ座標系における３次元オブジェクトの位置と前記カメラ座標系における前記３次元オブジェクトの向きと前記３次元オブジェクトの大きさとを算出する合成パラメータ算出手段と、前記合成パラメータ算出手段により算出された前記位置と前記向きと前記大きさとに基づいて前記２次元画像に前記３次元オブジェクトを合成する合成手段として機能させる。
【発明の効果】
【００１５】
請求項１記載の画像合成装置によれば、特徴点表示媒体に特徴点表示媒体自身に関する情報である特徴点表示媒体情報が表示されているので、その特徴点表示媒体情報に基づいて、仮想的な３次元のカメラ座標系における３次元オブジェクトの位置と前記カメラ座標系における３次元オブジェクトの向きと前記３次元オブジェクトの大きさとが算出されるので、特徴点表示媒体の使用できる条件を自由に変更することができる。よってユーザは使用状況に適した特徴点表示媒体を利用することが可能となる。
【００１６】
請求項２記載の画像合成装置によれば、請求項１記載の画像合成装置が奏する効果に加え、合成パラメータ算出手段が、撮影装置の焦点距離と、撮影装置の撮像素子のサイズと、特徴点表示媒体における特徴点間の距離と、４つの特徴点の各々の２次元座標と、前記特徴点表示媒体サイズ情報と、に基づいて、４つの特徴点の各々のカメラ座標系における３次元座標を算出することができる。
【００１７】
請求項３記載の画像合成装置によれば、請求項２記載の画像合成装置が奏する効果に加え、特徴点表示媒体サイズ情報が示す特徴点間の距離に基づいて、４つの特徴点の３次元座標を算出するので、異なるサイズの特徴点表示媒体を使用することができる。このため、例えば、特徴点表示媒体を遠くに配置する場合は画像認識をしやすい大きいサイズの特徴点表示媒体を使用することができるので、ユーザは遠方に３次元オブジェクトを合成した２次元画像を得ることができる。
【００１８】
請求項４記載の画像合成装置によれば、特徴点表示媒体情報は、傾斜情報に基づいて４つの特徴点が配置面上にあるように補正した前記３次元座標を算出するので、特徴点表示媒体の表示面を配置面に対して傾けて使用することができる。このため、特徴点表示媒体の表示面を配置面に対して傾けて配置することができるので、単に配置しただけでは撮影装置に対して特徴点表示媒体の表示面が傾きすぎて画像認識が行なえない場合にも、使用することができる。よって、ユーザは画像認識しやすいように特徴点表示媒体を配置面から傾けて設置した場合でも、３次元オブジェクトが配置面に対して合成されている２次元合成画像を得ることができる。
【００１９】
請求項５記載の画像合成装置によれば、請求項２から請求項４のいずれかに記載の画像合成装置が奏する効果に加え、特徴点の各々の３次元座標を頂点とする図形の特定位置の３次元座標と、３次元オブジェクトの底面の中心の３次元座標とが重なり、且つ３次元オブジェクトの上方向が前記平面図形と垂直な方向になるように、３次元オブジェクトを合成することができる。
【００２０】
請求項６記載の画像合成装置によれば、特徴点の各々の３次元座標を頂点とする図形の重心の位置の３次元座標と、３次元オブジェクトの底面の中心の３次元座標とが重なり、且つ３次元オブジェクトの上方向が前記平面図形と垂直な方向になるように、３次元オブジェクトを合成することができる。
【００２１】
請求項７記載の画像合成プログラムによれば、特徴点表示媒体に特徴点表示媒体自身に関する情報である特徴点表示媒体情報が表示されているので、その特徴点表示媒体情報に基づいて、仮想的な３次元のカメラ座標系における３次元オブジェクトの位置と前記カメラ座標系における３次元オブジェクトの向きと前記３次元オブジェクトの大きさとを算出されるので、特徴点表示媒体の使用できる条件を自由に変更することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の第一実施形態について図面を参照して説明する。図１は本発明の第一実施形態である携帯型の画像合成装置１の斜視図である。画像合成装置１は画像を表示するためのディスプレイ１０を備えたディスプレイ部２と各種の操作ボタン４００が備えられた操作部３とからなる。操作ボタン４００としては、後述する電源ボタン４１、シャッターボタン４２、閲覧ボタン４４が存在する（図６参照）。
【００２３】
図２はディスプレイ部２の裏面を模式的に示した模式図である。ディスプレイ部２の裏面の中央には画像を撮影するためのカメラ７０が設けられている。
【００２４】
画像合成装置１は、カメラ７０で撮影した２次元画像に映し出されたマーカー２００（後述）の特徴点を画像認識して、３次元オブジェクトの合成を行なう。しかし、カメラからマーカー２００までの距離が遠くなるほど、撮影された２次元画像中におけるマーカー２００の特徴点の認識が難しくなる。そこで、第一実施形態の画像合成装置では、大きさの異なるマーカー２００を使い分けて使用することにより、その問題を解決する。即ち、カメラからの距離が遠くなるほど、大きいサイズのマーカー２００を使用することにより、その問題を解決する。
【００２５】
ここで、第一実施形態において使用するマーカーについて説明する。第一実施形態では、小サイズのマーカー２０１、中サイズのマーカー２０２、大サイズのマーカー２０３とを使い分けて使用する。尚、マーカー２０１〜２０３をまとめてマーカー２００と称す。尚、第一実施形態では、シート状の記録媒体（例えば、紙）に特徴点１０１〜１０４が印刷されたものであるマーカー２００を用いるが、本願発明の特徴点表示媒体としては、書換え可能な表示媒体（例えば、電子ペーパー）に特徴点１０１〜１０４が表示されている状態のものを使用してもよい。
【００２６】
図３に小サイズのマーカー２０１を示す。図４に中サイズのマーカー２０２を示す。図５に大サイズのマーカー２０３を示す。図３〜図５に示すように、背景色が白色であるマーカー２００には４つの特徴点１０１から１０４が表示されている。尚、ここで、表示とは紙のようなシート状の記録媒体に特徴点１０１〜１０４が印刷されている状態や、電子ペーパのような書換え可能な表示媒体に特徴点１０１〜１０４が表示されている状態を含む。
【００２７】
この４つの特徴点１０１〜１０４は、それぞれ所定の半径を有する円状をしている。また、この４つの特徴点１０１〜１０４の中心は、一辺の長さを所定の長さとする正方形の４つの頂点の位置に配置されている。
【００２８】
例えば、小サイズのマーカー２０１の場合は、特徴点１０１〜１０４として半径が５ｍｍの円状のマークが４つ表示されている。そして、一辺の長さＬ１を７ｃｍとする正方形の４つ頂点の位置に、４つの特徴点１０１〜１０４が表示されている。そして、それぞれの特徴点１０１〜１０４の中心の位置と頂点の位置とが一致するように、４つの特徴点１０１〜１０４が配置されている。
【００２９】
また、中サイズのマーカー２０２の場合は、特徴点１０１〜１０４として半径が１０ｍｍの円状のマークが４つ表示されている。そして、一辺の長さＬ２を１４ｃｍとする正方形の４つ頂点の位置に、４つの特徴点１０１〜１０４が表示されている。そして、それぞれの特徴点１０１〜１０４の中心の位置と頂点の位置とが一致するように、４つの特徴点１０１〜１０４が配置されている。
【００３０】
また、大サイズのマーカー２０３の場合は、特徴点１０１〜１０４として半径が１５ｍｍの円状のマークが４つ表示されている。そして、一辺の長さＬ３を２１ｃｍとする正方形の４つ頂点の位置に、４つの特徴点１０１〜１０４が表示されている。そして、それぞれの特徴点１０１〜１０４の中心の位置と頂点の位置とが一致するように、４つの特徴点１０１〜１０４が配置されている。
【００３１】
これらマーカー２０１に表示されている４つの特徴点１０１〜１０４のうち、特徴点１０１は赤色で表示されており、特徴点１０２〜１０４は黒色で表示されている。特徴点１０１〜１０４は、特徴点１０１から反時計回りに特徴点１０２、特徴点１０３、特徴点１０４の順番に表示されている。
【００３２】
尚、特徴点１０４から特徴点１０１への方向を、マーカー２００の正面方向とし、後述する３次元オブジェクトは、このマーカー２００の正面方向と２次元オブジェクトの正面方向とをあわせるようにして画像が合成される。
【００３３】
マーカー２００の中心付近には２次元配列のパターン１０５及びパターン１０６が表示されている。パターン１０５は３×３の９個のセルに、白と黒との色が所定の配列で表示されている。このパターン１０５はマーカー２００のサイズの情報であるマーカーサイズ情報を特徴点表示媒体情報として記録している。即ち、マーカー２０１のパターン１０５と、マーカー２０２のパターン１０５と、マーカー２０３のパターン１０５とはそれぞれ異なる配列をしている。マーカー２０１のパターン１０５は小サイズであることを示し、マーカー２０２のパターン１０５は中サイズであることを示し、マーカー２０３のパターン１０５は大サイズであることを示す。具体的には本実施形態において、パターン１０５に上述の特徴点１０１〜１０４を結ぶ正方形の一辺の長さＬが記録されているものとする。尚、この長さＬは後述の合成パラメータ算出処理において、カメラ座標系における特徴点１０１〜１０４の３次元座標を算出する際に用いられる。
【００３４】
このパターン１０５の隣には合成する３次元オブジェクトを指定するパターン１０６が表示されている。パターン１０５同様、パターン１０６は３×３の９個のセルに、白と黒との色が所定の配列で表示されている。画像合成装置１の後述する３次元オブジェクト記憶領域に記憶された複数の３次元オブジェクトの中からいずれの３次元オブジェクトを合成するかを指定する３次元オブジェクト指定情報を、パターン１０６は記録している。図３〜図５に示したパターン１０６は全て同じ配列であるので、全て同じ３次元オブジェクトを指定している。
【００３５】
尚、マーカー２０１におけるパターン１０５及びパターン１０６の一つのセルの大きさは１０ｍｍ×１０ｍｍとし、マーカー２０２におけるパターン１０５及びパターン１０６の一つのセルの大きさは２０ｍｍ×２０ｍｍとし、マーカー２０３におけるパターン１０５及びパターン１０６の一つのセルの大きさは３０ｍｍ×３０ｍｍとする。
【００３６】
第一実施形態の画像合成装置１により撮影した２次元画像の一例として、机の上にマーカー２００を配置して撮影した２次元画像を図７及び図９に示す。また、図７のように撮影された２次元画像に３次元オブジェクトを合成して得られた合成画像を図８に示し、図９のように撮影された２次元画像に３次元オブジェクトを合成して得られた合成画像を図１０に示す。
【００３７】
図７はカメラ７０から距離の近い机の上に、小サイズのマーカー２０１を配置して撮影したときの２次元画像である。また、図９はカメラ７０から距離の遠い机の上に、大サイズのマーカー２０３を配置して撮影したときの２次元画像である。尚、図７の机と図９の机とは同じサイズの机であるが、図７中では距離が近いので、図９中での机よりも大きく写されている。
【００３８】
これに対してマーカー２０１とマーカー２０３とはサイズが異なり、マーカー２０３はマーカー２０１よりもサイズが大きい。従って、図７に示した２次元画像中のマーカー２０１と図９に示した２次元画像中のマーカー２０３とは略同じ大きさに移っている。
【００３９】
従って、後述の処理でマーカー２００の特徴点１０１〜１０４を画像認識する際に、図７に示した２次元画像と図９に示した２次元画像との両方について略同じ精度で画像認識を行なうことができる。
【００４０】
なお、従来の画像合成装置では、マーカーにパターン１０５が表示されているものはなく、予め長さＬが定められたマーカーを用いられていた。このため、マーカーをカメラ７０から遠くに配置した場合、画像認識が正確に行なえないという問題があった。
【００４１】
これに対して、マーカー２００には上述したようにマーカーサイズ情報がパターン１０５として記録されているので、後述の処理でパターン１０５を認識することにより、マーカーサイズ情報を考慮して合成する３次元オブジェクトの大きさを補正することが可能である。
【００４２】
したがって、図７のマーカー２０１よりもマーカー２０３の配置された位置がカメラ７０から遠いので、図８及び図１０に示したように、図１０の２次元画像に合成された３次元オブジェクトは図８の２次元画像に合成された３次元オブジェクトよりも小さく合成されている。
【００４３】
図６に画像合成装置１の電気的構成を示すブロック図を示す。画像合成装置１には、画像合成装置１の動作を制御するマイコン３０が内臓されている。マイコン３０はＣＰＵ３１と各種プログラムを記憶したＲＯＭ３２と各種情報を記憶するＲＡＭ３３とから構成されており、ＣＰＵ３１とＲＡＭ３２及びＲＡＭ３３とはバス３４を介して接続されている。
【００４４】
また、外部インターフェース５０は外部装置とのデータの入出力を行なうためのインターフェースであり、バス２４を解してＣＰＵ３１に接続されている。
【００４５】
画像処理回路２０を介してディスプレイ１０がマイコン３０と接続されている。画像処理回路２０はマイコン３０からの指示に従い、ディスプレイ１０に画像を表示させる。
【００４６】
操作ボタン４００（電源ボタン４１、シャッターボタン４２、閲覧ボタン４４等）は、外部入力インターフェース４０を介してマイコン３０と接続されており、各操作ボタン４００の押下に応じて信号をマイコン３０に送信する。
【００４７】
カメラ７０はカメラインタフェース６０を介してマイコン３０と接続されており、カメラ７０により撮影した画像の信号をマイコン３０に送信する。
【００４８】
図１１にＲＡＭ３３の各記憶領域を模式的に示す構成図を示す。図１１に示すように、ＲＡＭ３３には２次元画像サイズ記憶領域３０１、焦点距離記憶領域３０２、撮像素子サイズ記憶領域３０３撮像素子サイズ記憶領域３０３、３次元オブジェクト記憶領域３０４、２次元画像記憶領域３０７、合成パラメータ記憶領域３０８、合成画像記憶領域３０９、作業領域３１１とを備えている。
【００４９】
２次元画像サイズ記憶領域３０１には、カメラ７０で撮影される２次元画像の縦横サイズが記憶されている。焦点距離記憶領域３０２には、カメラ７０の焦点距離が記憶されている。撮像素子サイズ記憶領域３０３にはカメラ７０の撮像素子のサイズ情報が記憶されている。３次元オブジェクト記憶領域３０４には、カメラ７０で撮影した２次元画像と合成するための３次元オブジェクトが記憶されている。尚、３次元オブジェクト記憶領域には、複数の３次元オブジェクトが記憶されており、それぞれの３次元オブジェクトに対して、それぞれ異なる配列のパターン１０５が対応付けられて記憶されている。２次元画像記憶領域３０７は、カメラ７０により撮影した２次元画像が記憶される領域である。合成パラメータ記憶領域３０８は、後述する合成パラメータ算出処理で算出される合成パラメータが記憶される領域である。合成画像記憶領域３０９は、後述する合成処理で作成される合成画像が記憶される領域である。作業領域３１１は、後述する各処理をＣＰＵ３１が実行する際に使用される領域である。
【００５０】
立体図形である３次元オブジェクトの透視図を、カメラ７０で撮影した２次元画像に合成してコンピューマーカーラフィックスで表す処理には、種々の座標変換が行われる。公知の技術であるが、この変換に関係する座標系であるワールド座標系とカメラ座標系について簡単に説明する。
【００５１】
ワールド座標系とは、現実の空間をモデル化して、擬似的な３次元の空間を考えたときに、そこに考える座標系をワールド座標系いう。
【００５２】
カメラ座標系とは、ワールド座標系の中に存在する仮想的なカメラを考えたときに、その仮想的なカメラの中心を原点とした座標系である。この仮想的なカメラのスクリーンの向きを定義するものである。尚、スクリーンとは、後述の処理で３次元オブジェクトを透視射影するための平面であり、カメラ座標系のｚ軸と垂直に交わるように設定される。
【００５３】
上述の仮想的なカメラはワールド座標系の任意の位置に設置することができるが、カメラ座標系の原点であるカメラ原点の位置をワールド座標系の原点の位置と一致させて、更にｘ軸、ｙ軸、ｚ軸をそれぞれ一致させて考えることで、座標変換の処理を簡単に説明することができる。
【００５４】
本実施形態での仮想的なカメラの向きをｚ軸方向とし、カメラからみてｚ軸方向にスクリーンを設置する。図１５に本実施形態におけるカメラ座標系におけるスクリーンを示す模式図を示す。
【００５５】
後述する処理では、スクリーンにカメラ７０で撮影された２次元画像とを重ね合わせて考えることで、カメラ座標系（ワールド座標系）における特徴点１０１〜１０４の３次元座標を算出する。
【００５６】
次に画像合成装置１の動作について説明する。図１２は画像合成装置１のＣＰＵ３１が実行するメイン処理のフローチャートである。
【００５７】
電源ボタン４１が押下されるとメイン処理が開始され、先ず初期化処理を実行する（ステップ１０１、以下ステップをＳと称す）。ここで初期化処理とはカメラ７０及びディスプレイ１０を起動し、光源９０から対象物に特徴点１０１〜１０３を投影することである。
【００５８】
次にカメラ７０からの入力画像にディスプレイ１０の表示を切換える（Ｓ１０２）。そして、電源ボタン４１が押下されたか否かを判断する（Ｓ１０４）。電源ボタン４１が押下された場合（Ｓ１０４：Ｙｅｓ）、終了処理を実行し（Ｓ１０５）、メイン処理が終了され画像処理装置１の電源がオフ状態になる。ここで終了処理とはカメラ７０及びディスプレイ１０を停止することである。
【００５９】
電源ボタン４１が押下されていないと判断した場合は（Ｓ１０４：Ｎｏ）、シャッターボタン４２が押下されたか否かを判断する（Ｓ１０６）。
【００６０】
シャッターボタン４２が押下されたと判断した場合は（Ｓ１０６：Ｙｅｓ）、後述する認識合成処理を実行し（Ｓ１０７）、Ｓ１０２に戻る。
【００６１】
シャッターボタン４２が押下されていないと判断した場合は（Ｓ１０６：Ｎｏ）、閲覧ボタン４４が押下されたか否かを判断する（Ｓ１１０）。
【００６２】
閲覧ボタン４４が押下されたと判断した場合は（Ｓ１１０：Ｙｅｓ）、後述する閲覧処理を実行し（Ｓ１１１）、Ｓ１０２に戻る。閲覧ボタン４４が押下されていないと判断した場合は（Ｓ１１０：Ｎｏ）、そのままＳ１０４に戻る。
【００６３】
次に認識合成処理について説明する。図１３はＣＰＵ３１が実行する認識合成処理のフローチャートである。認識合成処理は上述したように、メイン処理のＳ１０６においてシャッターボタン１０５が押下されたと判断された場合に開始される。
【００６４】
ＣＰＵ３１は認識合成処理を開始すると先ず、カメラ７０で２次元画像を撮影し、２次元画像をＲＡＭ３３に記憶する（Ｓ２０１）。
【００６５】
次に２次元画像の画像認識を行い、２次元画像におけるマーカー２００の特徴点１０１〜１０４の２次元座標を求め、更にマーカー２００に記憶されているパターン１０５とパターン１０６とを認識する（Ｓ２０２）。
【００６６】
画像認識について以下に簡単に説明する。２次元画像に対して平滑化処理、赤と黒と白に多値化処理を行った後、連結成分に対しラベリング処理を行い、各連結成分に対して形状特徴として面積と周囲長を求める。この面積と周囲長から、周囲長を２乗したものに４πを掛けて面積で割ったものを円形度とする。円形度は連結成分が円に近いほど１に近づき、複雑な図形であるほど大きな値となる。円形度が予め設定した閾値以下となる連結成分のうち、円形度が最も小さいものから順に４つ特徴点として認識をする。赤と黒と白に多値化する処理における閾値は、事前の実験により得られたヒューリスティックな値が予め設定されているものとする。尚、Ｓ２０２では赤色の特徴点の座標を特徴点１０１の座標として認識し、そのほかの特徴点の座標を、特徴点１０１から反時計回りの順番に特徴点１０２、特徴点１０３、特徴点１０４の座標として認識する。
【００６７】
パターン１０５の画像認識により、特徴点１０１〜１０４を結ぶ上述の正方形の一辺の長さＬがマーカーサイズ情報として取得され、パターン１０６からいずれの３次元オブジェクトを合成するかを示す情報が取得される。
【００６８】
画像認識については公知の技術であるが、例えば「コンピュータ画像処理、田村秀行  編著、オーム社」に記載されている。
【００６９】
次に、カメラ７０で撮影された２次元画像に基づいて画像認識が成功したか否かを判断する（Ｓ２０３）。即ち、Ｓ２０３では、４つの特徴点１０１〜１０４の２次元座標とパターン１０５とパターン１０６の認識が成功したか否かを判断する。判断方法としては、特徴点認識において、予め設定した閾値以下の連結成分が必要数（ここでは４つ）存在するか否かと、特徴点として認識された４つの連結成分の内訳が赤色の連結成分が１つで黒色の連結成分が３つであるか否かとする。どちらの条件も満たしたとき、画像認識は成功したと判断する。
【００７０】
画像認識に失敗した場合は（Ｓ２０３：Ｎｏ）、認識失敗を通知する画像をディスプレイ１０に一定時間表示させ（Ｓ２０４）、メイン処理に戻る
画像認識が成功した場合は（Ｓ２０３：Ｙｅｓ）、後述する合成パラメータ算出処理を実行する（Ｓ２０５）。合成パラメータ算出処理では、合成パラメータとして、カメラ座標系における３次元オブジェクトの位置と向きとを示す情報を算出する。合成パラメータ算出処理の詳細については後述する。
【００７１】
次に算出された合成パラメータに基づいて、合成処理を実行する（Ｓ２０６）。合成処理では、合成パラメータに基づいて、３次元オブジェクトとカメラ７０で撮影した２次元画像とを合成して合成画像を生成する。合成処理の詳細については後述する。
【００７２】
次に、Ｓ２０６で作成した合成画像の表示にディスプレイ２の表示を切換える（Ｓ２０７）。
【００７３】
そして、ディスプレイ２に表示中の合成画像の保存が選択されるか否かを判断する（Ｓ２０８）。合成画像の保存が選択された場合（Ｓ２０８：Ｙｅｓ）、合成画像をＲＡＭ３３の合成画像記憶領域３０９に記憶して（Ｓ２１０）メイン処理に戻る。
【００７４】
合成画像の保存が選択されなかった場合（Ｓ２０８：Ｎｏ）、合成画像の破棄が選択されるか否かを判断する（Ｓ２０９）。合成画像の破棄が選択されなかった場合（Ｓ２０９：Ｎｏ）、Ｓ２０８へ戻り、合成画像の保存か破棄のいずれかが選択されるまでＳ２０８とＳ２０９を繰り返す。
【００７５】
合成画像の破棄が選択された場合（Ｓ２０９：Ｙｅｓ）、ＲＡＭ３３の作業領域に作成された合成画像を消去して（Ｓ２１１）、メイン処理に戻る。
【００７６】
ここで合成パラメータ算出処理について説明する。図１４に合成パラメータ算出処理のフローチャートを示す。
【００７７】
合成パラメータ算出処理を開始すると先ず、カメラ原点から上述のスクリーン上での特徴点１０１〜１０４までのベクトルであるベクトルＥ、ベクトルＦ、ベクトルＧ、ベクトルＨを算出する（Ｓ３０１）。尚、スクリーン上での特徴点とは、カメラ７０で撮影した２次元画像とスクリーンを一致させたときに、スクリーン上に現れる特徴点１０１〜１０４のことである。図１６にスクリーン上の特徴点１０１〜１０４と、カメラ原点からスクリーン上での特徴点１０１までのベクトルＥとを模式的に示した模式図を示す。
【００７８】
ベクトルＥ、ベクトルＦ、ベクトルＧ、ベクトルＨについては、２次元画像の縦横のサイズ（例えば３００×４００ｐｉｘｅｌ）と、上述のＳ２０２で算出した２次元座標（例えば左上から縦２５ｐｉｘｅｌ目，横３２０ｐｉｘｅｌ目）と、スクリーンの縦横のサイズ（カメラの撮像素子の縦横のサイズ）と、カメラ７０の焦点距離に基づいて、求めることができる。カメラ７０の焦点距離は、カメラ原点からスクリーンに下ろした垂線の距離に対応する。ここで、２次元画像の高さと幅をそれぞれｈｐ、ｗｐ（ｐｉｘｅｌ数）とし、Ｓ２０２で算出された２次元座標をａｐ、ｂｐ（２次元画像の左上からの縦ａｐピクセル目、横ｂｐピクセル目）とする。また、スクリーンまでの距離をｄとし、スクリーンの高さと幅をそれぞれｗｓ、ｈｓとする。
【００７９】
ベクトルＥについて算出例を簡単に説明する。ここで、求めたいベクトルＥのｘ，ｙ，ｚ座標をそれぞれ、Ｘｅ,Ｙｅ,Ｚｅとする。Ｘｅ，Ｙｅ，Ｚｅはそれぞれ以下の式で算出される。
【００８０】
【数１】
0004835243.tif 000002
このとき、ｈｐ、ｗｐには２次元画像の縦横のサイズが、ｗｐ、ｗｓにはカメラの撮像素子の縦横のサイズが、ａｐ，ｂｐにはＳ２０２で算出された２次元座標が、ｄにはカメラ７０の焦点距離が代入される。Ｚ軸は長方形のスクリーンの中央を垂直に通っており、スクリーンの各辺はｘ軸またはｙ軸と平行である。他のベクトルＦ、ベクトルＧ、ベクトルＨについても同様に算出する。
【００８１】
ここで、２次元画像の縦横サイズは、ＲＡＭ３３の撮影画像サイズ記憶領域３０１に予め定められた設定値が記憶されているものとする。また、カメラ７０の焦点距離については、ＲＡＭ３３の焦点距離記憶領域３０２に予め定められた設定値が記憶されているものとする。
【００８２】
次に、Ｓ３０１で算出されたベクトルＥ、ベクトルＦ、ベクトルＧ、ベクトルＨに基づいて、カメラ座標系における特徴点１０１〜１０４の３次元座標を算出する（Ｓ３０２）。
【００８３】
図１７にスクリーン上での特徴点１０１〜１０４とカメラ座標系における特徴点１０１〜１０４における特徴点１０１〜１０４との位置関係を示す模式図を示す。カメラ座標系における特徴点１０１〜１０４は、ベクトルＥ、ベクトルＦ、ベクトルＧ、ベクトルＨそれぞれ延長線上にある。従って、カメラ原点から特徴点１０１までのベクトルをｅＥ、カメラ原点から特徴点１０２までのベクトルをｆＦ、カメラ原点から特徴点１０３までのベクトルをｇＧ、カメラ原点から特徴点１０４までのベクトルをｈＨとすると、ベクトルＥ、ベクトルＦ、ベクトルＧ、ベクトルＨはすでに算出されているので、スカラー値であるｅ、ｆ、ｇ、ｈをそれぞれ求めれば、特徴点１０１〜１０４の３次元座標が求まる。
【００８４】
マーカー２００の特徴点１０１〜１０４はそれぞれ正方形の頂点であることから、下記の式が成立する。
【００８５】
【数２】
0004835243.tif 000003
数２より、以下の式を得る。
【００８６】
【数３】
0004835243.tif 000004
数３をベクトルの各成分に分けると次式数４、数５、数６となる。尚、ベクトルＥの各成分（カメラ座標系における３次元座標）を（Ｅｘ、Ｅｙ、Ｅｚ）、ベクトルＦの各成分（カメラ座標系における３次元座標）を（Ｆｘ、Ｆｙ、Ｆｚ）、ベクトルＧの各成分（カメラ座標系における３次元座標）を（Ｇｘ、Ｇｙ、Ｇｚ）、ベクトルＨの各成分（カメラ座標系における３次元座標）を（Ｇｘ、Ｇｙ、Ｇｚ）とする。
【００８７】
【数４】
0004835243.tif 000005
【００８８】
【数５】
0004835243.tif 000006
【００８９】
【数６】
0004835243.tif 000007
（ｆ／ｅ）、（ｇ／ｅ）、（ｈ／ｅ）の３つをそれぞれ変数と見なすと、数４、数５、数６より、（ｆ／ｅ）、（ｇ／ｅ）、（ｈ／ｅ）が求まる。
【００９０】
つまり、１：（ｆ／ｅ）：（ｇ／ｅ）：（ｈ／ｅ）＝ｅ：ｆ：ｇ：ｈなので、ｅ、ｆ、ｇ、ｈの比率が求まることになる。
【００９１】
したがって、ｅの値が求まれば上述の結果よりｆ、ｇ、ｈの各値も求まる。上述したようにマーカー２００において、特徴点１０１〜１０４は正方形の頂点の位置に配置されている。この正方形の一辺の長さをＬとすると以下の式が成り立つ。
【００９２】
【数７】
0004835243.tif 000008
数７より以下の式を導く。
【００９３】
【数８】
0004835243.tif 000009
ここで、（ｈ／ｅ）は求められているので、数８よりｅを求めることができ、それを用いて残りのｆ、ｇ、ｈを求めることができる。
【００９４】
よって、上述の正方形の一辺の長さＬがわかれば４つのベクトルｅＥ、ｆＦ、ｇＧ、ｈＨ（ｅ、ｆ、ｇ、ｈはスカラー値）を求めることができ、即ち、各特徴点１０１〜１０４のカメラ座標系における３次元座標を算出することができる。尚、正方形の一辺の長さＬは、上述のパターン１０５の画像認識より取得されているので、使用したマーカー２００の大きさに合わせて正確な３次元座標を算出することができる。このようにして、特徴点１０１〜１０４の３次元座標が算出される。
【００９５】
次に、３次元オブジェクトを合成するために必要な、合成パラメータをＳ３０２で算出された特徴点１０１〜１０４の３次元座標（４つのベクトルｅＥ、ｆＦ、ｇＧ、ｈＨ）に基づいて算出する（Ｓ３０３）。
【００９６】
ここでは、合成パラメータとして、カメラ座標系における３次元オブジェクトの合成位置を示すベクトルｐと、３次元オブジェクトの正面方向を示すベクトルｔと、３次元オブジェクトの上方向を示すベクトルｕとを算出する。
【００９７】
ここで、Ｓ３０２で算出されたｅＥ、ｆＦ、ｇＧ、ｈＨの各成分（３次元座標）を
【００９８】
【数９】
0004835243.tif 000010
とする。
【００９９】
合成位置を示すベクトルｐは次の式で算出される。
【０１００】
【数１０】
0004835243.tif 000011
正面方向を示すベクトルｔ、及び、上方向を示すベクトルｕは次の式で算出される。
【０１０１】
【数１１】
0004835243.tif 000012
このように合成パラメータとして３次元オブジェクトの合成位置を示すベクトルｐと、合成する際の３次元オブジェクトの正面方向（カメラ座標系におけるマーカー２００の正面方向）を示すベクトルｔと、合成する際の３次元オブジェクトの上方向（カメラ座標系におけるマーカー２００の上方向）を示すベクトルｕとを算出し、ＲＡＭ３３に記憶させた後、合成パラメータ算出処理を終了し、認識合成処理へ戻る。
【０１０２】
次に、合成処理について説明する。図１８は合成処理のフローチャートである。合成処理を開始すると先ず、Ｓ２０５で算出した合成パラメータと、Ｓ２０１で記憶した２次元画像と、３次元オブジェクトのデータである３次元オブジェクトデータとをＲＡＭ３３から読み出す（Ｓ２６１）。尚、ここでは上述の画像認識により認識されたパターン１０６が示す３次元オブジェクトをＲＡＭ３３の３次元オブジェクト記憶領域３０４から読み出す。
【０１０３】
ここで、３次元オブジェクトデータについて説明する。図１９は一例として立方体の３次元オブジェクトを示す。図１９に示した立方体の３次元オブジェクトの３次元オブジェクトデータは、立方体の８つの頂点の座標と、立方体の各表面に対応するテクスチャ画像情報と、立方体の底面の中心点ｐｏと、立方体の正面方向を示すベクトルｔｏと、立方体の上方向を示すベクトルｕｏとの情報を備えている。
【０１０４】
次に、撮像素子のサイズの情報とカメラの焦点距離をＲＡＭ３３の撮像素子サイズ記憶領域３０３と焦点距離記憶領域３０２から読み出す（Ｓ２６２）。
【０１０５】
次に算出された合成パラメータを考慮して、３次元オブジェクトをカメラ座標系で回転させる。ここでは、合成パラメータであるベクトルｕの方向と３次元オブジェクト情報の上方向を示すベクトルｕｏの方向とを一致させるように回転させた後、合成パラメータであるベクトルｔの方向と３次元オブジェクトの正面方向を示すベクトルｔｏの方向とを一致させるように回転させる（Ｓ２６４）。
【０１０６】
３次元オブジェクトの回転方法については、「ゲームプログラミングのための３Ｄグラフィックス数学,Ｅｒｉｃ  Ｌｅｎｇｙｅｌ  緒  狩野智英  訳,  ボーンデジタル,  Ｐ.５８−６２」に記載されているが、ここでは簡単に説明する。
【０１０７】
３次元オブジェクトのワールド座標系における任意の頂点の座標を（ｘ,ｙ,ｚ）とするとき、単位ベクトルＡ（Ａｘ, Ａｙ, Ａｚ）で示される軸にそって、角度θ回転させた座標である頂点（ｘ',ｙ',ｚ'）は次の行列式で求めることができる。
【０１０８】
【数１２】
0004835243.tif 000013
ここで、S=sinθ、C=cosθである。
【０１０９】
ここで軸Ａまわりの正の角度の回転とは、軸Ａが視点側向いているときに反時計回りさせることをいう。
【０１１０】
同じことを４×４の座標変換の行列式であらわすと、
【０１１１】
【数１３】
0004835243.tif 000014
ただし、
【０１１２】
【数１４】
0004835243.tif 000015
このような回転方法を用いて、ここでは、合成パラメータであるベクトルｕの方向と３次元オブジェクト情報の上方向を示すベクトルｕｏの方向とを一致させるように回転させた後、合成パラメータであるベクトルｔの方向と３次元オブジェクトの正面方向を示すベクトルｔｏの方向とを一致させるように回転させる。
【０１１３】
次に、合成パラメータであるベクトルｐを考慮してワールド座標系における３次元オブジェクトを移動させる（Ｓ２６５）。ここでは３次元オブジェクトの底面の中心点ｐｏがベクトルｐの各成分と一致するように３次元オブジェクトの各頂点を移動させる。
【０１１４】
そして、このように移動させた３次元オブジェクトをスクリーン上に透視射影して３次元オブジェクトの透視図を生成し、その透視図をカメラ７０で撮影された２次元画像と合成した合成画像を生成し（Ｓ２６６）、認識合成処理に戻る。尚、生成された合成画像はＲＡＭ３３の合成画像記憶領域３０９に記憶される。
【０１１５】
このように本実施形態では、マーカー２００のパターン１０５に記録されたマーカーサイズ情報に基づいてカメラ座標系における特徴点１０１〜１０４の３次元座標が算出されているので、３次元オブジェクトが正確な大きさでカメラ７０で撮影した２次元画像に合成される。また、マーカーは単一のフォーマットで表示されているので、画像認識にかかる計算量を低減でき、画像認識の速度が向上する。
【０１１６】
次に、閲覧処理について説明する。図２０は閲覧処理のフローチャートである。先ず、ＲＡＭ３３の合成画像記憶領域３０９に記憶されている全ての合成画像をディスプレイ１０にリスト表示する（Ｓ４０１）。合成画像がない場合はリストには何も表示しない。
【０１１７】
そして、閲覧の終了の操作が行なわれるか否かを判断する（Ｓ４０２）。閲覧の終了の操作が行なわれた場合は（Ｓ４０２：Ｙｅｓ）、メイン処理に戻る。
【０１１８】
閲覧の終了の操作が行なわれない場合は（Ｓ４０２：Ｎｏ）、リストから特定の合成画像を選択する操作が行なわれたか否かを判断する（Ｓ４０３）。リストから特定の合成画像を選択する操作が行なわれない場合は（Ｓ４０３：Ｎｏ）、Ｓ４０１に戻る。
【０１１９】
リストから特定の合成画像を選択する操作が行なわれた場合は（Ｓ４０３：Ｙｅｓ）、選択された合成画像をディスプレイ１０に表示させる（Ｓ４０４）。
【０１２０】
そして、表示した合成画像を削除する操作が行なわれるか否かを判断する（Ｓ４０５）。削除の操作が行なわれた場合は（Ｓ４０５：Ｙｅｓ）、その合成画像をＲＡＭ３３の合成画像記憶領域３１０から消去し（Ｓ４０６）、Ｓ４０１に戻る。
【０１２１】
削除の操作が行なわれなかった場合は（Ｓ４０５：Ｎｏ）、ディスプレイ１０の表示をリスト表示の画面に戻す操作が行なわれたか否かを判断する（Ｓ４０７）。
【０１２２】
リスト表示の画面に戻す操作が行なわれなかった場合は（Ｓ４０７：Ｎｏ）、Ｓ４０４へ戻る。リスト表示の画面に戻す操作が行なわれた場合は（Ｓ４０７：Ｙｅｓ）、Ｓ４０１へ戻る。
【０１２３】
尚、第一実施形態において、マーカー２００が特徴点表示媒体に相当する。また、Ｓ２０２を実行するＣＰＵ３１が２次元座標抽出手段に相当する。また、パターン１０５に記録されたマーカー２００のサイズの情報であるマーカーサイズ情報が特徴点表示媒体サイズ情報に相当する。また、Ｓ２０２を実行するＣＰＵ３１が特徴点表示媒体情報抽出手段に相当する。また、Ｓ２０５を実行するＣＰＵ３１が合成パラメータ算出手段に相当する。また、Ｓ２０６を実行するＣＰＵ３１が合成手段に相当する。
【０１２４】
次に第二実施形態について説明する。以下第一実施形態と異なる部分についてのみ説明する。先ず、第二実施形態で使用するマーカー３００について説明する。図２１は第二実施形態におけるマーカー３００の斜視図である。マーカー３００は、表示面１０８と、所定の位置の配置面（例えば机の上の面）に配置した際に表示面１０８と配置面とが傾くように表示面の裏側に形成された傾斜部材１０９とを備える。
【０１２５】
表示面１０８には上述のマーカー２００同様に、特徴点１０１〜１０４が表示されている。また、表示面１０８の中央付近にはパターン１０７とパターン１０６とが表示されている。尚、図２１中では、パターン１０６とパターン１０７とを省略して記載した。
【０１２６】
ここで、パターン１０７は第一実施形態におけるパターン１０５とは異なり、マーカー３００を任意の位置に配置したときに、傾斜部材１０９により表示面１０８と配置面との傾きを示す情報が記録されている。
【０１２７】
図２２にマーカー３００の側面図を示す。図２２に示すように傾斜部材は三角柱状の形状をしている。表示面１０８と配置面との傾きをαとするとき、このαの値がパターン１０７に特徴点表示媒体情報として記録されている。
【０１２８】
このように、第二実施形態のマーカー３００によれば、カメラ７０の対して表示面１０８を向けてマーカー３００を配置することができる。このため、特徴点１０１〜１０４の画像認識がより確実に行なえるようになる。第二実施形態の画像合成装置１により撮影した２次元画像の一例として、机の上にマーカー３００を配置して撮影した２次元画像を図２３に示す。
【０１２９】
第二実施形態における画像合成装置１の外観及び電気的構成については第一実施形態と同様であるので説明を省略する。
【０１３０】
第二実施形態における画像合成装置１の動作について説明する。尚、第一実施形態と同様の部分については説明を省略する。
【０１３１】
第二実施形態では、図１３に示した認識合成処理のＳ２０２の画像認識において、パターン１０７の画像認識を行い、表示面１０８と載置面との角度αを取得する。
【０１３２】
次に第二実施形態における合成パラメータ算出処理のフローチャートを図２４に示す。第二実施形態における合成パラメータ算出処理では、Ｓ３０２において、カメラ座標系におけるマーカー３００の特徴点１０１〜１０４の３次元座標を算出した後、上述のＳ２０２においてパターン１０７から取得した特徴点表示媒体情報（角度αの値）に基づいて、特徴点１０３と特徴点１０４の３次元座標が配置面上に位置するように補正する（Ｓ２０００）。このとき、特徴点１０１と特徴点１０２とを結ぶ直線を軸にして、特徴点１０３及び特徴点１０４を回転させる。回転方法については、上述の第一実施形態におけるＳ２６４で説明した通りであるので説明を省略する。
【０１３３】
その後、Ｓ３０３において、特徴点１０１の３次元座標、特徴点１０２の３次元座標、Ｓ２０００で補正した特徴点１０３の３次元座標、及び、Ｓ２０００で補正した特徴点１０４の３次元座標に基づいて、合成パラメータを算出する。
【０１３４】
その他の処理については、第一実施形態の処理と同様であるので説明を省略した。このように第二実施形態では、特徴点１０３の３次元座標と特徴点１０４の３次元座標とがパターン１０７に記録された傾斜情報（角度αの値）に基づいて補正されるので、正確な傾きで３次元オブジェクトが合成される。
【０１３５】
ここで、第二実施形態において、マーカー３００が特徴点表示媒体に相当する。パターン１０７に記録された、傾斜部材１０９により表示面１０８と配置面との傾きを示す情報が傾斜情報に相当する。
【０１３６】
尚、上述の第一及び第二の実施形態では、カメラ７０の焦点距離と、カメラ７０の撮像素子のサイズとに基づいて４つの特徴点１０１〜１０４の各々のカメラ座標系における３次元座標を算出するものとして説明したが、カメラ７０の焦点距離とカメラ７０の撮像素子のサイズに代わる情報であるそれら以外の情報に基づいて特徴点１０１〜１０４の３次元座標を算出するようにしてもよい。
【０１３７】
また、上述の第一及び第二実施形態では、カメラ座標系における特徴点１０１〜１０４の４点を頂点とする正方形の重心の位置であるベクトルｐの各成分と、３次元オブジェクトの底面の中心点ｐｏとが一致するように３次元オブジェクトを合成するものとして説明した。しかし、これは一例であって、重心の位置でなくてもカメラ座標系における特徴点１０１〜１０４の４点を頂点とする正方形のいずれかの特定の位置（例えば、特徴点１０１の３次元座標の位置）に合成するようにしてもよい。
【図面の簡単な説明】
【０１３８】
【図１】本発明の第一実施形態である携帯型の画像合成装置１の斜視図。
【図２】ディスプレイ部２の裏面を模式的に示した模式図。
【図３】小サイズのマーカー２０１の正面図。
【図４】中サイズのマーカー２０２の正面図。
【図５】大サイズのマーカー２０３の正面図。
【図６】画像合成装置１の電気的構成を示すブロック図。
【図７】画像合成装置１により撮影した２次元画像の一例（３次元オブジェクトをカメラ７０から近い位置に合成する場合）。
【図８】２次元画像に３次元オブジェクトを合成して得られた合成画像（３次元オブジェクトをカメラ７０から近い位置に合成する場合）。
【図９】画像合成装置１により撮影した２次元画像の一例（３次元オブジェクトをカメラ７０から近い位置に合成する場合）。
【図１０】画像合成装置１により撮影した２次元画像の一例（３次元オブジェクトをカメラ７０から遠い位置に合成する場合）。
【図１１】ＲＡＭ３３の各記憶領域を模式的に示す構成図。
【図１２】画像合成装置１のＣＰＵ３１が実行するメイン処理のフローチャート。
【図１３】認識合成処理のフローチャート。
【図１４】合成パラメータ算出処理のフローチャート。
【図１５】カメラ座標系におけるスクリーンを示す模式図。
【図１６】スクリーン上の特徴点１０１〜１０４と、カメラ原点からスクリーン上での特徴点１０１までのベクトルＥとを模式的に示した模式図。
【図１７】スクリーン上での特徴点１０１〜１０４とカメラ座標系における特徴点１０１〜１０４における特徴点１０１〜１０４との位置関係を示す模式図。
【図１８】合成処理のフローチャート。
【図１９】立方体の３次元オブジェクト。
【図２０】閲覧処理のフローチャート。
【図２１】第二実施形態におけるマーカー３００の斜視図。
【図２２】マーカー３００の側面図。
【図２３】第二実施形態の画像合成装置１により撮影した２次元画像の一例。
【図２４】第二実施形態における合成パラメータ算出処理。
【符号の説明】
【０１３９】
１０  ディスプレイ
２０  画像処理回路
３０  マイコン
３１  ＣＰＵ
３２  ＲＯＭ
３３  ＲＡＭ
４０  外部入力インターフェース
５０  外部インターフェース
６０  カメラインタフェース
７０  カメラ
８０  ドライバ
９１、９２、９３  光源
１０１、１０２、１０３、１０４  特徴点
【図１】
0004835243.tif 000016
【図２】
0004835243.tif 000017
【図３】
0004835243.tif 000018
【図４】
0004835243.tif 000019
【図５】
0004835243.tif 000020
【図６】
0004835243.tif 000021
【図７】
0004835243.tif 000022
【図８】
0004835243.tif 000023
【図９】
0004835243.tif 000024
【図１０】
0004835243.tif 000025
【図１１】
0004835243.tif 000026
【図１２】
0004835243.tif 000027
【図１３】
0004835243.tif 000028
【図１４】
0004835243.tif 000029
【図１５】
0004835243.tif 000030
【図１６】
0004835243.tif 000031
【図１７】
0004835243.tif 000032
【図１８】
0004835243.tif 000033
【図１９】
0004835243.tif 000034
【図２０】
0004835243.tif 000035
【図２１】
0004835243.tif 000036
【図２２】
0004835243.tif 000037
【図２３】
0004835243.tif 000038
【図２４】
0004835243.tif 000039