JP2017059041A - 画像処理装置、画像処理方法、およびプログラム - Google Patents
画像処理装置、画像処理方法、およびプログラム Download PDFInfo
- Publication number
- JP2017059041A JP2017059041A JP2015184216A JP2015184216A JP2017059041A JP 2017059041 A JP2017059041 A JP 2017059041A JP 2015184216 A JP2015184216 A JP 2015184216A JP 2015184216 A JP2015184216 A JP 2015184216A JP 2017059041 A JP2017059041 A JP 2017059041A
- Authority
- JP
- Japan
- Prior art keywords
- image
- unit
- dimensional
- background image
- virtual
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 87
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000004364 calculation method Methods 0.000 claims abstract description 116
- 239000011159 matrix material Substances 0.000 claims description 101
- 230000035807 sensation Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 34
- 238000001514 detection method Methods 0.000 description 25
- 238000000034 method Methods 0.000 description 23
- 230000000694 effects Effects 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 13
- 238000003384 imaging method Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 8
- 230000005484 gravity Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 5
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Image Processing (AREA)
Abstract
【課題】原稿画像を、背景画像中に示される遠近感を示す形態で容易に配置する。【解決手段】画像処理装置の取得部22は、背景画像と原稿画像とを取得する。設定部26は、背景画像に含まれる複数の直線の内、背景画像において遠近感を表し、且つ、背景画像において矩形領域を構成する4辺の各々を通る4本の直線Lを、基準直線として設定する。算出部30は、背景画像における4本の基準直線を4辺とする矩形状の表示領域に対応する、仮想三次元空間における仮想領域を算出する。表示制御部34は、背景画像と、仮想領域に原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像を、表示部に表示する。【選択図】図2
Description
本発明は、画像処理装置、画像処理方法、およびプログラムに関する。
現実の環境から与えられる情報に、コンピュータが作り出した情報を重畳表示するAR(拡張現実 Augmented Reality)技術が知られている。例えば、特許文献1には、仮想三次元空間に配置したオブジェクトを二次元表示上で表示し、ユーザの入力に応じて、オブジェクトの配置などを二次元表示上で行うことが開示されている。具体的には、特許文献1には、モニター上にXYZ軸の補助線を表示し、ユーザによる入力を示す機械信号と補助線との組合せを解釈することで、編集を行うことが開示されている。
しかし、従来では、配置対象のオブジェクトなどの原稿画像を、背景画像中に示される遠近感に沿った形態で容易に配置することは困難であった。
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、背景画像と原稿画像とを取得する取得部と、前記背景画像に含まれる複数の直線の内、前記背景画像において遠近感を表し、且つ、前記背景画像において矩形領域を構成する4辺の各々を通る4本の直線を、基準直線として設定する設定部と、前記背景画像における4本の前記基準直線を4辺とする矩形状の表示領域に対応する、仮想三次元空間における仮想領域を算出する算出部と、前記背景画像と、前記仮想領域に前記原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像を、表示部に表示する表示制御部と、を備える。
本発明によれば、原稿画像を、背景画像中に示される遠近感を示す形態で容易に配置することができる、という効果を奏する。
以下に添付図面を参照して、画像処理装置、画像処理方法、およびプログラムの実施の形態を詳細に説明する。
図1は、本実施の形態の画像処理装置10の模式図の一例である。
画像処理装置10は、撮影部12と、画像処理部14と、記憶部16と、入力部18と、表示部20と、を備える。撮影部12、画像処理部14、記憶部16、入力部18、および表示部20は、バスにより電気的に接続されている。
なお、画像処理装置10は、少なくとも画像処理部14を備えた構成であればよく、撮影部12、記憶部16、入力部18、および表示部20の少なくとも1つを別体として設けた構成であってもよい。
また、画像処理装置10は、携帯可能な携帯端末であってもよいし、固定型の端末であってもよい。本実施の形態では、一例として、画像処理装置10は、撮影部12と、画像処理部14と、記憶部16と、入力部18と、および表示部20と、を一体的に備えた携帯可能な端末である場合を説明する。
撮影部12は、実空間の観察環境を撮影する。観察環境は、表示部20に表示された画像をユーザが視認(観察)するときの環境である。また、観察環境は、原稿画像を印刷した記録媒体を観察する環境であってもよい。撮影によって、撮影部12は、実空間における観察環境の撮影画像として、背景画像を取得する。背景画像は、静止画像であってもよいし、動画像であってもよい。
本実施の形態では、撮影部12は、画像処理装置10の装置各部への電力供給が開始されると、背景画像の撮影を連続して行い、順次、画像処理部14へ出力するものとして説明する。実空間の観察環境は、例えば、オフィス、展示会場、駅の構内、駅のホーム、各種建物内などである。撮影部12は、撮影によって撮影画像を得る公知の撮影装置である。なお、背景画像は、CG(Computer Graphics)などで描画された画像であってもよく、撮影部12で得られた画像に限定されない。
表示部20は、各種画像を表示する。表示部20は、LCD(Liquid Crystal Display)などの公知の表示装置である。本実施の形態では、表示部20には、後述する重畳画像が表示される。
また、本実施の形態では、一例として、表示部20と撮影部12は、画像処理装置10の筐体(図示省略)において、表示部20の画面と、撮影部12の撮影方向と、が互いに逆方向を向くように配置されている場合を説明する。このため、例えば、画像処理装置10の位置を固定したまま、撮影部12で撮影した撮影画像を表示部20に表示した場合、表示部20に表示された撮影画像と、表示部20の背景(表示部20の画面の対向側)に位置する実空間の風景と、は同じとなる。
入力部18は、ユーザから各種操作を受け付ける。
なお、入力部18と表示部20とを一体的に構成したUI(ユーザ・インターフェース)部22としてもよい。UI部19は、例えば、公知のタッチパネルである。
本実施の形態では、UI部19は、入力部18と表示部20とを一体的に構成したタッチパネルである場合を説明する。
記憶部16は、メモリやハードディスクドライブ装置(HDD)等の記憶媒体であり、後述する各処理を実行するための各種プログラムや、各種データを記憶する。
画像処理部14は、CPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)などを含んで構成されるコンピュータである。なお、画像処理部14は、汎用のCPU以外の回路などであってもよい。画像処理部14は、画像処理装置10に設けられた装置各部を制御する。
画像処理部14は、重畳画像を表示部20へ表示する制御を行う。本実施の形態では、重畳画像は、背景画像上に、原稿画像に応じた後述する二次元原稿画像を重畳した重畳画像である。このような表示処理は、例えばOpenGL(Open Graphics Library)などの3Dエンジンにより実現する。
本実施の形態では、重畳画像は、仮想三次元空間に背景画像を配置し、背景画像上に原稿画像を配置した三次元モデルを、二次元面(二次元空間)に投影した画像である場合を説明する。すなわち、重畳画像は、背景画像上に、原稿画像に応じた二次元原稿画像を重畳した重畳画像である。
なお、重畳画像は、少なくとも背景画像上に二次元原稿画像を配置した画像であればよく、更に、他の画像を含んでもよい。
他の画像は、例えば、透明な色材を用いて形成する透明画像や、特色(金、白、透明など)の色材を用いて紙に与える表面効果を規定した表面効果画像などが挙げられるが、これらに限られない。
仮想三次元空間とは、仮想の三次元の空間である。二次元空間は、本実施の形態では、表示部20の表示面を示す。すなわち、二次元空間は、表示部20の表示面に沿った二次元座標で表せる。二次元座標は、表示部20の表示面上における座標を示す。また、仮想三次元空間は、三次元座標で表せる。
図2は、画像処理部14の機能構成を示すブロック図である。画像処理部14は、取得部22と、受付部24と、設定部26と、補助線算出部28と、算出部30と、表示制御部34と、を含む。
取得部22、受付部24、設定部26、補助線算出部28、算出部30、および表示制御部34の一部またはすべては、例えば、CPUなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
取得部22は、原稿画像と、背景画像と、を取得する。原稿画像は、背景画像上に配置する対象の画像である。取得部22は、例えば、記憶部16から原稿画像を読取ることで、原稿画像を取得する。
例えば、表示制御部34が、記憶部16に記憶されている画像の一覧を表示部20に表示する。ユーザは、入力部18を操作することで、配置対象の画像を選択する。取得部22は、選択された画像を原稿画像として読取ることで、原稿画像を取得する。
なお、取得部22は、撮影部12で撮影された画像を原稿画像として取得してもよい。また、取得部22は、図示を省略する公知のスキャナ装置で読取った画像を、原稿画像として取得してもよい。この場合、画像処理部14とスキャナ装置とを電気的に接続した構成とすればよい。
また、本実施の形態では、取得部22は、撮影部12で撮影された実空間における観察環境の撮影画像を、背景画像として取得する。
受付部24は、ユーザによる入力部18(UI部19)の操作指示を受け付ける。
本実施の形態では、受付部24は、光源情報、移動開始情報(詳細後述)、移動終了情報(詳細後述)などを、入力部18から受け付ける。
光源情報は、仮想三次元空間に配置される仮想光源の反射特性を示す情報である。仮想光源は、仮想三次元空間に仮想的に配置する光源である。例えば、受付部24は、記憶部16に予め光源情報テーブルを記憶する。そして、受付部24は、ユーザによる入力部18の操作指示によって、光源情報テーブルの各々から選択された、光源情報を受け付ける。
図3は、光源情報テーブルのデータ構造の一例を示す図である。光源情報テーブルは、光源の種類を識別する光源IDと、光源名と、光源情報と、を対応づけた情報である。なお、光源情報テーブルは、データベースであってもよく、データ形式は限定されない。
光源情報は、対応する光源IDによって特定される光源の、光属性を示す情報である。光属性は、重畳画像表示時の光を演出するための、反射量を特定するための情報である。光源情報は、光源の色温度に関する項目である鏡面光、拡散光、および環境光の各々における、RGBの色成分ごとの光量(輝度)で表される。RGBの各色成分の光の値は、最大「1.0」であり、最小値「0」である。
具体的には、図3中、鏡面光の値の一例として記載した“(1.00,0.95,0.95)”は、R成分、G成分、B成分の各々の鏡面光の光量が、各々、1.00,0.95,0.95であることを示す。
なお、重畳画像表示時の光を演出するための反射量は、光源の光量(光源情報)と、物体の反射率と、の乗算値により定まる。物体の反射率は、予め記憶部16に記憶しておけばよい。なお、反射量は、光源情報に仮想三次元空間での光源の座標位置を加え、OpenGLに計算させてもよい。
表示制御部34は、記憶部16に記憶されている光源情報テーブルを読取り、光源情報テーブルに登録されている光源情報の一覧を、選択可能に表示部20に表示する。ユーザは、表示された光源情報の一覧の中から、所望の光源名に対応する光源情報を入力部18の操作指示により入力する。これにより、受付部24は、光源情報を受け付ける。
なお、ユーザによる入力部18の操作指示などにより、新たな光源情報や新たな原稿反射情報を、原稿情報テーブルおよび原稿反射情報テーブルに登録してもよいし、登録されているこれらの情報を編集可能としてもよい。
図2に戻り、設定部26は、背景画像に含まれる複数の直線の内、4本の直線を基準直線として設定する。設定部26によって設定される4本の直線は、背景画像において遠近感を表し、且つ、背景画像において矩形領域を構成する4辺の各々を通る直線である。設定部26は、検出部26Aと、管理部26Bと、を含む。
検出部26Aは、背景画像に含まれる複数の直線を検出する。管理部26Bは、検出部26Aで検出した複数の直線から、4本の基準直線を設定する。
図4は、基準直線LAの設定の一例を示す説明図である。例えば、取得部22が、図4(A)に示す背景画像74を取得したと仮定する。この場合、検出部26Aは、背景画像74に含まれる複数の直線を検出する。検出部26Aは、画像に含まれる直線を検出する公知の画像処理技術を用いて、背景画像74に含まれる複数の直線を検出する。例えば、検出部26Aは、ハフ変換などの既知の特徴点検出技術やOpenCVなどの画像処理エンジンを活用し、直線を検出すればよい。なお、検出部26Aが検出する直線には、背景画像74の外枠を構成する4本の直線も含まれるものとする。
例えば、検出部26Aは、背景画像74に含まれる複数の直線として、直線L1〜直線L17を検出する(図4(B)参照)。検出部26Aは、背景画像74の外枠(図4(B)中、直線L1、直線L5、直線L6、直線L7)を構成する4本の直線についても、背景画像74に含まれる直線Lとして検出する。また、検出部26Aは、背景画像74に含まれる外枠以外の直線の各々を、背景画像74の外枠と交差する位置にまで延長した直線を、背景画像74に含まれる直線Lとして検出する。
このため、例えば、検出部26Aは、図4(B)に示す直線L(直線L1〜直線L17)を、背景画像74に含まれる複数の直線Lとして検出する。
管理部26Bは、検出部26Aが検出した複数の直線L(直線L1〜直線L17)の内、背景画像74において遠近感を表し、且つ、背景画像74において矩形領域を構成する4辺の各々を通る4本の直線Lを、基準直線LAとして設定する。
矩形領域とは、4辺と4頂点とからなる四角形状の領域である。
例えば、管理部26Bは、検出部26Aで検出した複数の直線(直線L1〜直線L17)を示す情報を、表示制御部34へ出力する。表示制御部34は、背景画像74に、検出部26Aで検出された直線(直線L1〜直線L17)を描画し、UI部19へ表示する。このため、UI部19には、例えば、図4(B)に示す直線L(直線L1〜直線L17)を描画された背景画像74が表示される。
ユーザは、表示された直線L(直線L1〜直線L17)を参照しながら、UI部19を操作することで、背景画像74において遠近感を表し、且つ矩形領域を構成する4辺の各々を通る4本の直線Lを選択する。このとき、表示制御部34は、遠近感を表し且つ矩形領域を構成する4本の直線の選択を促すメッセージや画像を、表示部20へ表示することが好ましい。
例えば、ユーザが、背景画像74上に描画された複数の直線L(直線L1〜直線L17)の内、直線L1、直線L2、直線L3、および直線L4を選択したとする。すると、UI部19は、これらの直線L(直線L1〜直線L4)を示す情報を、画像処理部14へ出力する。これによって、管理部26Bは、受付部24を介して、背景画像74において遠近感を表し且つ矩形領域を構成する4本の直線(直線L1〜直線L4)を示す情報を受け付ける。
そして、管理部26Bは、受け付けた情報によって示される4本の直線(直線L1〜直線L4)を、基準直線LAとして設定する(図4(C)参照)。
なお、管理部26Bは、ユーザによるUI部19の操作指示によって選択された直線Lが、背景画像74において遠近感を示す直線Lであるか否かを判別することが好ましい。そして、遠近感を示す直線Lが選択されるまで、表示制御部34は、再度の直線Lの選択を促すメッセージをUI部19へ表示することが好ましい。これによって、背景画像74に含まれる直線が明確でない場合であっても、基準直線LAを設定することができる。
なお、管理部26Bは、検出部26Aで検出された複数の直線L(直線L1〜直線L17)から、4本の直線Lを検出することで、基準直線LAを設定してもよい。
この場合、例えば、管理部26Bは、背景画像74における消失点VPを公知の画像処理方法により検出する。そして、管理部26Bは、検出部26Aが検出した複数の直線L(直線L1〜直線L17)の内、消失点VPを通る複数の直線Lを選択する。例えば、管理部26Bは、直線L10、直線L3、直線L14、直線L4、直線L17、直線L13を選択する。
また、管理部26Bは、検出部26Aが検出した複数の直線L(直線L1〜直線L17)の内、消失点VPを通る直線Lに対して、消失点VP以外の位置で交差する複数の直線Lを選択する。例えば、管理部26Bは、直線L1、直線L2、直線L5、直線L7、直線L8、直線L9、直線L11、直線L12、直線L6を選択する。
そして、管理部26Bは、消失点VPを通る直線の内の任意の2本の直線Lと、これらの2本の直線Lに対して消失点VP以外の位置で交差する任意の2本の直線Lと、を、組合せを変えて順次選択する。そして、管理部26Bは、選択した組合せごとに、各組合せに属する4本の直線L(消失点VPを通る2本の直線Lと、これらの2本の直線Lに対して消失点VP以外の位置で交差する2本の直線L)によって形成される矩形領域を、背景画像74から抽出する。
例えば、直線L1、直線L2、直線L3、直線L4によって形成される矩形領域や、直線L2、直線L8、直線L3、直線L4によって形成される矩形領域などを、背景画像74から抽出する。
表示制御部34は、管理部26Bが抽出した矩形領域の各々を、表示部20へ表示する。そして、ユーザによるUI部19の操作指示によって、1つの矩形領域が選択されると、管理部26Bは、選択された矩形領域を構成する4辺の各々を通る4本の直線L(例えば、直線L1、直線L2、直線L3、直線L4)を、基準直線LAとして設定すればよい(図4(C)参照)。以下では、設定部26が、直線L1、直線L2、直線L3、直線L4を、基準直線LAとして設定した場合を一例として説明する。
そして、管理部26Bは、設定した4本の各々の基準直線LAを示す情報(以下、基準直線情報と称する場合がある)を、記憶部16へ記憶する。詳細には、管理部26Bは、設定した4本の各々の基準直線LAの二次元座標を、基準直線情報として記憶部16に記憶する。
本実施の形態では、4本の基準直線LAの各々の基準直線情報は、UI部19に表示された背景画像74(すなわち、表示部20の表示面)上における、各基準直線LAの長尺方向の一端部と他端部の各々の二次元座標で表す場合を説明する。
図2に戻り、算出部30は、設定部26が設定した4本の基準直線LAを4辺とする矩形状の表示領域に対応する、仮想三次元空間における仮想領域を算出する。
具体的には、算出部30は、図4(C)に示す4本の基準直線LA(直線L1、直線L2、直線L3、直線L4)を4辺とする矩形状の表示領域80に対応する、仮想三次元空間における仮想領域を算出する。
図5は、表示領域80の算出の一例を示す説明図である。例えば、図5(A)に示すように、設定部26が設定した4本の基準直線LA(直線L1〜直線L4)によって、背景画像74には表示領域80が設定される。
表示領域80は、4本の基準直線LA(直線L1〜直線L4)を4辺とする、矩形状の領域であり、基準直線LAの交点によって4つの頂点a、頂点b、頂点c、頂点dを有する領域である。
まず、算出部30は、この表示領域80の4つの頂点(頂点a、頂点b、頂点c、頂点d)の各々の二次元座標を特定することによって、表示領域80を特定する。
そして、図5(B)に示すように、算出部30は、二次元空間における表示領域80を、仮想三次元空間Sに配置する。仮想三次元空間Sは、背景画像74を予め定めた視点位置Iから視認した仮想の空間である。これによって、算出部30は、二次元座標によって示される表示領域80を、仮想三次元空間Sに配置したときの三次元座標を算出する。三次元座標の算出によって、表示領域80の、仮想三次元空間における位置および傾きが算出される。
ここで、仮想三次元空間Sに配置した表示領域80を、仮想領域75と称する。このため、算出部30は、二次元座標によって示される表示領域80に対応する、仮想三次元空間における三次元座標を算出することによって、仮想領域75を算出する。
算出部30は、傾き・位置行列を用いて、仮想領域75を算出する。傾き・位置行列は、仮想三次元空間Sにおける、表示領域80に対応する仮想領域75の傾きと位置(奥行)を算出するための行列である。
具体的には、算出部30は、仮想三次元空間Sの予め定めた基準位置に仮配置した原稿面を表示部20の表示面上における二次元空間に射影する射影行列と、傾き・位置行列と、表示領域80の二次元座標と、原稿画像と、を用いて、仮想三次元空間Sにおける仮想領域75を算出する。
仮想三次元空間Sに仮配置した原稿面とは、原稿画像の縦横の長さを元に、該大きさおよび形状の原稿画像の4頂点を仮想三次元空間Sに仮配置した画像を示す。すなわち、原稿面は、仮想三次元空間Sに仮配置した原稿画像を示す。本実施の形態では、原稿面は、矩形状である。
仮想三次元空間Sの基準位置とは、仮想三次元空間Sにおける、Z=0のXY平面を意味する。Z=0の位置は、OpenGLにおいて仮想三次元空間Sを写す仮想カメラの位置に相当し、−Z軸方向は、仮想カメラの撮影方向の反対方向(180°反対方向)を意味する。
そして、算出部30は、表示領域80の4頂点の二次元座標と、仮想三次元空間Sに仮配置した原稿面の4頂点の座標と、仮想三次元空間に仮配置した原稿面を二次元空間に射影する射影行列と、を用いて、傾き・位置行列を算出する。
そして、算出部30は、仮想三次元空間Sに仮配置した原稿面の4頂点の三次元座標を、傾き・位置行列に適用することで、仮想三次元空間Sにおける、表示領域80に対応する仮想領域75の4頂点の三次元座標を算出する。
これにより、算出部30は、仮想三次元空間における、指定された表示領域80に対応する仮想領域Sを算出する。
図6は、算出部30の機能ブロック図である。算出部30は、仮配置部30Aと、第1の算出部30Bと、第2の算出部30Cと、第3の算出部30Dと、第4の算出部30Gと、移動部30Hと、を含む。
仮配置部30A、第1の算出部30B、第2の算出部30C、第3の算出部30Dと、第4の算出部30G、および、移動部30Hの一部またはすべては、例えば、CPUなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ICなどのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
仮配置部30Aは、設定部26で設定された表示領域80を取得する。詳細には、仮配置部30Aは、表示領域80の各頂点の二次元座標を取得する。また、仮配置部30Aは、表示対象の原稿画像の縦横サイズを取得する。
そして、仮配置部30Aは、原稿画像の縦横サイズの原稿面を、仮想三次元空間Sにおける、Z=0のXY平面上に仮配置する。すなわち、仮配置部30Aは、まず、表示対象の原稿画像を、仮想三次元空間SにおけるZ=0のXY平面に仮配置し、仮想三次元空間Sに仮配置した原稿面とする。
図7は、仮想三次元空間Sに仮配置した原稿面54を示す説明図である。仮配置部30Aは、原稿面54の中心を、仮想三次元空間SにおけるXY平面の原点Oに重ね、該原稿面54の4頂点の座標(三次元座標)を初期値として設定することで、原稿面54を仮配置する。
ここで、原稿画像の横幅をwidth、高さをheightとし、Ox=width/2、Oy=height/2とする。すると、仮配置した原稿面54の4頂点の各々の、仮想三次元空間Sにおける初期配置座標は、図8に示す値となる。図8は、初期配置座標の一例を示す図である。
例えば、仮配置した原稿面54の4頂点(左上(topleft)、右上(topright)、左下(bottomleft)、右下(bottomright))の各々の初期配置座標は、図8に示される値となる。
そして、仮配置部30Aは、仮配置した原稿面54の初期配置座標を保持する。
図6に戻り、第1の算出部30Bは、射影行列Fを算出する。
図9は、射影行列Fおよび射影行列Gの算出の説明図である。射影行列Fは、仮想三次元空間に仮配置した原稿面54の初期配置座標を(図9(B)参照)、二次元空間の二次元座標(図9(A)参照)に射影する射影行列である。
すなわち、第1の算出部30Bは、仮想三次元空間Sに仮配置した原稿面54における右上(topright)の1頂点Oの初期配置座標(Ox,Oy,0)を、二次元空間における1頂点Dの二次元座標(Dx,Dy)に射影するための、射影行列Fを算出する。
また、第1の算出部30Bは、その逆の射影を行うための射影行列Gを算出する。すなわち、第1の算出部30Bは、二次元空間の二次元座標を、仮想三次元空間Sに仮配置した原稿面54の初期配置座標に射影するための射影行列Gを算出する。
なお、上述したように、本実施の形態では、OpenGLを用いた表示処理を行う。このため、本実施の形態では、第1の算出部30Bは、OpenGLによる変換ステージに従い、射影行列F、および射影行列Gを算出する。
図10は、OpenGLによる変換ステージと射影行列との関係の説明図である。第1の算出部30Bは、OpenGLの変換ステージに従い、二次元空間の二次元座標(図10中、ハードウェア依存二次元座標参照)を、正規化行列N1の逆行列N1 −1で正規化二次元座標に変換した後に、射影行列F、および射影行列Gを算出する。なお、第1の算出部30Bは、射影行列の算出のための公知の計算式、もしくは、同等の任意の計算式を用いて、射影行列Fおよび射影行列Gを算出すればよい。また、第1の算出部30Bは、openCV(Open Source Computer Vision Library)などのコンピュータビジョン向けライブラリを利用して、射影行列Fおよび射影行列Gを算出してもよい。
第1の算出部30Bが算出する射影行列F、射影行列Gを以下に示す。
式(1)は、射影行列Fを示す。式(2)は、射影行列Gを示す。射影行列は、その定義により、定数倍の不定性が存在する。このため、射影行列は、任意のスケール係数(0ではない値)を乗算しても同じ変換であるとする。なお、射影行列Fについては、三行一列のベクトルを左から各々f1、f2、f3、f4と表す。
第2の算出部30Cは、傾き・位置行列を算出する。傾き・位置行列は、上述したように、仮想三次元空間Sにおける、表示領域80に対応する仮想領域75の傾きと位置(奥行)を算出するための行列である。
第2の算出部30Cは、第1の算出部30Bから射影行列Fを取得する。また、第2の算出部30Cは、撮影部12の光学特性パラメータを取得する。撮影部12の光学特性パラメータは、撮影部12の焦点距離、CCD(Charge Coupled Device)イメージセンサにおける、1画素分の幅、高さ、画像中心、画素単位の焦点距離(レンズ中心から画像平面までの距離)、などのパラメータである。記憶部16は、撮影部12の光学特性パラメータを予め記憶する。第2の算出部30Cは、記憶部16から光学特性パラメータを読取ればよい。
第2の算出部30Cは、射影行列Fと、撮影部12の光学特性パラメータと、を用いて、傾き・位置行列を算出する。本実施の形態では、第2の算出部30Cは、射影行列Fと、後述する投影行列Aと、を用いて、傾き・位置行列を算出する。
まず、第2の算出部30Cは、撮影部12の光学特性パラメータから、仮想三次元空間Sに配置された三次元像を二次元像に投影(すなわち、仮想三次元空間Sの三次元座標を二次元空間の二次元座標に投影)するための投影行列(以下、投影行列Aとする)を算出する。投影行列Aは、以下の式(3)によって示される。
式(3)中、axおよびayは、撮影部12の焦点距離を示す。詳細には、axおよびayは、撮影部12のレンズ中心から撮影素子配列(CCD:Charge Coupled Device)を配置した平面までの距離を示す。cxおよびcyは、主点を示し、本実施の形態では、画像中心を示す。画像中心とは、撮影によって得た二次元の撮影画像の中心を示す。
第2の算出部30Cは、表示する背景画像74の取得時の、撮影部12の光学特性パラメータを用いて、投影行列Aを算出することが好ましい。撮影部12の光学特性パラメータから算出した投影行列Aを用いることで、背景画像74の撮影条件と同じ光学条件の、プレビュー画像に含まれる二次元原稿画像とすることができる。すなわち、背景画像74に映り込む物体と同様の二次元化を行うことができる。
本実施の形態では、第2の算出部30Cは、画像処理装置10に搭載されている撮影部12の光学特性パラメータから、投影行列Aを予め算出し、記憶部16に予め記憶する。また、背景画像74を撮影する複数の撮影部12の各々の光学特性パラメータを用いて算出した、複数の投影行列Aを予め記憶部16に記憶してもよい。そして、画像処理部14では、複数の投影行列Aをユーザに対して選択可能に表示部20に表示し、第2の算出部30Cは、ユーザによる入力部18の操作指示によって選択された投影行列Aを採用してもよい。また、ユーザによる入力部18の操作指示によって、任意の光学特性パラメータおよび投影行列Aを設定してもよい。
そして、第2の算出部30Cは、射影行列Fと、投影行列Aと、を用いて、傾き・位置行列を算出する。例えば、第2の算出部30Cは、ホモグラフィ分解法を用いて、射影行列Fと投影行列Aとから、傾き・位置行列を算出する。なお、ホモグラフィ分解法を用いた場合、値の定まらない場合や虚数解が得られる場合がある。傾き・位置行列は、式(4)で示される。
なお、式(4)では、傾き・位置行列の三行一列のベクトルを、左から各々γ1、γ2、γ3、tと表している。なお、γ3は、γ1とγ2の外積である。
第2の算出部30Cは、以下の式(5)を用いて、傾き・位置行列を算出する。
式(5)中、μ1は、式(6)で表せる。式(5)中、μ2は、式(7)で表せる。
本実施の形態では、第2の算出部30Cは、OpenGLを利用する。このため、第2の算出部30Cは、式(4)に示す傾き・位置行列に、行ベクトル(0,0,0,1)を足して4×4行列に変換したものを、傾き・位置行列として算出する(式(8)参照)。
第2の算出部30Cは、算出した傾き・位置行列(上記式(8)参照)を保持する。
次に、第2の算出部30Cは、算出した傾き・位置行列と、射影行列Fと、算出に用いた光学特性パラメータと、を、第3の算出部30Dへ出力する。
第3の算出部30Dは、仮想三次元空間Sに配置された三次元像を二次元像に投影(すなわち、仮想三次元空間Sの三次元座標を二次元空間の二次元座標に投影)するための投影行列Bを算出する。
傾き・位置行列に、光沢特性パラメータから求めた投影行列Aを乗算しても、射影行列Fに一致しない。このため、第3の算出部30Dは、傾き・位置行列に対して乗算した乗算結果が射影行列Fに一致するように、投影行列Bを算出する。ここで、傾き・位置行列と投影行列Bとの乗算値を、射影行列Fに一致させるための3行3列の補正行列を、Mとする。第3の算出部30Dは、ホモグラフィ分解法により、以下の式(9)および式(10)を導出し、式(14)により、補正行列Mを算出する。
なお、式(9)、式(10)、および式(14)中、μ1は、式(11)によって表され、式(10)および式(14)中、μ2は、式(12)によって表される。また、式(9)および式(10)中、λは、式(13)によって表される。
このため、投影行列Bは、式(15)で表せる。
ここで、第3の算出部30Dは、OpennGL用に、式(15)中の投影行列Aと、補正行列Mと、を式(16)に示すように変更する。
式(16)中、nとfは、OpenGL上でz軸方向における投影範囲を定めるものである。具体的には、nは、z軸の負の方向に沿ったクリップ距離の近い方を示す。fは、z軸の負の方向に沿ったクリップ距離の遠い方を示す。
第3の算出部30Dは、仮配置された原稿面54の4頂点の初期配置座標と、傾き・位置行列と、投影行列Bと、を第4の算出部30Gおよび表示制御部34へ通知する。
第4の算出部30Gは、仮想三次元空間Sに仮配置した原稿面54の4頂点の三次元座標(初期配置座標)を、傾き・位置行列に適用することで、二次元空間の表示領域80に対応する、仮想三次元空間Sにおける仮想領域75の4頂点の三次元座標を算出する。これにより、第4の算出部30Gは、二次元空間の表示領域80に対応する、仮想三次元空間Sにおける仮想領域75を算出する。そして、第4の算出部30Gは、算出した仮想領域75の三次元座標を、表示制御部34へ通知する。
移動部30Hについては、詳細を後述する。
図2に戻り、表示制御部34は、仮想三次元空間Sにおける、算出された仮想領域75に原稿画像を配置して三次元原稿画像とする。すなわち、表示制御部34は、仮想三次元空間Sにおける、三次元座標によって示される仮想領域75に原稿画像を配置することで、三次元原稿画像とする。そして、表示制御部34は、背景画像と、仮想領域75に原稿画像を配置した三次元原稿画像を予め定めた視点位置Iから視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像を、表示部20へ表示する。
視点位置Iは、仮想三次元空間Sの上記基準位置に仮配置された原稿面54に対する垂線に沿った、−Z軸方向(原点O側から視点位置I側へ向かう方向)の位置である。視点位置Iは、OpenGLの処理により、ユーザによって指定された任意の位置に変更可能である。
表示制御部34は、投影部34Aと、直線描画部34Bと、補助線描画部34Cと、光源反射制御部34Dと、透過制御部34Eと、ぼかし制御部34Fと、を備える。
透過制御部34E、および、ぼかし制御部34Fについては後述する。
直線描画部34Bは、検出部26Aで検出された、背景画像74に含まれる複数の直線L(直線L1〜直線L17)を、背景画像74上の対応する位置に描画する。そして、直線描画部34Bは、直線Lの描画された背景画像74を、表示部20へ表示する。
投影部34Aは、原稿画像、背景画像74、仮想三次元空間Sに仮配置した原稿面54の4頂点の三次元座標(初期配置座標)、OpenGL内でのMODEL−VIEW行列として最新の傾き・位置行列、PROJECTION行列としての投影行列B、および、受付部24で受け付けた光源情報を受け付ける。
そして、投影部34Aは、OpenGLを用いて、仮想三次元空間Sに、受け付けた光源情報に応じた仮想光源を配置すると共に、二次元空間の表示領域80に対応する、仮想三次元空間Sにおける仮想領域75に原稿画像を配置することによって、三次元原稿画像とする。このとき、光源反射制御部34Dが、光源情報に応じた光源効果を三次元原稿画像に付加する。光源効果の付加は、OpenGLを用いて行えばよい。
そして、投影部34Aは、この三次元原稿画像を、予め定めた視点位置Iから視認した二次元空間に投影することによって、二次元原稿画像を生成する。そして、投影部34Aは、背景画像上に二次元原稿画像を重畳した重畳画像を生成し、表示部20に表示する制御を行う。
詳細には、投影部34Aは、仮想三次元空間Sに仮配置した原稿面54を、第4の算出部30Gで算出された仮想領域75の三次元座標の位置にずらす。投影部34Aは、原稿面54の4頂点の位置に、算出部30から受け付けた傾き・位置行列を適用することによって、仮想三次元空間Sにおける仮想領域75の4頂点の三次元座標を算出する。これによって、投影部34Aは、原稿面54の4頂点の位置を、仮想領域75の4頂点の位置にずらす。
言い換えると、投影部34Aは、仮想三次元空間Sに仮配置した原稿面54を二次元空間に投影した二次元原稿面54Aを、設定された表示領域80にずらす。そして、投影部34Aは、表示領域80を仮想三次元空間Sに配置した仮想領域75の、4頂点の三次元座標を算出する。
そして、投影部34Aは、仮想三次元空間Sにおける仮想領域75の4頂点の三次元座標を、三次元原稿画像の4頂点の三次元座標として用いる。これによって、投影部34Aは、仮想三次元空間Sにおける、三次元座標によって示される仮想領域75の4頂点(すなわち、ずらした後の原稿面54の4頂点)の各々に、原稿画像の4頂点の各々が一致するように配置し、三次元原稿画像とする。
そして、投影部34Aは、この三次元原稿画像を、予め定めた視点位置Iから視認した二次元空間に投影し、二次元原稿画像とする。投影部34Aは、三次元原稿画像の4頂点の三次元座標に、投影行列Bを適用することによって、三次元原稿画像を二次元空間に投影し、二次元原稿画像を得る。そして、投影部34Aは、この二次元画像を、背景画像74上に重畳した重畳画像を、表示部20に表示する。
なお、背景画像74についてはOpenGLに描画させてもよいし、背景画像74の表示レイヤーを作成し、その上にOpenGL用の表示レイヤーを乗せ、原稿画像に相当する部分以外は透過することで、重畳してもよい。
図11は、画像処理部14による重畳画像82の表示処理の一連の流れの一例を示す模式図である。
まず、取得部22が背景画像74と原稿画像72を取得する(図11(A)、図11(B)参照)。また、受付部24が、光源情報を受け付ける。
そして、算出部30が、仮想三次元空間Sの予め定めた基準位置に仮配置した原稿面54の、三次元座標を算出する(図11(C)参照)。このとき、表示制御部34は、仮想三次元空間Sに仮配置した原稿面54を二次元空間に投影した二次元原稿面54Aを生成し、背景画像74上に重畳して表示部20へ表示してもよい。
次に、設定部26の検出部26Aが、背景画像74に含まれる複数の直線L(直線L1〜直線L17)を検出する(図11(D)参照)。表示制御部34の直線描画部34Bは、背景画像74に、検出部26Aで検出された直線(直線L1〜直線L17)を描画し、UI部19へ表示する。これによって、UI部19には、例えば、図11(D)に示す直線L(直線L1〜直線L17)を描画された背景画像74が表示される。
ユーザは、表示された直線L(直線L1〜直線L17)を参照しながら、UI部19を操作することで、背景画像74において遠近感を表し、且つ矩形領域を構成する4辺の各々を通る4本の直線L(例えば、直線L1〜直線L4)を選択する。
そして、管理部26Bは、受け付けた4本の直線(直線L1〜直線L4)を、基準直線LAとして設定する(図11(E)参照)。
算出部30は、4本の基準直線LA(直線L1〜直線L4)によって形成される、矩形状の領域である表示領域80を算出する(図11(E)参照)。すなわち、算出部30は、表示領域80の4つの頂点(頂点a、頂点b、頂点c、頂点d)の各々の二次元座標を特定することによって、表示領域80を算出する。
そして、算出部30は、仮想三次元空間Sに仮配置した原稿面54を二次元空間に投影した二次元原稿面54Aの位置を、背景画像74における表示領域80の位置へずらす(図11(E)、図11(F)参照)。そして、算出部30は、二次元空間における表示領域80に対応する、仮想三次元空間Sにおける仮想領域75を算出する(図11(G)参照)。
表示制御部34は、仮想三次元空間Sにおける仮想領域75に原稿画像72を配置した三次元原稿画像73を、視点位置Iから視認した二次元空間に投影する(図11(G)参照)。このとき、表示制御部34は、仮想光源Kによる光源効果を付与する。
これによって、表示制御部34は、三次元原稿画像73を二次元空間に投影した二次元原稿画像77を生成する(図11(H)参照)。そして、表示制御部34は、背景画像74上に二次元原稿画像77を重畳した重畳画像82を、表示部20へ表示する(図11(H)参照)。
このため、UI部19には、背景画像74において遠近感を表し且つ矩形領域を構成する4辺によって構成される表示領域80に、位置、形状、および大きさの全てが一致するように、原稿画像74の二次元原稿画像77が配置された重畳画像82が表示されることとなる。
このため、本実施の形態の画像処理装置10は、原稿画像72を、背景画像74中に示される遠近感を示す形態で容易に配置することができる。
ここで、表示部20に重畳画像82が表示されると、ユーザは、入力部18を操作することで、重畳画像82に含まれる二次元原稿画像77の位置を、表示部20の表示面上における任意の位置に移動させることが可能となる。
例えば、ユーザは、タッチパネルとして構成されたUI部19の画面を操作することで、表示されている二次元原稿画像77またはその周辺にタッチし、任意の移動先の位置にまでドラッグする。
受付部24は、ユーザによって二次元原稿画像77またはその周辺がタッチされると、UI部19から移動開始指示を示す移動開始情報を受け付ける。
また、受付部24は、ドラッグ中、新たな二次元座標が指定されるたびに、新たに指定された二次元座標を受け付ける。また、受付部24は、ユーザによるドラッグ操作が終了したときに、UI部19から、移動終了を示す移動終了情報を受け付ける。
算出部30は、ドラッグ中、新たな二次元座標が指定されるたびに、新たに指定された二次元原稿画像77の二次元座標を受け付ける。そして、算出部30は、受け付けた、二次元原稿画像77の二次元座標、すなわち、移動後の二次元座標によって示される二次元原稿画像77の領域に対応する、仮想三次元空間Sにおける仮想領域75を、上記と同様にして算出する。このため、ドラッグによる二次元原稿画像77のUI部19上での移動に応じて、算出部30は、移動中の二次元原稿画像77の二次元位置に対応する、仮想三次元空間Sにおける三次元位置を、新たな仮想領域75として算出する。
そして、表示制御部34は、新たな仮想領域75が算出される度に、算出された仮想領域75に原稿画像72を配置した三次元原稿画像73を二次元空間に投影し、上記と同様にして、重畳画像82を表示部20へ表示する。
具体的には、算出部30が、移動部30Hを備える(図6参照)。
例えば、表示制御部34は、UI部19に表示した重畳画像82に含まれる二次元原稿画像77のドラッグ操作がなされると、移動部30Hを起動する。なお、移動部30Hは、移動開始情報、ドラッグ中に指定された新たな二次元座標、および、移動終了情報を、入力部18から受付部24を介して受け付ける。
図12は、二次元原稿画像77の移動の説明図である。移動部30Hは、ドラッグ開始時の二次元座標を記憶する。また、移動部30Hは、設定部26から、移動前の二次元原稿画像77の4頂点の各々の二次元座標と、重心Pと、を求める(図12(B)参照)。
なお、移動部30Hは、重心Pに代えて、4頂点の何れか1頂点を求めても良いし、任意の1点でもよい。具体的には、任意の1点から、二次元原稿画像77の4頂点の各々のオブジェクト座標を算出可能な、該任意の1点であればよい。ここでは、制御が簡単な重心Pを利用する場合を説明する。
そして、移動部30Hは、ドラッグ開始時の二次元原稿画像77の重心Pの二次元座標を保持する。
次に、移動部30Hは、ユーザによるドラッグ操作中は、現座標(現在指示している二次元座標)からドラッグ開始時の二次元座標を差し引き、表示部20の表示面上における移動ベクトルを算出する。そして、移動部30Hは、算出した移動ベクトルを、ドラッグ開始時の重心Pに加算することで、現在の重心P’の二次元座標を算出する(図12(B)参照)。
次に、移動部30Hは、算出した現在の重心P’の位置に、算出部30が保持している射影行列Gを適用することで、仮想三次元空間Sにおける二次元原稿画像77の位置を算出する。なお、この算出時には、Z座標の値は0とする。これにより、二次元原稿画像77は、仮想三次元空間S内の、XY平面を、二次元原稿画像77Aの位置から二次元原稿画像77Bの位置へと移動することとなる(図12(C)参照)。
このため、表示制御部34による重畳画像82の表示時には、二次元原稿画像77がXY平面上を移動することとなる。ここで、二次元原稿画像77Aの位置から二次元原稿画像77Bの位置への移動を示す行列をTとする。移動部30Hは、第2の算出部30Cで算出された傾き・位置行列に、この行列Tを乗算した行列(RT×T)を、新たな傾き・位置行列として第4の算出部30Gおよび表示制御部34へ引き渡せばよい。なお、RTは、傾き・位置行列を示す。
また、算出部30は、この行列Tを利用して、二次元座標を算出し、新たな表示領域80(変更後の表示領域80)として、設定部26へ引き渡せばよい。
このように、ユーザは、プレビュー画像に含まれる二次元原稿画像77を、容易に移動させることができるので、仮想三次元空間Sに配置された仮想光源Kによる反射位置の変化を、容易に確認することができる。
なお、表示制御部34は、二次元原稿画像77の移動開始情報を受け付けたときに、重畳画像82における二次元原稿画像77の各々を延長した複数の補助線を算出することが好ましい。そして、表示制御部34は、移動開始情報を受け付けたときには、背景画像74と、二次元原稿画像77と、補助線と、を重畳した重畳画像82を、表示部20へ表示することが好ましい。
このため、本実施の形態では、画像処理部14は、補助線算出部28を更に備えることが好ましい(図2参照)。また、表示制御部34は、補助線描画部34Cを備えることが好ましい。
図13は、補助線算出および補助線の描画の説明図である。
例えば、背景画像74上に二次元原稿画像77を重畳した重畳画像82が、UI部19へ表示されていたとする(図13(A)参照)。そして、ユーザによるUI部19の操作指示によって、二次元原稿画像77がタッチされると、二次元原稿画像77の移動開始指示を示す移動開始情報が、画像処理部14へ出力される。
画像処理部14の受付部24は、二次元原稿画像77の移動開始を示す移動開始情報を受け付ける。受付部24が移動開始情報を受け付けたときに、補助線算出部28は、重畳画像82における二次元原稿画像77の4辺の各々を延長した、複数の補助線AL(補助線AL1〜補助線AL4)を算出する(図13(B)参照)。なお、補助線ALの線種は限定されない。例えば、補助線ALの線種は、単線、グリッド線などである。
なお、補助線ALの各々の両端部は、背景画像74の外枠に接する。
例えば、補助線算出部28は、表示されている二次元原稿画像77の4つの頂点の各々の二次元座標から算出すればよい。例えば、二次元平面が、UI部19の矩形状の表示面の4頂点の内の1頂点を原点Oとする二次元平面(XY平面)であると仮定する。そして、二次元原稿画像77の4つの頂点(頂点h、頂点i、頂点j、頂点k)の各々の二次元座標が、各々、(X1,Y2)、(X1,Y1)、(X2,Y1)、(X2、Y2)であったと仮定する。なお、Z1<X2、かつ、Y1<Y2の関係であるとする。
この場合、補助線算出部28は、頂点hと頂点kとを通る直線であって、UI部19の表示面の二次元座標がX=0の位置を直線の始点とし、二次元座標がX=3の位置を直線の終点とする、補助線AL(補助線AL3参照)を算出する。同様にして、補助線算出部28は、補助線AL1、補助線AL2、および、補助線AL4を算出する。
このようにして、補助線算出部28は、重畳画像82における二次元原稿画像77の4辺の各々を延長した、複数の補助線AL(補助線AL1〜補助線AL4)を算出する。
そして、表示制御部34の補助線描画部34Cは、補助線算出部28で算出した補助線AL(補助線AL1〜補助線AL4)を、更に重畳した重畳画像82を生成し、UI部19へ表示する。
このためユーザによるUI部19の操作指示によって二次元原稿画像77の移動が指示されたときに、UI部19には、表示されている二次元原稿画像77の4辺の各々を延長した4本の補助線AL(補助線AL1〜補助線AL4)が表示される。
ここで、ユーザによるUI部19の操作指示によって、二次元原稿画像77の移動が指示されていない状態では、UI部19に表示されている二次元原稿画像77は、背景画像74に示される遠近感を示す直線L(基準直線LA)に沿った4辺の画像である。
このため、二次元原稿画像77に補助線ALを描画して表示することによって、ユーザは、背景画像74に示される遠近感を損なわない形で、二次元原稿画像77を背景画像74中で移動させることが可能となる(図13(D)参照)。
なお、表示制御部34は、受付部24が二次元原稿画像77の移動開始情報を受け付けてから移動終了情報を受け付けるまでの期間、背景画像74と、二次元原稿画像77と、該二次元原稿画像77の補助線ALと、を重畳した重畳画像82を、UI部19へ表示することが好ましい。
これによって、画像処理装置10は、背景画像74に示される遠近感を損なわない形態を維持したまま、ユーザによる移動指示に応じた位置に、二次元原稿画像77を背景画像74内で移動させることができる。
また、表示制御部34は、透過制御部34Eを含むことが好ましい。透過制御部34Eは、移動開始情報を受け付けてから移動終了情報を受け付けるまでの期間、二次元原稿画像77の透過度を背景画像74より高い透過度に調整する。透過制御部34Eは、第1の調整部に相当する。
透過制御部34Eは、例えば、二次元原稿画像77に半透過効果を付加することによって、背景画像74より高い透過度に調整する。半透過効果は、アルファブレンドを適用する既知の技術によって実現する。なお、半透過効果を付加する時に、OpenCVなどの画像処理エンジンを活用してもよい。
また、表示制御部34は、ぼかし制御部34Fを含むことが好ましい。ぼかし制御部34Fは、背景画像74における消失点VPに近いほど、二次元原稿画像77の解像度を背景画像74より低解像度に調整する。これによって、表示制御部34は、背景画像74における消失点VPに近い位置に配置されるほど、二次元原稿画像77を、よりぼかした形態で表示することができる(図13(D)参照)。
例えば、ぼかし制御部34Fは、既知のガウス関数を利用してぼかし効果をかけるGaussianフィルターを、OpenGLなどのグラフィックスエンジンを活用してフラグメントシェーダに適用することで、二次元原稿画像77の解像度を調整すればよい。
このように、本実施の形態の画像処理部14は、ユーザによるUI部19の操作指示によって二次元原稿画像77の移動が指示されたときに、UI部19には、表示されている二次元原稿画像77の4辺の各々を延長した4本の補助線AL(補助線AL1〜補助線AL4)が表示される。
図14は、補助線ALが表示されることによる効果の説明図である。
補助線ALの表示は、背景画像74における、基準直線LAによって構成される表示領域80の位置と、ユーザが原稿画像72を配置したい位置と、が異なる場合に、特に有効である。
例えば、図14(A)に示すように、基準直線LAによって構成される表示領域80の位置が、背景画像74に含まれる標識の領域74Aであったとする。上述したように、基準直線LAは、背景画像74において遠近感を表す直線Lであることから、表示領域80と一致するように二次元原稿画像77が配置されると、遠近感を示す形態で二次元原稿画像77を配置することができる。
しかし、ユーザが二次元原稿画像77を配置したい領域が、標識の領域74Aではなく、背景画像74に含まれる建物の領域74Bであったとする。このような場合、ユーザが、UI部19における、二次元原稿画像77の表示された領域をタッチすると、UI部19から画像処理部14へ移動開始指示が出力される。
このため、画像処理部14は、二次元原稿画像77の4辺を延長した補助線AL(補助線AL1〜補助線AL4)を更に重畳した重畳画像82を、UI部19へ表示する(図14(C)参照)。
このため、ユーザは、表示された補助線ALを参照しながら、二次元原稿画像77の表示位置を移動させることで、背景画像74に示される遠近感を示す形状を維持しながら、二次元原稿画像77の表示位置を他の位置(例えば、建物の領域74B)へ移動させることができる。
なお、表示制御部34は、二次元原稿画像77の移動や変形時に、二次元原稿画像77を構成する4辺の各々を通る補助線ALの内、遠近感を示す基準直線LAと平行関係を維持している補助線ALの表示形態を、該平行関係を維持していない補助線ALとは異なる表示形態とすることが好ましい。異なる表示形態とは、線種、色、メッセージ画像の重畳表示、の少なくとも1つを示す。
これによって、画像処理装置10は、ユーザに対して、二次元原稿画像77の4辺の各々が、背景画像74において遠近感を示す直線L(基準直線LA)と平行関係を維持しているか否かを、容易に提示することができる。
また、二次元原稿画像77の移動時には、二次元原稿画像77の透過度を背景画像74より低透過度とすることができる。このため、ユーザは、背景画像74に含まれる基準直線LAの位置や傾きなどを確認しながら、背景画像74に示される遠近感を維持した形態で、二次元原稿画像77を容易に移動・変形することが可能となる。
次に、画像処理部14で実行する、重畳画像82の表示処理の手順を説明する。図15は、画像処理部14で実行する、重畳画像82の表示処理の手順の一例を示す、シーケンス図である。
まず、取得部22が、背景画像74と、原稿画像72と、を取得する(SEQ100)。そして、取得部22は、背景画像74および原稿画像72を記憶部16へ記憶する(SEQ102)。
次に、受付部24が、光源情報を受け付け(SEQ104)、記憶部16へ記憶する(SEQ106)。
次に、取得部22は、記憶部16から、背景画像74、原稿画像72、および光源情報を取得する(SEQ108、SEQ110、SEQ112、SEQ114)。
そして、算出部30が、原稿画像72を用いて、仮想三次元空間Sの予め定めた基準位置に仮配置した原稿面54の、三次元座標を算出する(SEQ116、SEQ118)。
次に、検出部26Aが、背景画像74に含まれる複数の直線L(直線L1〜直線L17)を検出する(SEQ120)。そして、検出部26Aは、検出した直線Lを、直線描画部34Bへ出力する(SEQ122)。
直線描画部34Bは、背景画像74に、検出部26Aで検出された直線(直線L1〜直線L17)を描画し(SEQ124)、UI部19へ表示する(SEQ126、SEQ128)。これによって、UI部19には、背景画像74上に直線L(直線L1〜直線L17)が表示される。
ユーザは、表示された直線L(直線L1〜直線L17)を参照しながら、UI部19を操作することで、背景画像74において遠近感を表し、且つ矩形領域を構成する4辺の各々を通る4本の直線L(直線L1〜直線L4)を選択する。
管理部26Bは、ユーザによる直線Lの選択を、受付部24を介してUI部19から受け付ける(SEQ130、SEQ132)。そして、管理部26Bは、受け付けた4本の直線(直線L1〜直線L4)を、基準直線LAとして設定する(SEQ134)。
算出部30は、4本の基準直線LA(直線L1〜直線L4)によって形成される、二次元空間における矩形状の領域である表示領域80を算出する。すなわち、算出部30は、表示領域80の4つの頂点の各々の二次元座標を特定する。そして、算出部30は、二次元空間における表示領域80に対応する、仮想三次元空間Sにおける仮想領域75を算出する(SEQ136、SEQ138)。そして、算出部30は、仮想領域75の三次元位置を示す情報を、投影部34Aへ出力する(SEQ140)。
表示制御部34は、仮想三次元空間Sにおける仮想領域75に原稿画像を配置する(SEQ142)。光源反射制御部34Dは、仮想領域75に原稿画像を配置することで得られる三次元原稿画像73に、仮想光源Kによる光源効果を光源情報に応じて付与する(SEQ144、SEQ146)。
投影部34Aは、三次元原稿画像73を、視点位置Iから視認した二次元空間に投影する(SEQ148)。そして、投影部34Aは、背景画像74に、三次元原稿画像73を投影することで得られる二次元原稿画像77を重畳し、重畳画像82をUI部19へ表示する(SEQ150、SEQ152)。
次に、二次元原稿画像77の移動開始指示を示す移動開始情報を受け付けたときに、画像処理部14が実行する処理を説明する。図16は、画像処理部14で実行する、二次元原稿画像77の移動処理の手順の一例を示す、シーケンス図である。
まず、ユーザによって、UI部19に表示された重畳画像82における二次元原稿画像77またはその周辺がタッチされると、受付部24は、UI部19から移動開始指示を示す移動開始情報を受け付ける(SEQ200、SEQ202)。
補助線算出部28は、受付部24が移動開始情報を受け付けたときに、重畳画像82における二次元原稿画像77の4辺の各々を延長した、複数の補助線AL(補助線AL1〜補助線AL4)を算出する(SEQ204)。そして、補助線算出部28は、算出した補助線ALの補助線情報を、補助線描画部34Cへ出力する(SEQ206)。
補助線描画部34Cは、背景画像74上に、二次元原稿画像77、および、補助線算出部28から受け付けた補助線情報によって示される補助線AL(補助線AL1〜補助線AL4)をこの順に重畳した重畳画像82を生成し(SEQ208)、UI部19へ表示する(SEQ210、SEQ212)。
次に、透過制御部34Eが、二次元原稿画像77の透過度を背景画像74より高い透過度に調整する(SEQ214、SEQ216)。投影部34Aは、背景画像74上に、透過制御部34Eによって透過度を変更された背景画像74と、補助線描画部34Cで描画された補助線ALと、をこの順に重畳した重畳画像82を、UI部19へ表示する(SEQ218、SEQ220、SEQ222、SEQ224)。
受付部24は、ドラッグ中、新たな二次元座標が指定されるたびに、新たに指定された二次元座標を受け付ける(SEQ226、SEQ228)。
算出部30は、ドラッグ中、新たな二次元座標が指定されるたびに、新たに指定された二次元原稿画像77の二次元座標を受け付ける。そして、算出部30は、受け付けた、二次元原稿画像77の二次元座標、すなわち、移動後の二次元座標によって示される二次元原稿画像77の領域に対応する、仮想三次元空間Sにおける仮想領域75を算出する。このため、ドラッグによる二次元原稿画像77のUI部19上での移動に応じて、算出部30は、移動中の二次元原稿画像77の二次元位置に対応する、仮想三次元空間Sにおける三次元位置を、新たな仮想領域75として算出する(SEQ230)。
算出部30は、仮想領域75の三次元位置を示す情報を、投影部34Aへ出力する(SEQ232)。
投影部34Aは、新たな仮想領域75が算出される度に、算出された仮想領域75に原稿画像を配置する(SEQ234)。光源反射制御部34Dは、仮想領域75に原稿画像を配置することで得られる三次元原稿画像73に、仮想光源Kによる光源効果を光源情報に応じて付与する(SEQ236、SEQ238)。
ぼかし制御部34Fは、背景画像74における消失点VPに近いほど、二次元原稿画像77の解像度を背景画像74より低解像度に調整する(SEQ240、SEQ242)。
投影部34Aは、光源効果が付加され、解像度を調整された三次元原稿画像73を、視点位置Iから視認した二次元空間に投影する(SEQ244)。そして、投影部34Aは、背景画像74に、三次元原稿画像73を投影することで得られる二次元原稿画像77を重畳し、重畳画像82をUI部19へ表示する(SEQ246、SEQ248、SEQ250)。
なお、受付部24は、ユーザによるドラッグ操作が終了したときに、UI部19から、移動終了を示す移動終了情報を受け付ける。この場合、表示制御部34は、補助線ALの描画を行わず、且つぼかし制御部34Fによる二次元原稿画像77の低解像度化を行わない以外は、SEQ226〜SEQ248と同様の処理を行えばよい。
次に画像処理部14が実行する、画像処理の手順を説明する。図17は、画像処理部14が実行する画像処理の手順の一例を示すフローチャートである。
まず、取得部22が、背景画像74と、原稿画像72と、光源情報と、を取得する(ステップS300)。
次に、検出部26Aが、背景画像74に含まれる複数の直線Lを検出する(ステップS302)。
次に、直線描画部34Bが、ステップS302で検出した複数の直線(直線L1〜直線L17)を背景画像74に描画し、UI部19へ表示する(ステップS304)。
次に、管理部26Bが、UI部19から受付部24を介して、背景画像74において遠近感を表し且つ矩形領域を構成する4本の直線L(直線L1〜直線L4)を示す情報を受け付けるまで、否定判断を繰り返す(ステップS306:No)。そして、管理部26Bは、該4本の直線Lを示す情報を受け付けると(ステップS306:Yes)、ステップS308へ進む。
管理部26Bは、ステップS306で受け付けた4本の直線(直線L1〜直線L4)を、基準直線LAとして設定する(ステップS308)。
次に、算出部30が、ステップS308で設定した4本の基準直線LAの4つの交点の各々を頂点とする表示領域80に対応する、仮想三次元空間Sにおける仮想領域75を算出する(ステップS310)。
次に、表示制御部34が、仮想三次元空間Sにおける、ステップS310で算出された仮想領域75に原稿画像72を配置して三次元原稿画像73とする。そして、表示制御部34は、この三次元原稿画像73を、予め定めた視点位置Iから視認した二次元空間に投影して二次元原稿画像77とする(ステップS312)。さらに、表示制御部34は、背景画像74上に二次元原稿画像77を重畳した重畳画像82を、UI部19に表示する(ステップS314)。
次に、受付部24が、移動開始情報をUI部19から受け付けたか否かを判断する(ステップS316)。ステップS316で否定判断すると(ステップS316:No)、後述するステップS336へ進む。
一方、ステップS316で肯定判断すると(ステップS316:Yes)、ステップS318へ進む。
ステップS318では、補助線算出部28は、UI部19に表示されている重畳画像82における二次元原稿画像77の4辺の各々を延長した、複数の補助線AL(補助線AL1〜補助線AL4)を算出する(ステップS318)。
次に、補助線描画部34Cが、ステップS318で算出した補助線AL(補助線AL1〜補助線AL4)を、二次元原稿画像77上に描画する(ステップS320)。
次に、透過制御部34Eが、UI部19に表示されている重畳画像82における二次元原稿画像77を、該重畳画像82に含まれる背景画像74より高い透過度に調整する(ステップS322)。このため、二次元原稿画像77は、例えば、半透明に調整される。
次に、ぼかし制御部34Fが、受付部24で受け付けた、二次元原稿画像77の新たな二次元座標を用いて、背景画像74における消失点VPに近いほど、二次元原稿画像77の解像度を背景画像74より低解像度に調整する(ステップS324)。
次に、算出部30が、受付部24で受け付けた、二次元原稿画像77の新たな二次元座標に対応する、仮想三次元空間Sにおける三次元位置を算出する(ステップS326)。ステップS326の処理によって、算出部30は、移動後の二次元位置の二次元原稿画像77に対応する、仮想三次元空間Sにおける仮想領域75を算出する。
そして、投影部34Aは、ステップS326で算出された三次元位置の仮想領域75に原稿画像72を配置した三次元原稿画像73を二次元空間に投影し、二次元原稿画像77を得る(ステップS328)。
そして、投影部34Aは、背景画像74に、ステップS322およびステップS324で透過度および解像度を調整され、ステップS328の処理によって移動した二次元原稿画像77と、ステップS318で算出した補助線ALと、を重畳した重畳画像82を、UI部19へ表示する(ステップS330)。
次に、受付部24が、移動終了情報を受け付けたか否かを判断する(ステップS332)。ステップS332で否定判断すると(ステップS332:No)、上記ステップS316へ戻る。
ステップS332で肯定判断すると(ステップS332:Yes)、ステップS334へ進む。ステップS334では、表示制御部34は、ステップS320で描画された補助線ALと、ステップS322で調整された透過度と、を解除する(ステップS334)。すなわち、ステップS334では、表示制御部34は、背景画像74への補助線ALの描画を解除する。また、ステップS334では、表示制御部34は、二次元原稿画像77の透過度を、ステップS322の調整前の透過度に戻す。
このため、UI部19には、移動開始情報を受け付けてから移動終了情報を受け付けるまでの期間、補助線ALを含む重畳画像82が表示される。また、UI部19には、移動開始情報を受け付けてから移動終了情報を受け付けるまでの期間、背景画像74より透過度を高くした(例えば、半透明とした)二次元原稿画像77が表示される。
次に、ステップS336では、画像処理部14が、重畳画像82の表示処理を終了するか否かを判断する(ステップS336)。例えば、画像処理部14の受付部24が、表示終了を示す指示情報をUI部19から受け付けたか否かを判別することで、ステップS336の判断を行う。
ステップS336で否定判断すると(ステップS336:No)、上記ステップS314へ戻る。一方、ステップS336で肯定判断すると(ステップS336:Yes)、本ルーチンを終了する。
以上説明したように、本実施の形態の画像処理装置10は、取得部22と、設定部26と、算出部30と、表示制御部34と、を備える。取得部22は、背景画像74と原稿画像72とを取得する。設定部26は、背景画像74に含まれる複数の直線Lの内、背景画像74において遠近感を表し、且つ、背景画像74において矩形領域を構成する4辺の各々を通る4本の直線Lを、基準直線LAとして設定する。算出部30は、背景画像74における4本の基準直線LAを4辺とする矩形状の表示領域80に対応する、仮想三次元空間Sにおける仮想領域75を算出する。表示制御部34は、背景画像74と、仮想領域75に原稿画像72を配置した三次元原稿画像73を、予め定めた視点位置Iから視認した二次元空間に投影した二次元原稿画像77と、を重畳した重畳画像82を、表示部20に表示する。
このように、本実施の形態の画像処理装置10では、背景画像74において遠近感を表し且つ矩形領域を構成する4辺によって構成される表示領域80に、位置、形状、および大きさの全てが一致するように、原稿画像74の二次元原稿画像77を配置する。
従って、本実施の形態の画像処理装置10は、原稿画像72を、背景画像74中に示される遠近感を示す形態で容易に配置することができる。
また、表示制御部34は、背景画像74と、仮想領域75の4頂点の各々に、矩形状の原稿画像72の4頂点の各々が一致するように、仮想領域75に原稿画像72を配置した三次元原稿画像73を二次元空間に投影した二次元原稿画像77と、を重畳した重畳画像82を、表示部20に表示することができる。
また、本実施の形態の画像処理装置10は、受付部24と、補助線算出部28と、を更に備えていてもよい。受付部24は、二次元原稿画像77の移動開始を示す移動開始情報を受け付ける。補助線算出部28は、移動開始情報を受け付けたときに、重畳画像82における二次元原稿画像77の4辺の各々を延長した複数の補助線ALを算出する。表示制御部34は、移動開始情報を受け付けたときに、背景画像74と、二次元原稿画像77と、複数の補助線ALと、を重畳した重畳画像82表示部20に表示する。
また、受付部24は、二次元原稿画像77の移動終了を示す移動終了情報を受け付けることができる。表示制御部34は、移動開始情報を受け付けてから移動終了情報を受け付けるまでの期間、背景画像74と、二次元原稿画像77と、複数の補助線ALと、を重畳した重畳画像82を表示部20に表示する。
表示制御部34は、移動開始情報を受け付けてから移動終了情報を受け付けるまでの期間、二次元原稿画像77の透過度を背景画像74より高い透過度に調整する第1の調整部(透過制御部34E)を含むことが好ましい。
表示制御部34は、背景画像74における消失点VPに近いほど二次元原稿画像77の解像度を背景画像74より低解像度に調整する第2の調整部(ぼかし制御部34F)を含むことが好ましい。
算出部30は、原稿画像72を仮想三次元空間Sの予め定めた基準位置に仮配置した原稿面54を表示部20の表示面上における二次元空間に射影する射影行列と、表示領域80の二次元座標と、原稿画像72と、を用いて、仮想三次元空間Sにおける仮想領域75の三次元座標を算出する。また、表示制御部34は、算出された該三次元座標に原稿画像72を配置した三次元原稿画像73を、視点位置Iから視認した二次元空間に投影した二次元原稿画像77と、を重畳した重畳画像82を、表示部20に表示する。
次に、上述した画像処理装置10のハードウェア構成について説明する。
図18は、画像処理装置10のハードウェア構成図である。画像処理装置10は、ハードウェア構成として、装置全体を制御するCPU400と、各種データや各種プログラムを記憶するROM402と、各種データや各種プログラムを記憶するRAM404と、各種データ記憶するHDD(ハードディスクドライブ)406と、I/F(インターフェイス)部408と、がバス410を介して接続された構成である。
I/F部408には、撮影部、入力機能と表示機能を備えたタッチパネル等のUI部、などが接続されている。
上記実施の形態の画像処理装置10で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
また、上記実施の形態の画像処理装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態の画像処理装置10で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、上記実施の形態の画像処理装置10で実行されるプログラムを、ROM402等に予め組み込んで提供するように構成してもよい。
上記実施の形態の画像処理装置10で実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU400が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
なお、本発明は上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。また、種々の変形が可能である。
10 画像処理装置
14 画像処理部
22 取得部
24 受付部
26 設定部
28 補助線算出部
30 算出部
34 表示制御部
14 画像処理部
22 取得部
24 受付部
26 設定部
28 補助線算出部
30 算出部
34 表示制御部
Claims (9)
- 背景画像と原稿画像とを取得する取得部と、
前記背景画像に含まれる複数の直線の内、前記背景画像において遠近感を表し、且つ、前記背景画像において矩形領域を構成する4辺の各々を通る4本の直線を、基準直線として設定する設定部と、
前記背景画像における4本の前記基準直線を4辺とする矩形状の表示領域に対応する、仮想三次元空間における仮想領域を算出する算出部と、
前記背景画像と、前記仮想領域に前記原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像を、表示部に表示する表示制御部と、
を備える画像処理装置。 - 前記表示制御部は、前記背景画像と、前記仮想領域の4頂点の各々に、矩形状の前記原稿画像の4頂点の各々が一致するように、前記仮想領域に前記原稿画像を配置した前記三次元原稿画像を二次元空間に投影した前記二次元原稿画像と、を重畳した前記重畳画像を、前記表示部に表示する、請求項1に記載の画像処理装置。
- 前記二次元原稿画像の移動開始を示す移動開始情報を受け付ける受付部と、
前記移動開始情報を受け付けたときに、前記重畳画像における前記二次元原稿画像の4辺の各々を延長した複数の補助線を算出する補助線算出部と、
を備え、
前記表示制御部は、前記移動開始情報を受け付けたときに、前記背景画像と、前記二次元原稿画像と、複数の前記補助線と、を重畳した前記重畳画像を前記表示部に表示する、
請求項1または請求項2に記載の画像処理装置。 - 前記受付部は、前記二次元原稿画像の移動終了を示す移動終了情報を受け付け、
前記表示制御部は、前記移動開始情報を受け付けてから前記移動終了情報を受け付けるまでの期間、前記背景画像と、前記二次元原稿画像と、複数の前記補助線と、を重畳した前記重畳画像を前記表示部に表示する、
請求項3に記載の画像処理装置。 - 前記表示制御部は、
前記移動開始情報を受け付けてから前記移動終了情報を受け付けるまでの期間、前記二次元原稿画像の透過度を前記背景画像より高い透過度に調整する第1の調整部を含む、
請求項4に記載の画像処理装置。 - 前記表示制御部は、
前記背景画像における消失点に近いほど前記二次元原稿画像の解像度を前記背景画像より低解像度に調整する第2の調整部を含む、
請求項1〜請求項5の何れか1項に記載の画像処理装置。 - 前記算出部は、
前記原稿画像を仮想三次元空間の予め定めた基準位置に仮配置した原稿面を前記表示部の表示面上における二次元空間に射影する射影行列と、前記表示領域の二次元座標と、前記原稿画像と、を用いて、仮想三次元空間における前記仮想領域の三次元座標を算出し、
前記表示制御部は、
前記背景画像と、算出された該三次元座標に前記原稿画像を配置した前記三次元原稿画像を、前記視点位置から視認した二次元空間に投影した前記二次元原稿画像と、を重畳した前記重畳画像を、前記表示部に表示する、
請求項1〜請求項5の何れか1項に記載の画像処理装置。 - 背景画像に含まれる複数の直線の内、前記背景画像において遠近感を表し、且つ、前記背景画像において矩形領域を構成する4辺の各々を通る4本の直線を、基準直線として設定するステップと、
前記背景画像における4本の前記基準直線を4辺とする矩形状の表示領域に対応する、仮想三次元空間における仮想領域を算出するステップと、
前記背景画像と、前記仮想領域に原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像を、表示部に表示するステップと、
を含む、画像処理方法。 - 背景画像に含まれる複数の直線の内、前記背景画像において遠近感を表し、且つ、前記背景画像において矩形領域を構成する4辺の各々を通る4本の直線を、基準直線として設定するステップと、
前記背景画像における4本の前記基準直線を4辺とする矩形状の表示領域に対応する、仮想三次元空間における仮想領域を算出するステップと、
前記背景画像と、前記仮想領域に原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像を、表示部に表示するステップと、
をコンピュータに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015184216A JP2017059041A (ja) | 2015-09-17 | 2015-09-17 | 画像処理装置、画像処理方法、およびプログラム |
US15/263,583 US10573072B2 (en) | 2015-09-17 | 2016-09-13 | Image processing device, image processing method, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015184216A JP2017059041A (ja) | 2015-09-17 | 2015-09-17 | 画像処理装置、画像処理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017059041A true JP2017059041A (ja) | 2017-03-23 |
Family
ID=58282791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015184216A Pending JP2017059041A (ja) | 2015-09-17 | 2015-09-17 | 画像処理装置、画像処理方法、およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10573072B2 (ja) |
JP (1) | JP2017059041A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113302666A (zh) * | 2019-01-15 | 2021-08-24 | 脸谱公司 | 识别人工现实系统中的平面 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6780315B2 (ja) * | 2016-06-22 | 2020-11-04 | カシオ計算機株式会社 | 投影装置、投影システム、投影方法及びプログラム |
US10776973B2 (en) * | 2018-05-07 | 2020-09-15 | Adobe Inc. | Vanishing point computation for single vanishing point images |
KR20220022340A (ko) * | 2020-08-18 | 2022-02-25 | 삼성전자주식회사 | 컨텐츠를 시각화하는 장치 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000057377A (ja) * | 1998-06-02 | 2000-02-25 | Sony Corp | 画像処理装置および画像処理方法、並びに媒体 |
JP2004246510A (ja) * | 2003-02-12 | 2004-09-02 | Matsushita Electric Works Ltd | 建築画像における画像張り替え方法 |
JP2005182833A (ja) * | 1996-11-27 | 2005-07-07 | Fujitsu Ltd | 撮影パラメータ測定方法及び装置並びに記録媒体 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3406965B2 (ja) * | 2000-11-24 | 2003-05-19 | キヤノン株式会社 | 複合現実感提示装置及びその制御方法 |
JP2003248843A (ja) | 2002-12-24 | 2003-09-05 | Fujitsu Ltd | 仮想3次元空間内における物体編集制御方式 |
JP4956375B2 (ja) * | 2007-10-30 | 2012-06-20 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
US20140375684A1 (en) * | 2013-02-17 | 2014-12-25 | Cherif Atia Algreatly | Augmented Reality Technology |
JP6488591B2 (ja) | 2014-08-27 | 2019-03-27 | 株式会社リコー | 画像処理装置、画像処理方法、及びプログラム |
US9754419B2 (en) * | 2014-11-16 | 2017-09-05 | Eonite Perception Inc. | Systems and methods for augmented reality preparation, processing, and application |
US10740971B2 (en) * | 2015-01-20 | 2020-08-11 | Microsoft Technology Licensing, Llc | Augmented reality field of view object follower |
US9704298B2 (en) * | 2015-06-23 | 2017-07-11 | Paofit Holdings Pte Ltd. | Systems and methods for generating 360 degree mixed reality environments |
WO2017142977A1 (en) * | 2016-02-15 | 2017-08-24 | Meta Company | Apparatuses, methods and systems for tethering 3-d virtual elements to digital content |
US10482663B2 (en) * | 2016-03-29 | 2019-11-19 | Microsoft Technology Licensing, Llc | Virtual cues for augmented-reality pose alignment |
-
2015
- 2015-09-17 JP JP2015184216A patent/JP2017059041A/ja active Pending
-
2016
- 2016-09-13 US US15/263,583 patent/US10573072B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005182833A (ja) * | 1996-11-27 | 2005-07-07 | Fujitsu Ltd | 撮影パラメータ測定方法及び装置並びに記録媒体 |
JP2000057377A (ja) * | 1998-06-02 | 2000-02-25 | Sony Corp | 画像処理装置および画像処理方法、並びに媒体 |
JP2004246510A (ja) * | 2003-02-12 | 2004-09-02 | Matsushita Electric Works Ltd | 建築画像における画像張り替え方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113302666A (zh) * | 2019-01-15 | 2021-08-24 | 脸谱公司 | 识别人工现实系统中的平面 |
JP2022520517A (ja) * | 2019-01-15 | 2022-03-31 | メタ プラットフォームズ, インク. | 人工現実システムにおいて平面を識別すること |
JP7282175B2 (ja) | 2019-01-15 | 2023-05-26 | メタ プラットフォームズ, インク. | 人工現実システムにおいて平面を識別すること |
Also Published As
Publication number | Publication date |
---|---|
US20170084081A1 (en) | 2017-03-23 |
US10573072B2 (en) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6488591B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
US9459820B2 (en) | Display processing apparatus, display processing method, and computer program product | |
KR102539427B1 (ko) | 화상 처리장치, 화상 처리방법, 및 기억매체 | |
JP2009080578A (ja) | 多視点データ生成装置、方法及びプログラム | |
JP2018180654A (ja) | 情報処理装置、画像生成方法及びプログラム | |
KR102279300B1 (ko) | 가상 물체 표시 제어 장치, 가상 물체 표시 시스템, 가상 물체 표시 제어 방법, 및 가상 물체 표시 제어 프로그램 | |
JP6380685B2 (ja) | 寸法計測装置 | |
JP2017059041A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
US10810776B2 (en) | Image processing device and image processing method | |
JP2020173529A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN114450713A (zh) | 信息处理装置、视频生成方法和程序 | |
JP6028527B2 (ja) | 表示処理装置、表示処理方法、及びプログラム | |
JP6852295B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
JP2019146155A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2011039801A (ja) | 画像処理装置および画像処理方法 | |
RU2735066C1 (ru) | Способ отображения широкоформатного объекта дополненной реальности | |
JP2004030408A (ja) | 三次元画像表示装置及び表示方法 | |
CN104933746B (zh) | 一种为平面图片设置动态阴影的方法及装置 | |
CN114066715A (zh) | 图像风格迁移方法、装置、电子设备以及存储介质 | |
JP2008084338A (ja) | 擬似的3次元画像生成装置、擬似的3次元画像生成方法及び擬似的3次元画像生成プログラム | |
JP6698971B2 (ja) | 仮想物体表示制御装置、仮想物体表示システム、仮想物体表示制御方法、及び仮想物体表示制御プログラム | |
JP2011198138A (ja) | 漫画作成支援装置、漫画作成支援方法およびプログラム | |
JP6371547B2 (ja) | 画像処理装置、方法、および、プログラム | |
WO2019163449A1 (ja) | 画像処理装置、画像処理方法およびプログラム | |
US6633291B1 (en) | Method and apparatus for displaying an image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190903 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20191203 |