JP2004252815A - Image display device, its method and program - Google Patents

Image display device, its method and program Download PDF

Info

Publication number
JP2004252815A
JP2004252815A JP2003043687A JP2003043687A JP2004252815A JP 2004252815 A JP2004252815 A JP 2004252815A JP 2003043687 A JP2003043687 A JP 2003043687A JP 2003043687 A JP2003043687 A JP 2003043687A JP 2004252815 A JP2004252815 A JP 2004252815A
Authority
JP
Japan
Prior art keywords
background image
dimensional
line segments
display device
dimensional coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003043687A
Other languages
Japanese (ja)
Inventor
Akira Yamada
亮 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Dainippon Screen Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dainippon Screen Manufacturing Co Ltd filed Critical Dainippon Screen Manufacturing Co Ltd
Priority to JP2003043687A priority Critical patent/JP2004252815A/en
Publication of JP2004252815A publication Critical patent/JP2004252815A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image display device capable of easily setting three-dimensional (3D) coordinate axes and a visual point corresponding to a background image and displaying a 3D object by suitably superposing the 3D object to the background image. <P>SOLUTION: In a computer, a combination determination part 21 determines a plurality of arrangement combinations of 3D coordinate axes and visual points on the basis of a boundary on a background image 6. An evaluation value calculation part 26 projects extracted segments of the background image 6 to a face determined by two coordinate axes included in the combinations, selects 3D coordinate axes and a visual point concerned with one combination on the basis of a parallel or vertical degree between the projected extracted segments and sets the selected 3D coordinates and visual point on the background image 6. Consequently the 3D coordinate axes and the visual point corresponding to the background image 6 can be easily set and the 3D object can be suitably superposed to the background image and displayed. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、2次元の背景画像上に3次元のオブジェクトを重ねて表示する技術に関する。
【0002】
【従来の技術】
従来より、医療、教育、製造、あるいは、流通等の様々な分野において、2次元の背景画像上に3次元空間内のオブジェクト(いわゆる、3次元オブジェクト)を重ねて表示する技術が利用されている。例えば、風景を表す画像上に建造物の3次元オブジェクトを重ね合わせることで、建造物がその風景に及ぼす影響を視覚的に捉えることが可能となる(いわゆる、拡張現実感や複合現実感が得られる。)。このような技術は、主に、複数の画像を利用するステレオ視等の手法を用いることにより実現されている。
【0003】
なお、特許文献1では、3次元対象物が写し出された2次元画像から消失点位置等を特定することにより、3次元対象物の3次元形状モデル(すなわち、3次元オブジェクト)を生成する手法が開示されている。
【0004】
【特許文献1】
特開平9−319896号公報
【0005】
【発明が解決しようとする課題】
ところで、1枚の背景画像に合わせて3次元オブジェクトを適切に重ねて表示するには、背景画像が示す奥行きや撮影したカメラの位置等の情報(以下、「幾何学的位置情報」と総称する。)に応じて3次元オブジェクトが配置される3次元座標軸を設定する(3次元復元とも呼ばれる。)必要がある。
【0006】
そこで、近年、形状情報が既知の3次元オブジェクトや位置情報が既知のマーカを背景画像中に含ませておき幾何学的位置情報を推定する手法が実施されているが、この手法では、背景画像中に所定の3次元オブジェクトやマーカが含まれている必要がある。
【0007】
一方、1枚の背景画像中から抽出された線分群から消失点位置を求め、消失点位置に基づいて背景画像上に3次元オブジェクトを重ね合わせて表示する手法も知られているが、消失点位置を安定して検出することは困難である。
【0008】
本発明は上記課題に鑑みなされたものであり、奥行きのある空間を表す2次元の背景画像に合わせて3次元座標軸を容易に設定し、3次元オブジェクトを適切に重ねて表示することを目的としている。
【0009】
【課題を解決するための手段】
請求項1に記載の発明は、2次元の背景画像上に3次元座標軸にて規定される3次元空間内のオブジェクトを重ねて表示する画像表示装置であって、背景画像のデータおよび3次元空間内のオブジェクトのデータを記憶する記憶部と、前記背景画像に対して3次元座標軸および視点を設定し、前記3次元座標軸および前記視点を基準として前記背景画像に前記オブジェクトを重ね合わせる演算部と、重ね合わされた画像を表示する表示部とを備え、前記演算部が、前記背景画像上に設定された3つの境界線に基づいて前記背景画像に対する3次元座標軸および視点の配置の複数の組み合わせを決定する工程と、前記複数の組み合わせのそれぞれに含まれる2つの座標軸により決定される面に前記背景画像から抽出される複数の線分を投影し、投影された複数の線分間の平行または垂直の度合いに関する評価値を求める工程と、前記評価値に基づいて前記複数の組み合わせのうちの一の組み合わせを重ね合わせの基準とされる前記3次元座標軸および前記視点として設定する工程とを実行する。
【0010】
請求項2に記載の発明は、請求項1に記載の画像表示装置であって、前記演算部が、前記評価値を求める工程において投影される前記複数の線分を含む線分の集合を前記背景画像から抽出する工程をさらに実行する。
【0011】
請求項3に記載の発明は、請求項2に記載の画像表示装置であって、操作者からの入力を受け付ける入力部をさらに備え、前記演算部が、操作者による入力に基づいて前記線分の集合から前記3つの境界線を設定する工程をさらに実行する。
【0012】
請求項4に記載の発明は、請求項1ないし3のいずれかに記載の画像表示装置であって、前記複数の組み合わせを決定する工程が、3次元座標軸の候補のうち3つの座標軸が互いにおよそ直交するものを前記複数の組み合わせに含まれる3次元座標軸として決定する。
【0013】
請求項5に記載の発明は、請求項1ないし4のいずれかに記載の画像表示装置であって、前記評価値が、前記投影された複数の線分のうちおよそ平行または垂直となる線分の組数である。
【0014】
請求項6に記載の発明は、請求項3に記載の画像表示装置であって、前記線分の集合に含まれる各線分が前記背景画像の外縁まで延長されており、前記3つの境界線を設定する工程が、操作者からの入力に基づいて前記背景画像上に3つの仮の境界線を設定する工程と、各線分の両端点と各仮の境界線の両端点とを結ぶことにより形成される多角形の面積に基づいて前記3つの境界線を特定する工程とを有する。
【0015】
請求項7に記載の発明は、請求項6に記載の画像表示装置であって、前記背景画像が室内を示す画像であり、前記3つの境界線を特定する工程が、前記多角形の面積が最も小さくなる3つの線分を特定する工程と、前記3つの線分のうち、前記室内の床の境界に対応する2つの線分を2つの境界線として決定し、前記2つの境界線の交点を求める工程と、残りの1つの線分を前記交点を通過する位置まで平行移動して残りの境界線として決定する工程とを有する。
【0016】
請求項8に記載の発明は、2次元の背景画像上に3次元座標軸にて規定される3次元空間内のオブジェクトを重ねて表示する画像表示方法であって、背景画像上に設定された3つの境界線に基づいて前記背景画像に対する3次元座標軸および視点の配置の複数の組み合わせを決定する工程と、前記複数の組み合わせのそれぞれに含まれる2つの座標軸により決定される面に前記背景画像から抽出される複数の線分を投影し、投影された複数の線分間の平行または垂直の度合いに関する評価値を求める工程と、前記評価値に基づいて前記複数の組み合わせのうちの一の組み合わせを重ね合わせの基準とされる3次元座標軸および視点として設定する工程と、前記3次元座標軸および前記視点を基準として前記背景画像に3次元空間内のオブジェクトを重ね合わせる工程と、重ね合わされた画像を表示する工程とを有する。
【0017】
請求項9に記載の発明は、コンピュータに2次元の背景画像上に3次元座標軸にて規定される3次元空間内のオブジェクトを重ねて表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、背景画像上に設定された3つの境界線に基づいて前記背景画像に対する3次元座標軸および視点の配置の複数の組み合わせを決定する工程と、前記複数の組み合わせのそれぞれに含まれる2つの座標軸により決定される面に前記背景画像から抽出される複数の線分を投影し、投影された複数の線分間の平行または垂直の度合いに関する評価値を求める工程と、前記評価値に基づいて前記複数の組み合わせのうちの一の組み合わせを重ね合わせの基準とされる3次元座標軸および視点として設定する工程と、前記3次元座標軸および前記視点を基準として前記背景画像に3次元空間内のオブジェクトを重ね合わせる工程と、重ね合わされた画像を表示する工程とを実行させる。
【0018】
【発明の実施の形態】
図1は、2次元の背景画像上に3次元空間内のオブジェクトを重ねて表示する際の背景画像6と3次元座標軸4との幾何学的位置関係のモデル(以下、「カメラモデル」という。)を示す図である。
【0019】
図1に示すカメラモデルでは、背景画像6上の水平方向に対応するα軸、垂直方向に対応するβ軸、および、背景画像6の法線方向に対応するγ軸の3つの座標軸5により規定される座標系(以下、「ワールド座標系」という。)が背景画像6の中心を原点として設定される。ワールド座標系のγ軸上には、背景画像6に正対する仮想カメラ(以下、「視点」とも呼ぶ。)3が配置される。また、仮想カメラ3の背景画像6側には、互いに直交するX軸、Y軸およびZ軸の3次元座標軸4により規定される座標系(以下、「ローカル座標系」という。)が設けられる。図1のカメラモデルでは、背景画像6上にローカル座標系の3次元座標軸4により規定される3次元空間を重ねて仮想カメラ3にて撮像される画像が取得される。これにより、後述するように3次元空間に配置された3次元オブジェクトが背景画像に合成される。
【0020】
図1のカメラモデルでは、ローカル座標系上の座標(X,Y,Z)の点のワールド座標系における座標(α,β,γ)は、数1にて示される。
【0021】
【数1】

Figure 2004252815
【0022】
数1において、Mmはローカル座標系に対する回転行列であり、Mtはワールド座標系におけるローカル座標系の原点位置を示す行列である。回転行列Mmおよび行列Mtを数2にて示すと、回転行列Mmの3つの行ベクトル(m11,m12,m13)、(m21,m22,m23)、および、(m31,m32,m33)の大きさは全て1となるとともに、3つの行ベクトルのうち任意の2つの行ベクトルの内積は0となる。
【0023】
【数2】
Figure 2004252815
【0024】
ここで、背景画像6の水平方向および垂直方向の大きさ(すなわち、図1中のα方向およびβ方向の幅)をともに2と仮定すると、ワールド座標系の点(α,β,γ)を背景画像6上に投影した点(a,b)(すなわち、αβ平面上に投影した点(a,b))は数3のように示される。数3中のθは仮想カメラ3の画角である。なお、背景画像6の中央に配置された線分の長さを2とし、線分の両端と仮想カメラ3とがなす角がθとされてもよい。
【0025】
【数3】
Figure 2004252815
【0026】
以上のように、図1のカメラモデルでは、ローカル座標系の点(X,Y,Z)を背景画像6上に投影した点(a,b)が回転行列Mm、行列Mtおよび画角θ(以下、「パラメータ群」と総称する。)を用いて数1ないし数3により導かれる。よって、背景画像6に整合するローカル座標系の3次元座標軸4の配置および画角θが判れば、その際のパラメータ群が求められ、ローカル座標系の3次元空間内のオブジェクトを2次元の背景画像6上に適切に重ねて表示させることが可能となる。なお、図1のカメラモデルでは、仮想カメラ3の画角θが変更された場合には、背景画像6の全体が仮想カメラ3により映し出されるように視点の位置(すなわち、仮想カメラ3の位置)がγ軸に沿って移動するものとする。
【0027】
図2は本発明の一の実施の形態に係る画像表示装置としての動作を行うコンピュータ1の構造を示す図である。コンピュータ1が実現する画像表示装置では、例えば、室内を撮影した背景画像上にインテリア商品(例えば、家具等)のカタログ用の立体的な画像が表示される(いわゆる、3次元カタログとしての役割が果たされる。)。3次元カタログにおける各種商品は、コンピュータ1において仮想的な有体物(例えば、微小要素の3次元的な集合により表現される3次元画像、彩色を施した3次元サーフェスモデル等)である3次元オブジェクトとして取り扱われる。
【0028】
コンピュータ1は、各種演算処理を行うCPU11、基本プログラムを記憶するROM12および各種情報を記憶するRAM13をバスラインに接続した一般的なコンピュータシステムの構成となっている。バスラインにはさらに、情報記憶を行う固定ディスク14、画像等の各種情報の表示を行うディスプレイ15、操作者からの入力を受け付けるキーボード16aおよびマウス16b(以下、「入力部16」と総称する。)、光ディスク、磁気ディスク、光磁気ディスク等のコンピュータ読み取り可能な記録媒体9から情報の読み取りを行う読取装置17、並びに、インターネット等の通信網に接続された通信部18が、適宜、インターフェイス(I/F)を介する等して接続される。
【0029】
コンピュータ1には、事前に読取装置17を介して記録媒体9から読み出される等したプログラム80、3次元オブジェクトデータベース81および背景画像データベース82が固定ディスク14に記憶される。そして、プログラム80がRAM13にコピーされるとともに、CPU11がRAM13内のプログラム80に従って演算処理を実行することにより(すなわち、コンピュータがプログラムを実行することにより)、コンピュータ1が画像表示装置としての動作を行う。なお、プログラム80が、通信部18を介してインターネット上の他のコンピュータから配信されて実行されるアプレット等(例えば、Java(登録商標)言語によるアプレット)である場合には、コンピュータ1においてプログラム80が実行形式のプログラムに変換され、変換後のプログラムに従ってコンピュータ1が画像表示装置としての動作を行う。
【0030】
ここで、3次元オブジェクトデータベース81とは、3次元カタログにおける各種商品である3次元オブジェクトのデータの集合である。また、背景画像データベース82とは、室内を撮影した2次元の背景画像の集合であり、様々な室内を示す複数の背景画像のデータが含まれている。
【0031】
図3は、CPU11がプログラム80に従って動作することにより、CPU11、ROM12、RAM13、固定ディスク14等が実現する画像表示装置としての機能構成を示すブロック図であり、演算部2内に示すブロックがCPU11等により実現される機能を示す。なお、演算部2の機能は専用の電気的回路により実現されてもよく、部分的に電気的回路が用いられてもよい。
【0032】
図4は、コンピュータ1が背景画像上に3次元オブジェクトを重ねて表示する処理の流れを示す図である。以下、コンピュータ1の機能および動作について図2および図3を参照しながら図4に沿って説明を行う。
【0033】
まず、操作者が入力部16を介して入力を行うことにより背景画像が選択される(ステップS11)。例えば、図5に例示するディスプレイ15上のウィンドウ7において、操作者が背景画像選択部71から所望の背景画像を選択することにより、選択された背景画像のデータが固定ディスク14の背景画像データベース82から演算部2の重ね合わせ部21へと出力され、ウィンドウ7上のメイン表示部72に背景画像6が表示される。
【0034】
続いて、コンピュータ1では、背景画像6に対して3次元座標軸および視点を設定する処理が行われる(ステップS12)。すなわち、ステップS12では、図1のカメラモデルにおいて、ローカル座標系の3次元座標軸4が背景画像6に整合した状態となるように設定する処理が行われ、その際のパラメータ群が求められる。なお、ステップS12の処理については、3次元オブジェクトを表示する処理の説明後、詳述する。
【0035】
図6は、3次元座標軸および視点が設定された背景画像6を示す図であり、ウィンドウ7上の操作モード選択部73から視点変更モードを選択することにより表示される画像である。図6では、ローカル座標系の3次元空間において3次元座標軸4のうち2つの座標軸により規定される平面上に描かれた格子縞(グリッドともいう。)が背景画像6上に重ね合わせて表示されており(図1参照)、これにより、操作者はステップS12において3次元座標軸および視点が適切に設定されたことを確認することができる。
【0036】
3次元座標軸および視点が設定されると、ウィンドウ7上の右下部分にある3次元オブジェクト選択部74から操作者による所望の商品の選択を受け付けることにより(ステップS13)、選択された商品を示す3次元オブジェクトが3次元オブジェクトプレビュー部75に表示される。そして、操作者が表示された3次元オブジェクトを3次元オブジェクトプレビュー部75から背景画像6上へと移動する操作(例えば、マウス16bによるドラッグ・アンド・ドロップ操作)を行うことにより、固定ディスク14の3次元オブジェクトデータベース81から選択された商品の3次元オブジェクトのデータが重ね合わせ部21に出力される。
【0037】
重ね合わせ部21では、商品の3次元オブジェクトをローカル座標系の3次元空間内の所定の位置へと配置し、設定された3次元座標軸および視点を基準として背景画像6と3次元空間内の3次元オブジェクトとを重ね合わせる処理(すなわち、設定された3次元座標軸および視点に対して求められたパラメータ群を用いて背景画像6上に3次元オブジェクトを投影する処理)が行われる(ステップS14)。そして、重ね合わされた画像がディスプレイ15に表示される(ステップS15)。コンピュータ1では、ステップS13〜S15が繰り返し行われることにより、図7に示すように背景画像6上に3次元空間内の複数の3次元オブジェクト76が表示される。
【0038】
なお、コンピュータ1では操作者による操作により、3次元オブジェクト76をローカル座標系の3次元空間内において移動または回転し、移動後または回転後の3次元オブジェクト76を背景画像6に重ね合わせて表示させたり、ローカル座標系の3次元座標軸4の尺度を変更し、表示されている全ての3次元オブジェクト76の大きさを変更させることが可能である。
【0039】
次に、3次元座標軸および視点を設定する処理について説明する。図8は、3次元座標軸および視点を設定する処理の流れを示す図であり、図4のステップS12において行われる処理である。
【0040】
ステップS11において背景画像6が選択されると、背景画像6のデータは固定ディスク14の背景画像データベース82から線分抽出部22に対しても出力され、線分抽出部22では、背景画像6から複数の線分が抽出される(ステップS21)。具体的には、まず、図5のメイン表示部72に表示された背景画像6から画像中の物体の輪郭線(すなわち、エッジ)が検出され、図9に示すようなエッジ画像6aが生成される。なお、図9ではメイン表示部72に表示される画像のみを示している。
【0041】
そして、図9のエッジ画像6aに対して直線を検出する手法として知られるハフ(Hough)変換を施すことにより、図10に示すように、背景画像6中に含まれる複数の線分(以下、「抽出線分」ともいう。)64が抽出される。ただし、抽出線分64は背景画像6の外縁まで必要に応じて延長されたものとなっている。図10では抽出された複数の線分64を破線により示している。なお、線分の抽出は他の手法により行われてもよい。
【0042】
続いて、コンピュータ1では境界線を半自動で検出する処理が行われる(ステップS22,S23)。ここで、背景画像6には、窓61aを有する壁面を示す領域(以下、「窓側領域」という。)61、他方の壁面を示す領域(以下、「壁面領域」という。)62、および、矩形の板材が張り合わせられた(いわゆる、フローリングの)床面を示す領域(以下、「床面領域」という。)63が映し出されており、ステップS23において検出される境界線とは、窓側領域61と壁面領域62との間の境界線、壁面領域62と床面領域63との間の境界線、および、床面領域63と窓側領域61との間の境界線をいう。
【0043】
図11は、境界線を検出する処理の流れを示す図であり、ステップS23にて行われる処理を示している。境界線検出処理の際には、背景画像6上には前述のカメラモデルにおけるローカル座標系の3次元座標軸4(または、座標軸のグリッド)が図12に示すように表示される。なお、この段階で表示される3次元座標軸4は境界線検出処理において仮の境界線を設定するために利用されるものである。
【0044】
境界線検出処理では、図1のカメラモデルにおいて3次元座標軸4を移動もしくは回転する処理、または、仮想カメラ3の画角θを変更する処理(すなわち、視点を変更する処理)が、重ね合わせ部21により操作者の入力に基づいて行われ、移動もしくは回転、または、視点の変更後の3次元座標軸4と背景画像6とを重ね合わせた画像がディスプレイ15に表示される。
【0045】
操作者はマウス16b等を操作して3次元座標軸4のX軸を背景画像6中の床面領域63と窓側領域61との間の境界に、Y軸を窓側領域61と壁面領域62との間の境界に、Z軸を壁面領域62と床面領域63との間の境界におよそ沿うように3次元座標軸4を設定する(ステップS231)。これにより、図13に示すように、背景画像6上に投影された3次元座標軸4の各座標軸が各領域61〜63間の境界におよそ沿う仮の境界線を示すこととなる。以下、境界線検出処理において、背景画像6上に投影された3次元座標軸4を仮の境界線群4と呼ぶ。
【0046】
続いて、コンピュータ1では、ステップS21において抽出された線分64の集合のうち仮の境界線群4のそれぞれに対応する3つの線分が特定される(ステップS232)。図14は、3つの線分を特定する様子を説明するための図であり、仮の境界線群4のうちX軸に対応する1つの仮の境界線41(但し、背景画像6の外縁まで伸びている。)、および、複数の抽出線分64のうち2つの線分64(2つの線分64も背景画像6の外縁まで必要に応じて延長されたものである。)のみを示している(図10参照)。
【0047】
3つの線分を特定する際には、各抽出線分64に関して両端点と仮の境界線41の両端点とを結ぶことにより形成される多角形(すなわち、図14中の平行斜線を付して示す四角形)の面積が境界線特定部23において算出される。このとき、仮の境界線41の両端点は背景画像6の外縁との交点において規定される。
【0048】
境界線特定部23では、仮の境界線群4の各境界線について複数の抽出線分64のそれぞれとの組み合わせにより形成される多角形の面積が算出され、各仮の境界線において多角形の面積が最も小さくなる組み合わせを構成する抽出線分64が対応する線分として特定される。なお、仮の境界線に対応する線分は他の手法(例えば、仮の境界線と抽出線分64との端点間の距離に基づいて求める手法等)により求められてもよいが、上記のように多角形の面積を求めることにより、容易かつ適切に対応する線分を特定することができる。
【0049】
図15は、特定された抽出線分641,642,643を一点鎖線にて示す図であり、抽出線分641〜643のそれぞれが、仮の境界線群4のX軸,Y軸,Z軸に対応している。
【0050】
3つの抽出線分641〜643が特定されると、交点算出部24において、床面領域63の境界線となる2つの線分の交点が求められる(ステップS233)。すなわち、図15の背景画像6において、抽出線分641が床面領域63と窓側領域61との間の境界線、抽出線分643が床面領域63と壁面領域62との間の境界線としてそれぞれ決定され、境界線641と境界線643との交点644が求められる。そして、残りの1つの抽出線分642が交点644を通過するように平行移動され(ステップS234)、図15中において二点鎖線にて示す平行移動後の新たな線分645が、窓側領域61と壁面領域62との間の境界線として決定される。なお、3つの抽出線分641〜643が一点で交わっている場合には、抽出線分642が、窓側領域61と壁面領域62との間の境界線として決定され、ステップS234の処理は省略される。
【0051】
以上のように、境界線検出処理では、操作者が仮の境界線群4を設定するのみで(いわゆる、半自動で)、抽出線分64の集合から3つの境界線641,643,645を容易かつ適切に設定することができ、特に、室内を示す背景画像において、3つの境界線のうち床面領域63の境界に対応する2つの境界線以外の残りの1つの境界線を適切に特定することができる。
【0052】
また、境界線検出処理は、操作者の操作により(すなわち、手動により)設定されてもよく、操作者が手動により境界線を検出する場合には(図8中のステップS22)、例えば、操作者がマウス16b等を操作して背景画像6上の2点を特定することにより各境界線が設定されたり、背景画像6上に表示された複数の抽出線分64から各領域61〜63の境界に対応する抽出線分64を直接選択する等して境界線が設定される(ステップS24)。また、選択された抽出線分64に対して、図11のステップS233,S234の処理が自動で行われてもよい。
【0053】
ここで、カメラモデルにおいて、設定された境界線641,643,645はローカル座標系の3次元座標軸4を背景画像6上に投影したものであると考えることができ、その場合には、3次元座標軸4の原点は視点3と背景画像6上の点644とを結ぶ線分上であればいずれの位置に配置されてもよい。そこで、ここでは説明の便宜上、図16に示すように、ローカル座標系の3次元座標軸4の原点を背景画像6上の点644に配置させたカメラモデルを想定することとし(もちろん、ローカル座標系の原点は視点3と背景画像6上の点644とを結ぶ線分上の他の点であってもよい。)、これにより、ワールド座標系におけるローカル座標系の原点位置(すなわち、数1中の行列Mt)が決定されるとともに、3次元座標軸4の各座標軸の配置が制約されることとなる。
【0054】
例えば、図16のカメラモデルにおいて、背景画像6上の原点644を始点とするX軸の基底ベクトルについて考えると、X軸基底ベクトルが背景画像6上の境界線641上に投影されるには、X軸基底ベクトルの終点は、視点3と境界線641の一の端点646と原点644とにより結ばれた領域(図16中の平行斜線を付す領域)51内に存在する必要がある。
【0055】
図17は、X軸基底ベクトルの存在する領域51を示す図である。組み合わせ決定部25では、原点644から視点3と端点646とを結ぶ線分を等分割する複数の点へとそれぞれ向かう複数の基底ベクトルが生成され、一の画角θ(すなわち、視点3の一の候補位置)に対するX軸基底ベクトルの候補としてそれぞれ取り扱われる。Y軸基底ベクトルおよびZ軸基底ベクトルについても同様に一の画角θにおける複数の基底ベクトルの候補が生成される。なお、一の画角θにおける複数の基底ベクトルの候補は、他の手法(例えば、基底ベクトルと境界線641とのなす角が複数通りに変更される等)により生成されてもよい。
【0056】
組み合わせ決定部25では、さらに、画角θを複数通りに変更して(すなわち、視点3の配置を複数通りに変更して)、各視点3の配置においても同様にX軸基底ベクトル、Y軸基底ベクトルおよびZ軸基底ベクトルの候補が生成される。そして、複数通りの視点3の配置のそれぞれにおいて、X軸基底ベクトルの候補、Y軸基底ベクトルの候補、および、Z軸基底ベクトルの候補を組み合わせることにより、1つのX軸基底ベクトル、Y軸基底ベクトルおよびZ軸基底ベクトル並びに一の視点の配置を1つのデータセットとする複数のデータセットが生成される。
【0057】
続いて、組み合わせ決定部25では、複数のデータセットのうちそれぞれに含まれる3つの基底ベクトルが互いにおよそ直交するデータセットが選択される。具体的には、ワールド座標系におけるローカル座標系のX軸基底ベクトルをV、Y軸基底ベクトルをV、Z軸基底ベクトルをVとすると、X軸基底ベクトルVとY軸基底ベクトルVとの内積、Y軸基底ベクトルVとZ軸基底ベクトルVとの内積、および、Z軸基底ベクトルVとX軸基底ベクトルVとの内積の和である評価値fが、数4に示すようにして求められる。
【0058】
【数4】
Figure 2004252815
【0059】
そして、評価値fが所定のしきい値よりも小さくなるデータセットが、3つの基底ベクトルが互いにおよそ直交するデータセットと判定され、3次元座標軸および視点の配置の評価対象の組み合わせとして評価値算出部26に出力される(ステップS25)。
【0060】
ここで、一般的に、実際の室内の壁面や床面には、窓枠や床面の板材あるいは壁面に飾られた額縁といったように、各面において水平または垂直となる線分の要素を多く含んでいる場合が多い。
【0061】
そこで、評価値算出部26では、入力された複数の組み合わせ(すなわち、評価対象のデータセット)のそれぞれにおいて、基底ベクトルV,V,Vにそれぞれ対応するX軸,Y軸,Z軸のうち2つの座標軸により決定されるローカル座標系のXY平面、YZ平面およびZX平面が、図18に示すように想定される。そして、ステップS21において抽出された複数の線分64がローカル座標系の各平面に投影される。このとき、各平面には背景画像6上の対応する領域(すなわち、XY平面に対する窓側領域61、YZ平面に対する壁面領域62、および、ZX平面に対する床面領域63(図16参照))を通過する抽出線分64の集合のみが投影されることとなる。図19は、背景画像6上の2つの抽出線分64が投影されたXY平面を示す図であり、2つの投影された抽出線分640のみを示している。
【0062】
評価値算出部26では、各平面において、投影された複数の抽出線分640から互いにおよそ平行または垂直となる抽出線分64の組数が、評価値として求められる(ステップS26)。例えば、XY平面に投影された抽出線分640のうちおよそ平行または垂直となる抽出線分640の組数gXYは、数5により求められる。
【0063】
【数5】
Figure 2004252815
【0064】
ここで、k,kはローカル座標系のXY平面に投影された抽出線分640であり、nは投影された抽出線分640の本数である。また、t(k,k)は抽出線分kと抽出線分kとのなす角であり、λは2つの線分がおよそ平行または垂直であるか否かを判定する所定のしきい値である。
【0065】
評価値算出部26では、ローカル座標系のYZ平面およびZX平面に関しても同様に、組数gYZ,gZXが求められ、数6のように全ての平面における組数の和が評価値fとして求められる。
【0066】
【数6】
Figure 2004252815
【0067】
評価値fは評価対象の複数の組み合わせのそれぞれについて求められて比較部27へと出力され、評価値fが最大となる組み合わせが特定される。特定された組み合わせのデータセットは、重ね合わせ部21に出力され、その組み合わせに係る3次元座標軸および視点がローカル座標系の3次元座標軸4および視点3(または、画角θ)として設定され(ステップS27)、そのときのパラメータ群が特定される。これにより、前述のようにローカル座標系により規定される3次元空間に配置された3次元オブジェクトが、背景画像6上に適切に重ね合わされて表示される。
【0068】
以上のように、コンピュータ1では、背景画像6上に設定された3つの境界線に基づいて決定された3次元座標軸および視点の配置の複数の組み合わせのそれぞれについて、組み合わせに含まれる2つの座標軸により決定される面に背景画像6から抽出される複数の線分64が投影される。そして、投影された複数の線分のうちおよそ平行または垂直となる線分の組数に関する評価値が求められ、評価値に基づいて選択された一の組み合わせに係る3次元座標軸および視点が背景画像6に対して設定される。これにより、コンピュータ1では背景画像6に応じた3次元座標軸および視点を容易に設定することができ、背景画像6上に3次元空間内の3次元オブジェクトを適切に重ね合わせて表示することができる。その結果、操作者は商品と背景画像6に示された室内との調和等を視覚的に捉えることが可能となる。
【0069】
また、コンピュータ1では、組み合わせ決定部25において3つの基底ベクトルが互いにおよそ直交するデータセットが選択されて評価値算出部26に出力されるため、評価値算出部26における演算処理量が軽減され、背景画像に応じた3次元座標軸および視点の組み合わせを短時間に特定し、設定することができる。
【0070】
なお、コンピュータ1では、必要に応じて操作者により設定された3次元座標軸4を移動もしくは回転する操作、または、画角θを変更する操作が行われ、設定された3次元座標軸および視点が調整されてもよい。
【0071】
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【0072】
評価値fは、必ずしも投影された複数の線分のうちおよそ平行または垂直となる線分の組数に関するものである必要はなく、投影された複数の線分間の平行または垂直の度合いに関するものであれば、いかなるものであってもよい。
【0073】
背景画像データは、操作者により予め用意されてもよい。これにより、例えば、操作者の部屋を撮影した画像に3次元オブジェクトを配置することも可能となる。また、背景画像データは必ずしも室内を撮影した画像である必要はなく、エクステリア商品等の3次元カタログでは、建物の外観を撮影した画像であってもよい。
【0074】
コンピュータ1は、3次元オブジェクトを背景画像上に効率よく適切に表示するため、3次元カタログを表示する用途に特に適しているが、背景画像に3次元オブジェクトを重ねて表示するのであれば他の用途に使用されてもよい。
【0075】
画像表示装置としての機能は、コンピュータに準ずる機能を有する他のもの(例えば、携帯情報端末等)により実現されてもよい。
【0076】
【発明の効果】
本発明によれば、背景画像に応じた3次元座標軸および視点を容易に設定することができ、背景画像上に3次元空間内のオブジェクトを適切に重ね合わせて表示することができる。
【0077】
また、請求項4の発明では、背景画像に応じた3次元座標軸および視点を短時間に設定することができる。
【0078】
また、請求項6の発明では、3つの境界線を容易に特定することができ、請求項7の発明では、室内を示す背景画像の3つの境界線のうち床の境界に対応する2つの境界線以外の残りの1つの境界線を適切に特定することができる。
【図面の簡単な説明】
【図1】カメラモデルを示す図である。
【図2】コンピュータの構造を示す図である。
【図3】コンピュータの機能構成を示すブロック図である。
【図4】背景画像上に3次元オブジェクトを重ねて表示する処理の流れを示す図である。
【図5】ウィンドウを例示する図である。
【図6】3次元座標軸および視点が設置されたウィンドウを例示する図である。
【図7】3次元オブジェクトが配置されたウィンドウを例示する図である。
【図8】3次元座標軸および視点を設定する処理の流れを示す図である。
【図9】エッジ画像を示す図である。
【図10】複数の線分が抽出された背景画像を示す図である。
【図11】境界線を検出する処理の流れを示す図である。
【図12】3次元座標軸が表示された背景画像を示す図である。
【図13】仮の境界線が設定された背景画像を示す図である。
【図14】3つの線分を特定する様子を説明するための図である。
【図15】境界線が設定された背景画像を示す図である。
【図16】ローカル座標系の原点が背景画像上に配置されたカメラモデルを示す図である。
【図17】X軸基底ベクトルの存在する領域を示す図である。
【図18】ローカル座標系の平面が想定されたカメラモデルを示す図である。
【図19】抽出線分が投影されたXY平面を示す図である。
【符号の説明】
1 コンピュータ
2 演算部
3 仮想カメラ
4 3次元座標軸
6 背景画像
14 固定ディスク
15 ディスプレイ
16 入力部
41 仮の境界線
61〜63 領域
64,640,642 線分
76 3次元オブジェクト
80 プログラム
81 3次元オブジェクトデータベース
82 背景画像データベース
641,643,645 境界線
644,646 点
S11〜S15,S21〜S27,S231〜S234 ステップ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for displaying a three-dimensional object superimposed on a two-dimensional background image.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in various fields such as medical care, education, manufacturing, and distribution, a technique of superimposing and displaying an object in a three-dimensional space (a so-called three-dimensional object) on a two-dimensional background image has been used. . For example, by superimposing a three-dimensional object of a building on an image representing a landscape, it is possible to visually grasp the influence of the building on the scenery (so-called augmented reality or mixed reality). ). Such a technique is mainly realized by using a technique such as stereo vision using a plurality of images.
[0003]
In Patent Document 1, there is a method of generating a three-dimensional shape model of a three-dimensional object (that is, a three-dimensional object) by specifying a vanishing point position and the like from a two-dimensional image in which the three-dimensional object is projected. It has been disclosed.
[0004]
[Patent Document 1]
JP-A-9-319896
[0005]
[Problems to be solved by the invention]
By the way, in order to appropriately display a three-dimensional object in accordance with one background image, information such as the depth indicated by the background image and the position of the camera that has taken the image (hereinafter, referred to as “geometric position information”) ), It is necessary to set a three-dimensional coordinate axis on which the three-dimensional object is arranged (also referred to as three-dimensional restoration).
[0006]
Therefore, in recent years, a method of estimating geometrical position information by including a three-dimensional object whose shape information is known and a marker whose position information is known in a background image has been implemented. It is necessary that a predetermined three-dimensional object and a marker are included therein.
[0007]
On the other hand, a method is also known in which a vanishing point position is obtained from a group of line segments extracted from one background image, and a three-dimensional object is displayed on the background image based on the vanishing point position. It is difficult to stably detect the position.
[0008]
The present invention has been made in view of the above problems, and has as its object to easily set a three-dimensional coordinate axis in accordance with a two-dimensional background image representing a space with a depth, and to appropriately display a three-dimensional object in an overlapping manner. I have.
[0009]
[Means for Solving the Problems]
The invention according to claim 1 is an image display device for displaying an object in a three-dimensional space defined by a three-dimensional coordinate axis on a two-dimensional background image, wherein the background image data and the three-dimensional space are displayed. A storage unit that stores data of objects in the storage unit, a calculation unit that sets a three-dimensional coordinate axis and a viewpoint with respect to the background image, and superimposes the object on the background image based on the three-dimensional coordinate axis and the viewpoint. A display unit for displaying the superimposed images, wherein the calculation unit determines a plurality of combinations of the arrangement of the three-dimensional coordinate axes and the viewpoint with respect to the background image based on three boundary lines set on the background image. And projecting a plurality of line segments extracted from the background image on a surface determined by two coordinate axes included in each of the plurality of combinations, Obtaining an evaluation value related to the degree of parallel or vertical between the plurality of shaded line segments; and the three-dimensional coordinate axis, which is a reference for superimposing one of the plurality of combinations based on the evaluation value, and And setting the viewpoint.
[0010]
The invention according to claim 2 is the image display device according to claim 1, wherein the calculation unit generates a set of line segments including the plurality of line segments projected in the step of obtaining the evaluation value. The step of extracting from the background image is further performed.
[0011]
The invention according to claim 3 is the image display device according to claim 2, further comprising an input unit that receives an input from an operator, wherein the calculation unit is configured to execute the line segment based on an input by the operator. Setting the three boundary lines from the set of.
[0012]
According to a fourth aspect of the present invention, in the image display device according to any one of the first to third aspects, the step of determining the plurality of combinations is such that three coordinate axes of the three-dimensional coordinate axis candidates are approximately equal to each other. An orthogonal component is determined as a three-dimensional coordinate axis included in the plurality of combinations.
[0013]
The invention according to claim 5 is the image display device according to any one of claims 1 to 4, wherein the evaluation value is a line segment that is approximately parallel or perpendicular to the plurality of projected line segments. Is the number of sets.
[0014]
The invention according to claim 6 is the image display device according to claim 3, wherein each line segment included in the set of line segments is extended to an outer edge of the background image, and the three boundary lines are formed. The setting step is a step of setting three temporary boundary lines on the background image based on an input from an operator, and forming by connecting both end points of each line segment and both end points of each temporary boundary line. Specifying the three boundary lines based on the area of the polygon to be formed.
[0015]
The invention according to claim 7 is the image display device according to claim 6, wherein the background image is an image indicating a room, and the step of specifying the three boundary lines has an area of the polygon. Identifying the three smallest line segments; and determining, from the three line segments, two line segments corresponding to the boundary of the indoor floor as two boundary lines, and the intersection of the two boundary lines. And a step of translating the remaining one line segment to a position passing through the intersection and determining the remaining line segment as the remaining boundary line.
[0016]
The invention according to claim 8 is an image display method for displaying an object in a three-dimensional space defined by a three-dimensional coordinate axis on a two-dimensional background image, wherein the three-dimensional image is set on the background image. Determining a plurality of combinations of three-dimensional coordinate axes and viewpoint arrangements with respect to the background image based on one boundary line; and extracting from the background image a surface determined by two coordinate axes included in each of the plurality of combinations. Projecting a plurality of line segments to be evaluated, obtaining an evaluation value regarding the degree of parallel or perpendicularity of the plurality of projected line segments, and superimposing one of the plurality of combinations based on the evaluation value Setting a three-dimensional coordinate axis and a viewpoint as a reference of the object; and setting an object in a three-dimensional space on the background image based on the three-dimensional coordinate axis and the viewpoint. And a step of superimposing the door, and a step of displaying the superimposed image.
[0017]
The invention according to claim 9 is a program for causing a computer to superimpose and display an object in a three-dimensional space defined by three-dimensional coordinate axes on a two-dimensional background image, wherein the computer executes the program, Determining, by the computer, a plurality of combinations of the arrangement of the three-dimensional coordinate axes and the viewpoint with respect to the background image based on the three boundary lines set on the background image; and two steps included in each of the plurality of combinations. Projecting a plurality of line segments extracted from the background image on the surface determined by the coordinate axes, obtaining an evaluation value related to the degree of parallel or vertical between the plurality of projected line segments, and based on the evaluation value, Setting one of the plurality of combinations as a three-dimensional coordinate axis and a viewpoint serving as a reference for superposition; And a three-dimensional coordinate axes, and the step of the superposing object of the three-dimensional space in the background image of the viewpoint as a reference to execute the step of displaying the superimposed image.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 shows a model (hereinafter referred to as a “camera model”) of a geometrical positional relationship between a background image 6 and a three-dimensional coordinate axis 4 when an object in a three-dimensional space is superimposed and displayed on a two-dimensional background image. FIG.
[0019]
In the camera model shown in FIG. 1, the coordinate system 5 is defined by three coordinate axes 5 of an α-axis corresponding to the horizontal direction on the background image 6, a β-axis corresponding to the vertical direction, and a γ-axis corresponding to the normal direction of the background image 6. A coordinate system (hereinafter, referred to as a “world coordinate system”) is set with the center of the background image 6 as the origin. On the γ-axis of the world coordinate system, a virtual camera (hereinafter, also referred to as “viewpoint”) 3 facing the background image 6 is arranged. On the background image 6 side of the virtual camera 3, a coordinate system (hereinafter, referred to as a “local coordinate system”) defined by three-dimensional coordinate axes 4 of an X axis, a Y axis, and a Z axis that are orthogonal to each other is provided. In the camera model of FIG. 1, an image captured by the virtual camera 3 is obtained by overlapping a three-dimensional space defined by a three-dimensional coordinate axis 4 of a local coordinate system on a background image 6. Thereby, the three-dimensional object arranged in the three-dimensional space is synthesized with the background image as described later.
[0020]
In the camera model of FIG. 1, the coordinates (α, β, γ) of the point of the coordinates (X, Y, Z) on the local coordinate system in the world coordinate system are represented by Expression 1.
[0021]
(Equation 1)
Figure 2004252815
[0022]
In Equation 1, Mm is a rotation matrix with respect to the local coordinate system, and Mt is a matrix indicating the origin position of the local coordinate system in the world coordinate system. When the rotation matrix Mm and the matrix Mt are expressed by Expression 2, three row vectors (m 11 , M 12 , M Thirteen ), (M 21 , M 22 , M 23 ) And (m 31 , M 32 , M 33 ) Are all 1 and the inner product of any two of the three row vectors is zero.
[0023]
(Equation 2)
Figure 2004252815
[0024]
Here, assuming that both the size of the background image 6 in the horizontal direction and the vertical direction (that is, the width in the α direction and the β direction in FIG. 1) are 2, the point (α, β, γ) in the world coordinate system is The point (a, b) projected on the background image 6 (that is, the point (a, b) projected on the αβ plane) is represented by Expression 3. Θ in Expression 3 is the angle of view of the virtual camera 3. Note that the length of the line segment arranged at the center of the background image 6 may be 2, and the angle between both ends of the line segment and the virtual camera 3 may be θ.
[0025]
[Equation 3]
Figure 2004252815
[0026]
As described above, in the camera model of FIG. 1, the point (a, b) where the point (X, Y, Z) in the local coordinate system is projected on the background image 6 is the rotation matrix Mm, the matrix Mt, and the angle of view θ ( Hereinafter, these parameters are collectively referred to as “parameter group”.) Therefore, if the arrangement of the three-dimensional coordinate axis 4 of the local coordinate system and the angle of view θ that match the background image 6 are known, a group of parameters at that time is obtained, and the object in the three-dimensional space of the local coordinate system is converted to the two-dimensional background It is possible to display the image on the image 6 appropriately. In the camera model of FIG. 1, when the angle of view θ of the virtual camera 3 is changed, the position of the viewpoint (that is, the position of the virtual camera 3) is set so that the entire background image 6 is projected by the virtual camera 3. Move along the γ-axis.
[0027]
FIG. 2 is a diagram illustrating a structure of a computer 1 that operates as an image display device according to one embodiment of the present invention. In the image display device implemented by the computer 1, for example, a three-dimensional image for cataloging interior goods (for example, furniture) is displayed on a background image of a room (a role as a so-called three-dimensional catalog). Will be fulfilled.). The various products in the three-dimensional catalog are three-dimensional objects that are virtual tangible objects (for example, a three-dimensional image represented by a three-dimensional set of minute elements, a colored three-dimensional surface model, and the like) in the computer 1. Will be handled.
[0028]
The computer 1 has a general computer system configuration in which a CPU 11 for performing various arithmetic processes, a ROM 12 for storing basic programs, and a RAM 13 for storing various information are connected to a bus line. The bus line further includes a fixed disk 14 for storing information, a display 15 for displaying various information such as images, a keyboard 16a and a mouse 16b for receiving input from an operator (hereinafter, collectively referred to as an "input unit 16"). ), A reading device 17 for reading information from a computer-readable recording medium 9 such as an optical disk, a magnetic disk, and a magneto-optical disk, and a communication unit 18 connected to a communication network such as the Internet. / F).
[0029]
In the computer 1, a program 80, a three-dimensional object database 81, and a background image database 82 read from the recording medium 9 via the reader 17 in advance are stored on the fixed disk 14. Then, the program 80 is copied to the RAM 13 and the CPU 11 executes the arithmetic processing according to the program 80 in the RAM 13 (that is, the computer executes the program), so that the computer 1 operates as the image display device. Do. When the program 80 is an applet or the like (for example, an applet in the Java (registered trademark) language) distributed from another computer on the Internet and executed via the communication unit 18, the program 80 is executed by the computer 1. Is converted into an executable program, and the computer 1 operates as an image display device according to the converted program.
[0030]
Here, the three-dimensional object database 81 is a set of data of three-dimensional objects that are various products in a three-dimensional catalog. The background image database 82 is a set of two-dimensional background images obtained by photographing a room, and includes data of a plurality of background images indicating various rooms.
[0031]
FIG. 3 is a block diagram showing a functional configuration as an image display device realized by the CPU 11, the ROM 12, the RAM 13, the fixed disk 14, and the like when the CPU 11 operates according to the program 80. The functions realized by the above are shown. Note that the function of the arithmetic unit 2 may be realized by a dedicated electric circuit, or an electric circuit may be partially used.
[0032]
FIG. 4 is a diagram illustrating a flow of a process in which the computer 1 displays a three-dimensional object superimposed on a background image. Hereinafter, the function and operation of the computer 1 will be described with reference to FIGS.
[0033]
First, a background image is selected by the operator performing input through the input unit 16 (step S11). For example, in the window 7 on the display 15 illustrated in FIG. 5, when the operator selects a desired background image from the background image selection unit 71, the data of the selected background image is stored in the background image database 82 of the fixed disk 14. Is output to the superposition unit 21 of the calculation unit 2, and the background image 6 is displayed on the main display unit 72 on the window 7.
[0034]
Subsequently, the computer 1 performs a process of setting a three-dimensional coordinate axis and a viewpoint on the background image 6 (step S12). That is, in step S12, in the camera model of FIG. 1, a process of setting the three-dimensional coordinate axis 4 of the local coordinate system so as to match the background image 6 is performed, and a parameter group at that time is obtained. Note that the process of step S12 will be described in detail after the description of the process of displaying a three-dimensional object.
[0035]
FIG. 6 is a diagram illustrating the background image 6 in which the three-dimensional coordinate axes and the viewpoint are set, and is an image displayed by selecting the viewpoint change mode from the operation mode selection unit 73 on the window 7. In FIG. 6, in a three-dimensional space of the local coordinate system, a grid pattern (also referred to as a grid) drawn on a plane defined by two coordinate axes of the three-dimensional coordinate axes 4 is superimposed on the background image 6 and displayed. Accordingly, the operator can confirm that the three-dimensional coordinate axes and the viewpoint have been appropriately set in step S12.
[0036]
When the three-dimensional coordinate axis and the viewpoint are set, the selected product is indicated by receiving a selection of a desired product by the operator from the three-dimensional object selection unit 74 in the lower right part of the window 7 (step S13). The three-dimensional object is displayed on the three-dimensional object preview unit 75. Then, the operator performs an operation of moving the displayed three-dimensional object from the three-dimensional object preview unit 75 onto the background image 6 (for example, a drag-and-drop operation using the mouse 16b). The data of the three-dimensional object of the product selected from the three-dimensional object database 81 is output to the superposition unit 21.
[0037]
The superposition unit 21 arranges the three-dimensional object of the product at a predetermined position in the three-dimensional space of the local coordinate system, and sets the background image 6 and the three-dimensional object in the three-dimensional space based on the set three-dimensional coordinate axis and the viewpoint. A process of superimposing the three-dimensional object on the three-dimensional object (that is, a process of projecting the three-dimensional object on the background image 6 using the set three-dimensional coordinate axes and the parameters obtained for the viewpoint) is performed (step S14). Then, the superimposed image is displayed on the display 15 (step S15). In the computer 1, a plurality of three-dimensional objects 76 in a three-dimensional space are displayed on the background image 6 as shown in FIG. 7 by repeatedly performing steps S13 to S15.
[0038]
In the computer 1, the three-dimensional object 76 is moved or rotated in the three-dimensional space of the local coordinate system by the operation of the operator, and the moved or rotated three-dimensional object 76 is superimposed on the background image 6 and displayed. Alternatively, it is possible to change the scale of the three-dimensional coordinate axis 4 of the local coordinate system and change the size of all displayed three-dimensional objects 76.
[0039]
Next, a process of setting a three-dimensional coordinate axis and a viewpoint will be described. FIG. 8 is a diagram showing a flow of a process for setting a three-dimensional coordinate axis and a viewpoint, which is a process performed in step S12 of FIG.
[0040]
When the background image 6 is selected in step S11, the data of the background image 6 is also output from the background image database 82 of the fixed disk 14 to the line segment extraction unit 22. A plurality of line segments are extracted (step S21). Specifically, first, the outline (that is, edge) of the object in the image is detected from the background image 6 displayed on the main display unit 72 in FIG. 5, and an edge image 6a as shown in FIG. 9 is generated. You. FIG. 9 shows only an image displayed on the main display unit 72.
[0041]
Then, by performing a Hough transform known as a method of detecting a straight line on the edge image 6a in FIG. 9, a plurality of line segments included in the background image 6 (hereinafter, referred to as “Hough”) as shown in FIG. 64) is extracted. However, the extraction line segment 64 is extended to the outer edge of the background image 6 as necessary. In FIG. 10, a plurality of extracted line segments 64 are indicated by broken lines. The extraction of the line segment may be performed by another method.
[0042]
Subsequently, the computer 1 performs a process of semi-automatically detecting a boundary line (steps S22 and S23). Here, in the background image 6, an area (hereinafter, referred to as a "window-side area") 61 indicating a wall surface having the window 61a, an area indicating the other wall surface (hereinafter, referred to as a "wall surface area") 62, and a rectangle. (Hereinafter, referred to as a “floor area”) 63 that reflects the floor surface (hereinafter, referred to as “floor area”) on which the plate materials are laminated, and the boundary detected in step S23 is the window side area 61. A boundary line between the wall surface region 62, a boundary line between the wall surface region 62 and the floor surface region 63, and a boundary line between the floor surface region 63 and the window side region 61.
[0043]
FIG. 11 is a diagram showing a flow of processing for detecting a boundary line, and shows the processing performed in step S23. At the time of the boundary line detection processing, the three-dimensional coordinate axis 4 (or a grid of coordinate axes) of the local coordinate system in the camera model described above is displayed on the background image 6 as shown in FIG. The three-dimensional coordinate axis 4 displayed at this stage is used for setting a temporary boundary line in the boundary line detection processing.
[0044]
In the boundary line detection process, the process of moving or rotating the three-dimensional coordinate axis 4 or the process of changing the angle of view θ of the virtual camera 3 (that is, the process of changing the viewpoint) in the camera model of FIG. The image is superimposed on the three-dimensional coordinate axis 4 and the background image 6 after the movement or rotation or the viewpoint has been changed by the user 21.
[0045]
The operator operates the mouse 16b or the like to set the X axis of the three-dimensional coordinate axis 4 at the boundary between the floor area 63 and the window area 61 in the background image 6, and the Y axis between the window area 61 and the wall area 62. The three-dimensional coordinate axis 4 is set so that the Z axis is approximately along the boundary between the wall surface region 62 and the floor surface region 63 at the boundary between them (step S231). As a result, as shown in FIG. 13, each coordinate axis of the three-dimensional coordinate axis 4 projected on the background image 6 indicates a temporary boundary line substantially along the boundary between the regions 61 to 63. Hereinafter, in the boundary line detection processing, the three-dimensional coordinate axis 4 projected on the background image 6 is referred to as a temporary boundary line group 4.
[0046]
Subsequently, the computer 1 specifies three line segments corresponding to each of the temporary boundary line groups 4 from the set of line segments 64 extracted in step S21 (step S232). FIG. 14 is a diagram for explaining how three line segments are specified. In the temporary boundary line group 4, one temporary boundary line 41 corresponding to the X axis (however, up to the outer edge of the background image 6) And only two of the plurality of extracted line segments 64 (the two line segments 64 are also extended as needed to the outer edge of the background image 6). (See FIG. 10).
[0047]
When specifying three line segments, a polygon formed by connecting both end points of each extracted line segment 64 and both end points of the provisional boundary line 41 (that is, hatched parallel oblique lines in FIG. 14). (A square indicated by a circle) is calculated by the boundary line specifying unit 23. At this time, both end points of the temporary boundary line 41 are defined at intersections with the outer edge of the background image 6.
[0048]
The boundary line identification unit 23 calculates the area of a polygon formed by combining each of the boundary lines of the temporary boundary line group 4 with each of the plurality of extracted line segments 64, and calculates the polygonal shape of each temporary boundary line. The extracted line segment 64 constituting the combination having the smallest area is specified as the corresponding line segment. Note that the line segment corresponding to the temporary boundary line may be obtained by another method (for example, a method of obtaining the line segment based on the distance between the end points of the temporary boundary line and the extracted line segment 64). By calculating the area of the polygon as described above, it is possible to easily and appropriately specify the corresponding line segment.
[0049]
FIG. 15 is a diagram showing the specified extraction line segments 641, 642, 643 by dashed lines, and each of the extraction line segments 641 to 643 represents the X axis, Y axis, and Z axis of the temporary boundary line group 4. It corresponds to.
[0050]
When the three extracted line segments 641 to 643 are specified, the intersection point calculation unit 24 obtains the intersection point of the two line segments that are the boundary lines of the floor area 63 (step S233). That is, in the background image 6 of FIG. 15, the extraction line segment 641 is a boundary line between the floor area 63 and the window side area 61, and the extraction line segment 643 is a boundary line between the floor area 63 and the wall area 62. An intersection 644 between the boundary 641 and the boundary 643 is determined. Then, the remaining one extracted line segment 642 is translated so as to pass through the intersection point 644 (step S234), and a new line segment 645 after the parallel translation indicated by a two-dot chain line in FIG. Is determined as a boundary line between the wall area 62 and the wall area 62. When the three extraction line segments 641 to 643 intersect at one point, the extraction line segment 642 is determined as the boundary between the window-side region 61 and the wall surface region 62, and the processing in step S234 is omitted. You.
[0051]
As described above, in the boundary line detection processing, the operator only sets the temporary boundary line group 4 (so-called semi-automatically), and easily forms the three boundary lines 641, 643, and 645 from the set of the extracted line segments 64. In particular, in the background image indicating the room, one of the three boundary lines other than the two boundary lines corresponding to the boundary of the floor area 63 is appropriately specified. be able to.
[0052]
The boundary detection process may be set by an operation of the operator (that is, manually). When the operator manually detects the boundary (step S22 in FIG. 8), for example, The user operates the mouse 16 b or the like to specify two points on the background image 6, thereby setting each boundary line, or extracting a plurality of extracted line segments 64 displayed on the background image 6 from each of the regions 61 to 63. A boundary line is set by, for example, directly selecting the extraction line segment 64 corresponding to the boundary (step S24). Further, the processing of steps S233 and S234 of FIG. 11 may be automatically performed on the selected extracted line segment 64.
[0053]
Here, in the camera model, the set boundary lines 641, 643, and 645 can be considered to be obtained by projecting the three-dimensional coordinate axis 4 of the local coordinate system onto the background image 6, and in this case, the three-dimensional The origin of the coordinate axis 4 may be located at any position as long as it is on a line connecting the viewpoint 3 and the point 644 on the background image 6. Therefore, here, for convenience of explanation, it is assumed that a camera model in which the origin of the three-dimensional coordinate axis 4 of the local coordinate system is arranged at a point 644 on the background image 6 as shown in FIG. May be another point on the line segment connecting the viewpoint 3 and the point 644 on the background image 6), whereby the origin position of the local coordinate system in the world coordinate system (that is, Is determined, and the arrangement of each coordinate axis of the three-dimensional coordinate axis 4 is restricted.
[0054]
For example, in the camera model of FIG. 16, considering an X-axis base vector starting from the origin 644 on the background image 6, in order for the X-axis base vector to be projected on the boundary 641 on the background image 6, The end point of the X-axis base vector needs to exist in a region 51 (a region indicated by parallel oblique lines in FIG. 16) connected by the viewpoint 3, one end point 646 of the boundary 641, and the origin 644.
[0055]
FIG. 17 is a diagram showing an area 51 in which the X-axis base vector exists. In the combination determination unit 25, a plurality of base vectors each directed from the origin 644 to a plurality of points that equally divide a line segment connecting the viewpoint 3 and the end point 646 are generated, and one view angle θ (that is, one viewpoint 3) is generated. (Candidate positions of the X-axis basis vectors) are treated as candidates for the X-axis basis vector. Similarly, for the Y-axis basis vector and the Z-axis basis vector, a plurality of basis vector candidates at one angle of view θ are generated. Note that a plurality of base vector candidates at one view angle θ may be generated by another method (for example, the angle between the base vector and the boundary line 641 is changed in a plurality of ways).
[0056]
The combination determination unit 25 further changes the angle of view θ in a plurality of ways (that is, changes the arrangement of the viewpoints 3 in a plurality of ways). A basis vector and a candidate for the Z-axis basis vector are generated. Then, in each of the plurality of arrangements of viewpoints 3, by combining the candidate of the X-axis basis vector, the candidate of the Y-axis basis vector, and the candidate of the Z-axis basis vector, one X-axis basis vector, Y-axis basis A plurality of data sets in which the vector, the Z-axis base vector, and the arrangement of one viewpoint are one data set are generated.
[0057]
Subsequently, the combination determination unit 25 selects a data set in which three base vectors included in each of the plurality of data sets are approximately orthogonal to each other. Specifically, the X-axis base vector of the local coordinate system in the world coordinate system is represented by V X , Y-axis basis vector to V Y , Z-axis basis vector as V Z Then, the X-axis base vector V X And the Y-axis basis vector V Y Product with Y axis base vector V Y And the Z-axis basis vector V Z And the Z-axis basis vector V Z And the X-axis basis vector V X Evaluation value f which is the sum of the inner product of 1 Is obtained as shown in Expression 4.
[0058]
(Equation 4)
Figure 2004252815
[0059]
And the evaluation value f 1 Is determined as a data set in which the three base vectors are substantially orthogonal to each other, and is output to the evaluation value calculation unit 26 as a combination of the three-dimensional coordinate axes and the viewpoint placement evaluation target. (Step S25).
[0060]
Here, in general, on the wall surface or floor surface in an actual room, there are many elements of line segments that are horizontal or vertical on each surface, such as a window frame or a plate material of the floor surface or a frame decorated on the wall surface. Often contains.
[0061]
Therefore, in the evaluation value calculation unit 26, in each of the plurality of input combinations (that is, the data set to be evaluated), the base vector V X , V Y , V Z 18, an XY plane, a YZ plane, and a ZX plane of a local coordinate system determined by two coordinate axes of the X axis, the Y axis, and the Z axis respectively corresponding to FIG. Then, the plurality of line segments 64 extracted in step S21 are projected on each plane of the local coordinate system. At this time, each plane passes through the corresponding area on the background image 6 (that is, the window side area 61 for the XY plane, the wall area 62 for the YZ plane, and the floor area 63 for the ZX plane (see FIG. 16)). Only a set of extracted line segments 64 will be projected. FIG. 19 is a diagram illustrating an XY plane on which two extraction line segments 64 on the background image 6 are projected, and illustrates only two projected extraction line segments 640.
[0062]
The evaluation value calculation unit 26 calculates, as an evaluation value, the number of sets of the extracted line segments 64 that are substantially parallel or perpendicular to each other from the plurality of projected extracted line segments 640 in each plane (step S26). For example, among the extracted line segments 640 projected on the XY plane, the number g of sets of the extracted line segments 640 that are approximately parallel or vertical. XY Is obtained by Expression 5.
[0063]
(Equation 5)
Figure 2004252815
[0064]
Where k p , K q Is the extracted line segment 640 projected on the XY plane of the local coordinate system, and n is the number of the projected extracted line segment 640. Also, t (k p , K q ) Is the extraction line segment k p And extraction line segment k q And λ is a predetermined threshold value for determining whether or not the two line segments are approximately parallel or perpendicular.
[0065]
In the evaluation value calculation unit 26, the number of sets g is similarly set for the YZ plane and the ZX plane of the local coordinate system. YZ , G ZX Is obtained, and the sum of the number of sets in all the planes is an evaluation value f as shown in Expression 6. 2 Is required.
[0066]
(Equation 6)
Figure 2004252815
[0067]
Evaluation value f 2 Is obtained for each of the plurality of combinations to be evaluated and output to the comparing unit 27, where the evaluation value f 2 The combination that maximizes is specified. The data set of the specified combination is output to the superposition unit 21, and the three-dimensional coordinate axis and the viewpoint related to the combination are set as the three-dimensional coordinate axis 4 and the viewpoint 3 (or the angle of view θ) of the local coordinate system (step S27), the parameter group at that time is specified. As a result, the three-dimensional object arranged in the three-dimensional space defined by the local coordinate system as described above is appropriately superimposed on the background image 6 and displayed.
[0068]
As described above, in the computer 1, for each of the plurality of combinations of the three-dimensional coordinate axis and the viewpoint arrangement determined based on the three boundary lines set on the background image 6, the two coordinate axes included in the combination are used. A plurality of line segments 64 extracted from the background image 6 are projected on the determined surface. Then, an evaluation value relating to the number of pairs of approximately parallel or vertical line segments among the plurality of projected line segments is obtained, and the three-dimensional coordinate axes and the viewpoint related to one combination selected based on the evaluation value are set to the background image. 6 is set. Thereby, the computer 1 can easily set the three-dimensional coordinate axes and the viewpoint corresponding to the background image 6, and can appropriately display the three-dimensional object in the three-dimensional space on the background image 6. . As a result, the operator can visually grasp the harmony between the product and the room shown in the background image 6.
[0069]
Further, in the computer 1, the combination determination unit 25 selects a data set in which the three basis vectors are substantially orthogonal to each other and outputs the data set to the evaluation value calculation unit 26. Therefore, the amount of calculation processing in the evaluation value calculation unit 26 is reduced. A combination of a three-dimensional coordinate axis and a viewpoint corresponding to the background image can be specified and set in a short time.
[0070]
In the computer 1, an operation of moving or rotating the three-dimensional coordinate axis 4 set by the operator or an operation of changing the angle of view θ is performed as needed, and the set three-dimensional coordinate axis and viewpoint are adjusted. May be done.
[0071]
Although the embodiments of the present invention have been described above, the present invention is not limited to the above embodiments, and various modifications are possible.
[0072]
Evaluation value f 2 Is not necessarily related to the number of sets of lines that are approximately parallel or perpendicular among the plurality of projected lines, and if it is related to the degree of parallel or perpendicular between the projected lines, Anything may be used.
[0073]
The background image data may be prepared in advance by the operator. Thereby, for example, it is also possible to arrange a three-dimensional object in an image of the room of the operator. The background image data does not necessarily need to be an image of the interior of a room, but may be an image of the exterior of a building in a three-dimensional catalog of exterior products or the like.
[0074]
The computer 1 is particularly suitable for displaying a three-dimensional catalog in order to efficiently and appropriately display the three-dimensional object on the background image. However, if the computer 1 displays the three-dimensional object over the background image, another method is used. It may be used for applications.
[0075]
The function as the image display device may be realized by another device having a function similar to a computer (for example, a portable information terminal or the like).
[0076]
【The invention's effect】
According to the present invention, a three-dimensional coordinate axis and a viewpoint corresponding to a background image can be easily set, and an object in a three-dimensional space can be appropriately superimposed and displayed on the background image.
[0077]
According to the invention of claim 4, the three-dimensional coordinate axes and the viewpoint corresponding to the background image can be set in a short time.
[0078]
According to the invention of claim 6, three boundary lines can be easily specified. According to the invention of claim 7, two boundary lines corresponding to the floor boundary among the three boundary lines of the background image indicating the room. The remaining one boundary line other than the line can be appropriately specified.
[Brief description of the drawings]
FIG. 1 is a diagram showing a camera model.
FIG. 2 is a diagram illustrating a structure of a computer.
FIG. 3 is a block diagram illustrating a functional configuration of a computer.
FIG. 4 is a diagram showing a flow of processing for displaying a three-dimensional object superimposed on a background image.
FIG. 5 is a diagram illustrating a window.
FIG. 6 is a diagram illustrating a window in which a three-dimensional coordinate axis and a viewpoint are set.
FIG. 7 is a diagram illustrating a window in which a three-dimensional object is arranged.
FIG. 8 is a diagram showing a flow of processing for setting a three-dimensional coordinate axis and a viewpoint.
FIG. 9 is a diagram showing an edge image.
FIG. 10 is a diagram showing a background image from which a plurality of line segments are extracted.
FIG. 11 is a diagram showing a flow of processing for detecting a boundary line.
FIG. 12 is a diagram illustrating a background image on which three-dimensional coordinate axes are displayed.
FIG. 13 is a diagram illustrating a background image on which a temporary boundary line is set.
FIG. 14 is a diagram for explaining how three line segments are specified.
FIG. 15 is a diagram illustrating a background image on which a boundary is set.
FIG. 16 is a diagram illustrating a camera model in which the origin of a local coordinate system is arranged on a background image.
FIG. 17 is a diagram showing an area where an X-axis basis vector exists.
FIG. 18 is a diagram illustrating a camera model in which a plane of a local coordinate system is assumed.
FIG. 19 is a diagram showing an XY plane on which an extracted line segment is projected.
[Explanation of symbols]
1 computer
2 Operation part
3 Virtual camera
4 3D coordinate axes
6 Background image
14 fixed disk
15 Display
16 Input section
41 Temporary border
61-63 area
64,640,642 line segments
76 3D object
80 programs
81 3D Object Database
82 Background Image Database
641, 643, 645 borderline
644,646 points
S11 to S15, S21 to S27, S231 to S234 Step

Claims (9)

2次元の背景画像上に3次元座標軸にて規定される3次元空間内のオブジェクトを重ねて表示する画像表示装置であって、
背景画像のデータおよび3次元空間内のオブジェクトのデータを記憶する記憶部と、
前記背景画像に対して3次元座標軸および視点を設定し、前記3次元座標軸および前記視点を基準として前記背景画像に前記オブジェクトを重ね合わせる演算部と、
重ね合わされた画像を表示する表示部と、
を備え、
前記演算部が、
前記背景画像上に設定された3つの境界線に基づいて前記背景画像に対する3次元座標軸および視点の配置の複数の組み合わせを決定する工程と、
前記複数の組み合わせのそれぞれに含まれる2つの座標軸により決定される面に前記背景画像から抽出される複数の線分を投影し、投影された複数の線分間の平行または垂直の度合いに関する評価値を求める工程と、
前記評価値に基づいて前記複数の組み合わせのうちの一の組み合わせを重ね合わせの基準とされる前記3次元座標軸および前記視点として設定する工程と、
を実行することを特徴とする画像表示装置。
An image display device for superimposing and displaying an object in a three-dimensional space defined by three-dimensional coordinate axes on a two-dimensional background image,
A storage unit for storing data of a background image and data of an object in a three-dimensional space;
An arithmetic unit configured to set a three-dimensional coordinate axis and a viewpoint with respect to the background image, and to superimpose the object on the background image based on the three-dimensional coordinate axis and the viewpoint;
A display unit for displaying the superimposed images,
With
The arithmetic unit is
Determining a plurality of combinations of three-dimensional coordinate axes and viewpoint arrangements with respect to the background image based on the three boundary lines set on the background image;
Projecting a plurality of line segments extracted from the background image on a surface determined by two coordinate axes included in each of the plurality of combinations, and evaluating an evaluation value regarding the degree of parallel or vertical between the plurality of projected line segments. The process you want,
Setting one of the plurality of combinations as the three-dimensional coordinate axis and the viewpoint to be a reference for superimposition based on the evaluation value;
An image display device characterized by performing:
請求項1に記載の画像表示装置であって、
前記演算部が、前記評価値を求める工程において投影される前記複数の線分を含む線分の集合を前記背景画像から抽出する工程をさらに実行することを特徴とする画像表示装置。
The image display device according to claim 1,
The image display device, wherein the calculation unit further executes a step of extracting a set of line segments including the plurality of line segments projected in the step of obtaining the evaluation value from the background image.
請求項2に記載の画像表示装置であって、
操作者からの入力を受け付ける入力部をさらに備え、
前記演算部が、操作者による入力に基づいて前記線分の集合から前記3つの境界線を設定する工程をさらに実行することを特徴とする画像表示装置。
The image display device according to claim 2, wherein
An input unit for receiving input from an operator is further provided,
The image display device, wherein the calculation unit further executes a step of setting the three boundary lines from the set of line segments based on an input by an operator.
請求項1ないし3のいずれかに記載の画像表示装置であって、
前記複数の組み合わせを決定する工程が、3次元座標軸の候補のうち3つの座標軸が互いにおよそ直交するものを前記複数の組み合わせに含まれる3次元座標軸として決定することを特徴とする画像表示装置。
The image display device according to claim 1, wherein:
The image display device, wherein the step of determining the plurality of combinations determines, among the candidates for the three-dimensional coordinate axes, one in which three coordinate axes are substantially orthogonal to each other, as the three-dimensional coordinate axes included in the plurality of combinations.
請求項1ないし4のいずれかに記載の画像表示装置であって、
前記評価値が、前記投影された複数の線分のうちおよそ平行または垂直となる線分の組数であることを特徴とする画像表示装置。
The image display device according to claim 1, wherein:
The image display device, wherein the evaluation value is the number of sets of approximately parallel or vertical line segments among the plurality of projected line segments.
請求項3に記載の画像表示装置であって、
前記線分の集合に含まれる各線分が前記背景画像の外縁まで延長されており、
前記3つの境界線を設定する工程が、
操作者からの入力に基づいて前記背景画像上に3つの仮の境界線を設定する工程と、
各線分の両端点と各仮の境界線の両端点とを結ぶことにより形成される多角形の面積に基づいて前記3つの境界線を特定する工程と、
を有することを特徴とする画像表示装置。
The image display device according to claim 3, wherein
Each line segment included in the set of line segments is extended to the outer edge of the background image,
Setting the three boundaries,
Setting three temporary boundaries on the background image based on input from an operator;
Identifying the three boundary lines based on the area of a polygon formed by connecting both end points of each line segment and both end points of each temporary boundary line;
An image display device comprising:
請求項6に記載の画像表示装置であって、
前記背景画像が室内を示す画像であり、
前記3つの境界線を特定する工程が、
前記多角形の面積が最も小さくなる3つの線分を特定する工程と、
前記3つの線分のうち、前記室内の床の境界に対応する2つの線分を2つの境界線として決定し、前記2つの境界線の交点を求める工程と、
残りの1つの線分を前記交点を通過する位置まで平行移動して残りの境界線として決定する工程と、
を有することを特徴とする画像表示装置。
The image display device according to claim 6,
The background image is an image showing a room,
The step of identifying the three boundary lines includes:
Identifying three line segments where the area of the polygon is the smallest;
Determining two of the three line segments corresponding to the boundary of the floor in the room as two boundary lines, and determining an intersection of the two boundary lines;
Translating the remaining one line segment to a position passing through the intersection and determining the remaining line segment as a remaining boundary line;
An image display device comprising:
2次元の背景画像上に3次元座標軸にて規定される3次元空間内のオブジェクトを重ねて表示する画像表示方法であって、
背景画像上に設定された3つの境界線に基づいて前記背景画像に対する3次元座標軸および視点の配置の複数の組み合わせを決定する工程と、
前記複数の組み合わせのそれぞれに含まれる2つの座標軸により決定される面に前記背景画像から抽出される複数の線分を投影し、投影された複数の線分間の平行または垂直の度合いに関する評価値を求める工程と、
前記評価値に基づいて前記複数の組み合わせのうちの一の組み合わせを重ね合わせの基準とされる3次元座標軸および視点として設定する工程と、
前記3次元座標軸および前記視点を基準として前記背景画像に3次元空間内のオブジェクトを重ね合わせる工程と、
重ね合わされた画像を表示する工程と、
を有することを特徴とする画像表示方法。
An image display method for superimposing and displaying an object in a three-dimensional space defined by three-dimensional coordinate axes on a two-dimensional background image,
Determining a plurality of combinations of the arrangement of a three-dimensional coordinate axis and a viewpoint with respect to the background image based on three boundary lines set on the background image;
Projecting a plurality of line segments extracted from the background image on a surface determined by two coordinate axes included in each of the plurality of combinations, and evaluating an evaluation value regarding the degree of parallel or vertical between the plurality of projected line segments. The process you want,
Setting one of the plurality of combinations as a three-dimensional coordinate axis and a viewpoint to be a reference for superimposition based on the evaluation value;
Superimposing an object in a three-dimensional space on the background image based on the three-dimensional coordinate axis and the viewpoint;
Displaying the superimposed image;
An image display method comprising:
コンピュータに2次元の背景画像上に3次元座標軸にて規定される3次元空間内のオブジェクトを重ねて表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
背景画像上に設定された3つの境界線に基づいて前記背景画像に対する3次元座標軸および視点の配置の複数の組み合わせを決定する工程と、
前記複数の組み合わせのそれぞれに含まれる2つの座標軸により決定される面に前記背景画像から抽出される複数の線分を投影し、投影された複数の線分間の平行または垂直の度合いに関する評価値を求める工程と、
前記評価値に基づいて前記複数の組み合わせのうちの一の組み合わせを重ね合わせの基準とされる3次元座標軸および視点として設定する工程と、
前記3次元座標軸および前記視点を基準として前記背景画像に3次元空間内のオブジェクトを重ね合わせる工程と、
重ね合わされた画像を表示する工程と、
を実行させることを特徴とするプログラム。
A program for causing a computer to superimpose and display an object in a three-dimensional space defined by a three-dimensional coordinate axis on a two-dimensional background image.
Determining a plurality of combinations of the arrangement of a three-dimensional coordinate axis and a viewpoint with respect to the background image based on three boundary lines set on the background image;
Projecting a plurality of line segments extracted from the background image on a surface determined by two coordinate axes included in each of the plurality of combinations, and evaluating an evaluation value regarding the degree of parallel or vertical between the plurality of projected line segments. The process you want,
Setting one of the plurality of combinations as a three-dimensional coordinate axis and a viewpoint to be a reference for superimposition based on the evaluation value;
Superimposing an object in a three-dimensional space on the background image based on the three-dimensional coordinate axis and the viewpoint;
Displaying the superimposed image;
A program characterized by executing
JP2003043687A 2003-02-21 2003-02-21 Image display device, its method and program Pending JP2004252815A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003043687A JP2004252815A (en) 2003-02-21 2003-02-21 Image display device, its method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003043687A JP2004252815A (en) 2003-02-21 2003-02-21 Image display device, its method and program

Publications (1)

Publication Number Publication Date
JP2004252815A true JP2004252815A (en) 2004-09-09

Family

ID=33026617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003043687A Pending JP2004252815A (en) 2003-02-21 2003-02-21 Image display device, its method and program

Country Status (1)

Country Link
JP (1) JP2004252815A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010267138A (en) * 2009-05-15 2010-11-25 Panasonic Electric Works Co Ltd Method, system and device for supporting design
US20120188274A1 (en) * 2011-01-26 2012-07-26 Casio Computer Co., Ltd. Graphic display apparatus, graphic display method and recording medium in which graphic display program is recorded
US8791959B2 (en) 2011-03-25 2014-07-29 Casio Computer Co., Ltd. Electronic device which renders graph, graph display method and recording medium in which graph rendering program is recorded
JP2017084323A (en) * 2015-10-22 2017-05-18 キヤノン株式会社 Information processing device, method, and program
CN115879204A (en) * 2022-12-23 2023-03-31 北京城建设计发展集团股份有限公司 Data design method and system for contact rail system of rail transit engineering

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010267138A (en) * 2009-05-15 2010-11-25 Panasonic Electric Works Co Ltd Method, system and device for supporting design
US20120188274A1 (en) * 2011-01-26 2012-07-26 Casio Computer Co., Ltd. Graphic display apparatus, graphic display method and recording medium in which graphic display program is recorded
EP2482251A1 (en) * 2011-01-26 2012-08-01 Casio Computer Co., Ltd. Graphic display apparatus, graphic display method and recording medium in which graphic display program is recorded
CN102693113A (en) * 2011-01-26 2012-09-26 卡西欧计算机株式会社 Graphic display apparatus, graphic display method
US8842132B2 (en) 2011-01-26 2014-09-23 Casio Computer Co., Ltd. Graphic display apparatus, graphic display method and recording medium in which graphic display program is recorded
US8791959B2 (en) 2011-03-25 2014-07-29 Casio Computer Co., Ltd. Electronic device which renders graph, graph display method and recording medium in which graph rendering program is recorded
JP2017084323A (en) * 2015-10-22 2017-05-18 キヤノン株式会社 Information processing device, method, and program
CN115879204A (en) * 2022-12-23 2023-03-31 北京城建设计发展集团股份有限公司 Data design method and system for contact rail system of rail transit engineering

Similar Documents

Publication Publication Date Title
JP5248806B2 (en) Information processing apparatus and information processing method
JP5013961B2 (en) Position / orientation measuring apparatus and control method thereof
US8970586B2 (en) Building controllable clairvoyance device in virtual world
US11308347B2 (en) Method of determining a similarity transformation between first and second coordinates of 3D features
JP4492654B2 (en) 3D measuring method and 3D measuring apparatus
US20100328308A1 (en) Three Dimensional Mesh Modeling
US20070053679A1 (en) 360-° Image photographing apparatus
JP5799273B2 (en) Dimension measuring device, dimension measuring method, dimension measuring system, program
CN104751520A (en) Diminished reality
Zollmann et al. Interactive 4D overview and detail visualization in augmented reality
JP2011048586A (en) Image processing apparatus, image processing method and program
US20150269759A1 (en) Image processing apparatus, image processing system, and image processing method
JP2015049776A (en) Image processor, image processing method and image processing program
JP6640294B1 (en) Mixed reality system, program, portable terminal device, and method
KR101875047B1 (en) System and method for 3d modelling using photogrammetry
Kahn Reducing the gap between Augmented Reality and 3D modeling with real-time depth imaging
JP2018142109A (en) Display control program, display control method, and display control apparatus
JP7241812B2 (en) Information visualization system, information visualization method, and program
JP6854631B2 (en) Information visualization system, information visualization method, and program
JP6362401B2 (en) Image processing apparatus and image processing apparatus control method
JP2004252815A (en) Image display device, its method and program
JP2015155911A (en) Dimension measurement method
BARON et al. APPLICATION OF AUGMENTED REALITY TOOLS TO THE DESIGN PREPARATION OF PRODUCTION.
JP2015121892A (en) Image processing apparatus, and image processing method
GB2564715A (en) Systems and methods of forming virtual models