[go: up one dir, main page]

JP2017059042A - Image processing apparatus, image processing method, and program - Google Patents

Image processing apparatus, image processing method, and program Download PDF

Info

Publication number
JP2017059042A
JP2017059042A JP2015184228A JP2015184228A JP2017059042A JP 2017059042 A JP2017059042 A JP 2017059042A JP 2015184228 A JP2015184228 A JP 2015184228A JP 2015184228 A JP2015184228 A JP 2015184228A JP 2017059042 A JP2017059042 A JP 2017059042A
Authority
JP
Japan
Prior art keywords
image
virtual
unit
dimensional
shape
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
JP2015184228A
Other languages
Japanese (ja)
Inventor
洋俊 奥村
Hirotoshi Okumura
洋俊 奥村
吉田 浩之
Hiroyuki Yoshida
浩之 吉田
岡本 拓也
Takuya Okamoto
拓也 岡本
智義 竹内
Tomoyoshi Takeuchi
智義 竹内
祐貴 河田
Yuki Kawada
祐貴 河田
里江子 石原
Rieko Ishihara
里江子 石原
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015184228A priority Critical patent/JP2017059042A/en
Publication of JP2017059042A publication Critical patent/JP2017059042A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

PROBLEM TO BE SOLVED: To easily provide an image indicating a state in which a virtual object is pasted to a virtual three-dimensional object of an optional shape.SOLUTION: An obtaining portion 14D obtains bending shape information which indicates a bending shape of a virtual object disposed in a virtual three-dimensional space, with two-dimensional coordinates indicating a display surface of a display portion 20. A shape calculating portion 14E calculates a three-dimensional shape of a virtual three-dimensional object indicating a pasted subject of the virtual object. A setting portion 14P sets an expansion area larger than the virtual object, in at least a part of a surface of the virtual three-dimensional object. A first generating portion 14Q generates an expansion area image projecting the expansion area in a two-dimensional space. A second generating portion 14R generates an object image projecting the virtual object pasted in the expansion area of the surface of the virtual three-dimensional object, in the two-dimentional space. A display control portion 14H displays a superimposed image superimposing the expansion area image and the object image on a background image in this order, in the display portion 20.SELECTED DRAWING: Figure 4

Description

本発明は、画像処理装置、画像処理方法、およびプログラムに関する。   The present invention relates to an image processing device, an image processing method, and a program.

現実空間の事象に対してコンピュータによる情報を付加する拡張現実(AR:Augmented Reality)技術が知られている。AR技術として、カメラで撮影した背景画像上に仮想オブジェクトを合成して表示する技術も開示されている。   Augmented reality (AR) technology for adding information by a computer to an event in a real space is known. As an AR technique, a technique is disclosed in which a virtual object is synthesized and displayed on a background image taken by a camera.

また、仮想物体の立体形状を示す三次元データを用意し、用意した仮想立体物の表面に繊維シートを貼り付けたものを、所定の視点から観察した投影画像を、生成する技術が開示されている(例えば、特許文献1参照)。   In addition, a technique is disclosed in which three-dimensional data indicating a three-dimensional shape of a virtual object is prepared, and a projection image is generated by observing a fiber sheet attached to the surface of the prepared virtual three-dimensional object from a predetermined viewpoint. (For example, refer to Patent Document 1).

しかし、従来では、繊維シートなどの仮想オブジェクトを貼り付ける三次元データを別途用意する必要があり、仮想オブジェクトを任意の形状の仮想立体物に貼り付けた状態を示す画像を提供することは困難であった。   However, conventionally, it is necessary to separately prepare three-dimensional data for attaching a virtual object such as a fiber sheet, and it is difficult to provide an image showing a state in which the virtual object is attached to a virtual solid object having an arbitrary shape. there were.

上述した課題を解決し、目的を達成するために、本発明に係る画像処理装置は、仮想三次元空間に配置する仮想オブジェクトの曲げ形状を、表示部の表示面を表す二次元座標で表した、曲げ形状情報を取得する取得部と、前記曲げ形状情報に応じて、前記仮想オブジェクトの貼り付け対象を示す仮想立体物の三次元形状を算出する形状算出部と、前記仮想立体物の表面の少なくとも一部の領域に、前記仮想オブジェクトより広い拡張領域を設定する設定部と、前記拡張領域を二次元空間に射影した拡張領域画像を生成する第1の生成部と、前記仮想立体物の表面の前記拡張領域内に貼り付けた前記仮想オブジェクトを、前記二次元空間に射影したオブジェクト画像を生成する第2の生成部と、背景画像に前記拡張領域画像と前記オブジェクト画像とをこの順に重畳した重畳画像を、前記表示部へ表示する表示制御部と、を備える。   In order to solve the above-described problems and achieve the object, the image processing apparatus according to the present invention represents the bending shape of the virtual object arranged in the virtual three-dimensional space with two-dimensional coordinates representing the display surface of the display unit. An acquisition unit that acquires bending shape information, a shape calculation unit that calculates a three-dimensional shape of a virtual three-dimensional object indicating an object to which the virtual object is to be pasted, according to the bending shape information, and a surface of the virtual three-dimensional object A setting unit that sets an extension region wider than the virtual object in at least a part of the region; a first generation unit that generates an extension region image obtained by projecting the extension region into a two-dimensional space; and a surface of the virtual three-dimensional object A second generation unit that generates an object image obtained by projecting the virtual object pasted into the extension area into the two-dimensional space; and the extension area image and the object as a background image A superimposed image obtained by superimposing the image in this order, and a display control unit for displaying to the display unit.

本発明は、仮想オブジェクトを任意の形状の仮想立体物に貼り付けた状態を示す画像を容易に提供することができる、という効果を奏する。   The present invention has an effect that an image showing a state in which a virtual object is pasted on a virtual solid object having an arbitrary shape can be easily provided.

図1は、実施の形態の画像処理装置の模式図である。FIG. 1 is a schematic diagram of an image processing apparatus according to an embodiment. 図2は、画像処理装置の外観の概略図である。FIG. 2 is a schematic view of the appearance of the image processing apparatus. 図3は、表示処理の概要を示す図である。FIG. 3 is a diagram showing an overview of the display process. 図4は、画像処理装置の機能構成の一例を示すブロック図である。FIG. 4 is a block diagram illustrating an example of a functional configuration of the image processing apparatus. 図5は、重畳画像生成の説明図である。FIG. 5 is an explanatory diagram of superimposed image generation. 図6は、三次元形状算出の説明図である。FIG. 6 is an explanatory diagram for calculating a three-dimensional shape. 図7は、三次元形状算出の詳細な説明図である。FIG. 7 is a detailed explanatory diagram of the calculation of the three-dimensional shape. 図8は、曲げ方向の説明図である。FIG. 8 is an explanatory diagram of the bending direction. 図9は、オブジェクト画像の説明図である。FIG. 9 is an explanatory diagram of an object image. 図10は、拡張領域の説明図である。FIG. 10 is an explanatory diagram of the extended area. 図11は、重畳画像の一例の説明図である。FIG. 11 is an explanatory diagram of an example of a superimposed image. 図12は、仮想オブジェクトの移動の説明図である。FIG. 12 is an explanatory diagram of the movement of the virtual object. 図13は、三次元形状算出の説明図である。FIG. 13 is an explanatory diagram of calculating a three-dimensional shape. 図14は、オブジェクト画像の移動の説明図である。FIG. 14 is an explanatory diagram of the movement of the object image. 図15は、姿勢補正の説明図である。FIG. 15 is an explanatory diagram of posture correction. 図16は、拡張領域画像およびオブジェクト画像の形状変化の説明図である。FIG. 16 is an explanatory diagram of the shape change of the extended area image and the object image. 図17は、表示処理の手順を示すフローチャートである。FIG. 17 is a flowchart showing the procedure of the display process. 図18は、第1の割り込み処理の手順を示すフローチャートである。FIG. 18 is a flowchart showing the procedure of the first interrupt process. 図19は、第2の割り込み処理の手順を示すフローチャートである。FIG. 19 is a flowchart showing the procedure of the second interrupt process. 図20は、重畳画像の一例を示す図である。FIG. 20 is a diagram illustrating an example of a superimposed image. 図21は、曲げ形状の入力の一例を示す説明図である。FIG. 21 is an explanatory diagram showing an example of inputting a bending shape. 図22は、重畳画像の一例を示す図である。FIG. 22 is a diagram illustrating an example of a superimposed image. 図23は、曲げ形状の入力の一例を示す説明図である。FIG. 23 is an explanatory diagram illustrating an example of inputting a bending shape. 図24は、ハードウェア構成図である。FIG. 24 is a hardware configuration diagram.

以下、実施形態である画像処理装置10について説明する。   Hereinafter, the image processing apparatus 10 according to the embodiment will be described.

以下に添付図面を参照して、画像処理装置、画像処理方法、およびプログラムの実施の形態を詳細に説明する。   Hereinafter, embodiments of an image processing device, an image processing method, and a program will be described in detail with reference to the accompanying drawings.

図1は、本実施の形態の画像処理装置10の模式図である。   FIG. 1 is a schematic diagram of an image processing apparatus 10 according to the present embodiment.

画像処理装置10は、撮影部12、制御部14、記憶部16、入力部18、表示部20、および検知部25を備える。撮影部12、制御部14、記憶部16、入力部18、表示部20、および検知部25は、バス22により電気的に接続されている。   The image processing apparatus 10 includes a photographing unit 12, a control unit 14, a storage unit 16, an input unit 18, a display unit 20, and a detection unit 25. The imaging unit 12, the control unit 14, the storage unit 16, the input unit 18, the display unit 20, and the detection unit 25 are electrically connected by a bus 22.

なお、画像処理装置10は、撮影部12、制御部14、および検知部25と、記憶部16、入力部18、および表示部20の少なくとも1つと、を別体として設けた構成であってもよい。   Note that the image processing apparatus 10 may have a configuration in which the photographing unit 12, the control unit 14, and the detection unit 25, and at least one of the storage unit 16, the input unit 18, and the display unit 20 are provided separately. Good.

また、画像処理装置10は、携帯可能な携帯端末であってもよいし、固定型の端末であってもよい。本実施の形態では、一例として、画像処理装置10は、撮影部12と、制御部14と、記憶部16と、入力部18と、表示部20と、検知部25と、を一体的に備えた携帯可能な携帯端末である場合を説明する。また、画像処理装置10は、外部装置と通信するための通信部などの他の機能部を更に設けた構成であってもよい。   Further, the image processing apparatus 10 may be a portable terminal or a fixed terminal. In the present embodiment, as an example, the image processing apparatus 10 integrally includes a photographing unit 12, a control unit 14, a storage unit 16, an input unit 18, a display unit 20, and a detection unit 25. A case where the portable terminal is a portable terminal will be described. Further, the image processing apparatus 10 may be configured to further include other functional units such as a communication unit for communicating with an external device.

撮影部12は、画像処理装置10の位置する実空間を撮影し、背景画像を取得する。実空間は、例えば、室内などである。更に、例えば、実空間は、複数の壁面で構成された室内であり、一例としては、床面、天井面、床面と天井面とに連続する4つの壁面で構成された立方体状の室内である。なお、実空間は、画像処理装置10の位置する現実の空間であればよく、室内に限定されない。撮影部12は、撮影によって画像データ(背景画像)を得る公知の撮影装置である。   The imaging unit 12 captures a real space where the image processing apparatus 10 is located, and acquires a background image. The real space is, for example, a room. Further, for example, the real space is a room composed of a plurality of wall surfaces. For example, the real space is a cubic room composed of a floor surface, a ceiling surface, and four wall surfaces continuous to the floor surface and the ceiling surface. is there. The real space may be an actual space where the image processing apparatus 10 is located, and is not limited to a room. The photographing unit 12 is a known photographing device that obtains image data (background image) by photographing.

表示部20は、各種画像を表示する。表示部20は、LCD(Liquid Crystal Display)や、画像を投影するプロジェクタ等、公知の表示装置である。本実施の形態では、表示部20には、後述する重畳画像が表示される。   The display unit 20 displays various images. The display unit 20 is a known display device such as an LCD (Liquid Crystal Display) or a projector that projects an image. In the present embodiment, a superimposed image described later is displayed on the display unit 20.

図2は、画像処理装置10の外観の概略図の一例である。図2(A)は、画像処理装置10を表示部20側からみた平面図である。図2(B)は、画像処理装置10を側面方向(撮影部12と表示部20との対向方向に直交する方向)から視認した状態を示す平面図である。画像処理装置10の筐体11には、撮影部12と表示部20が設けられている。なお、筐体11の内部には、検知部25や制御部14や記憶部16などが設けられている。   FIG. 2 is an example of a schematic diagram of the appearance of the image processing apparatus 10. FIG. 2A is a plan view of the image processing apparatus 10 as viewed from the display unit 20 side. FIG. 2B is a plan view showing a state in which the image processing apparatus 10 is viewed from the side surface direction (a direction orthogonal to the facing direction of the imaging unit 12 and the display unit 20). The housing 11 of the image processing apparatus 10 is provided with a photographing unit 12 and a display unit 20. Note that a detection unit 25, a control unit 14, a storage unit 16, and the like are provided inside the housing 11.

また、本実施の形態では、一例として、表示部20と撮影部12は、画像処理装置10の筐体において、表示部20の表示方向と、撮影部12の撮影方向(矢印A方向)と、が、反対方向(180°の関係)である場合を説明する。   Moreover, in this Embodiment, as an example, the display part 20 and the imaging | photography part 12 are the housing | casing of the image processing apparatus 10, the display direction of the display part 20, the imaging | photography direction (arrow A direction) of the imaging | photography part 12, Is the opposite direction (180 ° relationship).

図1に戻り、入力部18は、ユーザから各種操作を受け付ける。入力部18は、例えば、マウス、マイクによる音声認識、ボタン、リモコン、およびキーボード等である。   Returning to FIG. 1, the input unit 18 receives various operations from the user. The input unit 18 is, for example, voice recognition using a mouse or a microphone, buttons, a remote controller, a keyboard, and the like.

なお、入力部18と表示部20とを一体的に構成してもよい。本実施の形態では、入力部18と表示部20とを一体的に構成し、UI部19とする場合を説明する。UI部19は、例えば、表示機能と入力機能の双方を備えたタッチパネルである。   In addition, you may comprise the input part 18 and the display part 20 integrally. In the present embodiment, a case where the input unit 18 and the display unit 20 are integrally configured to form the UI unit 19 will be described. The UI unit 19 is, for example, a touch panel having both a display function and an input function.

このため、ユーザは、UI部19に表示された画像を確認しながら、UI部19上を操作することで、各種入力を行うことができる。具体的には、ユーザは、UI部19における表示部20の表示面上を操作指示することで、操作指示に応じた各種入力を行うことができる。なお、表示部20の表示面は、二次元の平面である。   For this reason, the user can perform various inputs by operating on the UI unit 19 while confirming the image displayed on the UI unit 19. Specifically, the user can perform various inputs according to the operation instruction by instructing operation on the display surface of the display unit 20 in the UI unit 19. Note that the display surface of the display unit 20 is a two-dimensional plane.

記憶部16は、メモリやハードディスクドライブ装置(HDD)等の記憶媒体であり、後述する各処理を実行するための各種プログラムや、各種データを記憶する。   The storage unit 16 is a storage medium such as a memory or a hard disk drive (HDD), and stores various programs and various data for executing processes described later.

検知部25は、実空間における撮影部12の姿勢を検出する。なお、上述したように、画像処理装置10には、撮影部12とUI部19(表示部20)が設けられている。このため、撮影部12の姿勢は、画像処理装置10に設けられた表示部20およびUI部19の姿勢と同様の意味である。   The detection unit 25 detects the posture of the photographing unit 12 in the real space. As described above, the image processing apparatus 10 includes the photographing unit 12 and the UI unit 19 (display unit 20). For this reason, the posture of the photographing unit 12 has the same meaning as the postures of the display unit 20 and the UI unit 19 provided in the image processing apparatus 10.

検知部25は、傾きや方角(角度)を検知可能な公知の検知装置である。例えば、検知部25は、ジャイロセンサ(3軸加速度計)、電子コンパス、重力加速度計などである。   The detection unit 25 is a known detection device that can detect an inclination and a direction (angle). For example, the detection unit 25 is a gyro sensor (3-axis accelerometer), an electronic compass, a gravitational accelerometer, or the like.

なお、検知部25は、実空間における位置(具体的には、ワールド座標における位置)を検出する公知の機器を更に含む構成であってもよい。例えば、検知部25は、GPS(Global Positioning System)を備えた構成であってもよい。この場合、検知部25は、姿勢に加えて、実空間における撮影部12の位置(緯度、経度、高度)を検知することができる。   The detection unit 25 may be configured to further include a known device that detects a position in real space (specifically, a position in world coordinates). For example, the detection unit 25 may be configured to include a GPS (Global Positioning System). In this case, the detection unit 25 can detect the position (latitude, longitude, altitude) of the imaging unit 12 in real space in addition to the posture.

図1に戻り、制御部14は、CPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)などを含んで構成されるコンピュータである。なお、制御部14は、汎用のCPU以外の回路などであってもよい。制御部14は、画像処理装置10に設けられた装置各部を制御する。   Returning to FIG. 1, the control unit 14 is a computer including a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The control unit 14 may be a circuit other than a general-purpose CPU. The control unit 14 controls each unit provided in the image processing apparatus 10.

制御部14は、重畳画像を表示部20へ表示する制御を行う。重畳画像は、実空間を撮影した背景画像に、拡張領域の拡張領域画像(詳細後述)や仮想オブジェクトのオブジェクト画像を重畳した画像である。   The control unit 14 performs control to display the superimposed image on the display unit 20. The superimposed image is an image obtained by superimposing an extended area image (described later in detail) or an object image of a virtual object on a background image obtained by photographing a real space.

仮想オブジェクトは、実空間には含まれない仮想のオブジェクトである。仮想オブジェクトは、例えば、制御部14で扱う事の可能な画像データである。仮想オブジェクトの画像データは、例えば、外部装置や制御部14などで別途作成された画像や印刷物の画像データや、実空間画像の撮影とは異なるタイミングで撮影された背景画像の画像データなどであるが、これらに限定されない。   The virtual object is a virtual object that is not included in the real space. The virtual object is, for example, image data that can be handled by the control unit 14. The image data of the virtual object is, for example, an image created separately by an external device or the control unit 14, image data of a printed matter, or image data of a background image captured at a timing different from that of a real space image. However, it is not limited to these.

オブジェクト画像は、仮想三次元空間に配置された仮想オブジェクトを、二次元空間に射影した画像である。言い換えると、オブジェクト画像は、仮想三次元空間に配置された仮想オブジェクトを、予め定めた視点位置から視認した二次元画像に変換した画像である。本実施の形態では、二次元空間は、表示部20の表示面に一致する。   An object image is an image obtained by projecting a virtual object placed in a virtual three-dimensional space into a two-dimensional space. In other words, the object image is an image obtained by converting a virtual object placed in the virtual three-dimensional space into a two-dimensional image viewed from a predetermined viewpoint position. In the present embodiment, the two-dimensional space coincides with the display surface of the display unit 20.

制御部14は、例えば、グラフィックス処理のためのプログラミングインターフェースを用いた3Dグラフィックエンジンを用いて、仮想オブジェクトを二次元画像に変換する。例えば、制御部14は、OpenGL(Open Graphics Library)などの3Dエンジンにより、処理を実現する。   The control unit 14 converts the virtual object into a two-dimensional image using, for example, a 3D graphic engine using a programming interface for graphics processing. For example, the control unit 14 realizes processing by a 3D engine such as OpenGL (Open Graphics Library).

具体的には、制御部14は、変換関数を用いて、仮想三次元空間における三次元座標によって示される仮想オブジェクトを、二次元空間に射影することによって、二次元座標によって示されるオブジェクト画像を生成する。変換関数は、オブジェクト画像を取得するための関数、すなわち、仮想オブジェクトを表示面に射影するための関数である。変換関数は、一般に、行列で表される。   Specifically, the control unit 14 generates an object image indicated by the two-dimensional coordinates by projecting a virtual object indicated by the three-dimensional coordinates in the virtual three-dimensional space to the two-dimensional space using the conversion function. To do. The conversion function is a function for acquiring an object image, that is, a function for projecting a virtual object onto the display surface. The conversion function is generally represented by a matrix.

図3は、制御部14による表示処理の概要を示す図である。制御部14は、撮影部12で撮影した背景画像53に、オブジェクト画像30を重畳した重畳画像54を表示する。   FIG. 3 is a diagram showing an overview of display processing by the control unit 14. The control unit 14 displays a superimposed image 54 in which the object image 30 is superimposed on the background image 53 photographed by the photographing unit 12.

本実施の形態の画像処理装置10では、オブジェクト画像30の形状を、画像処理装置10の姿勢の変化に応じて、あたかも現実の空間に配置されている物体を撮影しているように変化させる。例えば、図3に示すように、画像処理装置10は、実空間には存在しない印刷物が壁31に貼り付けているかのように、画像処理装置10の姿勢の変化に応じてオブジェクト画像30の形状を変化させる。   In the image processing apparatus 10 of the present embodiment, the shape of the object image 30 is changed as if an object placed in an actual space is photographed in accordance with a change in the attitude of the image processing apparatus 10. For example, as illustrated in FIG. 3, the image processing apparatus 10 has a shape of the object image 30 in accordance with a change in the posture of the image processing apparatus 10 as if a printed material that does not exist in the real space is pasted on the wall 31. To change.

制御部14について詳細を説明する。   Details of the control unit 14 will be described.

図4は、画像処理装置10の機能構成の一例を示すブロック図である。上述したように画像処理装置10は、検知部25、撮影部12、記憶部16、UI部19、および制御部14を備える。検知部25、撮影部12、記憶部16、およびUI部19は、制御部14に信号やデータ授受可能に接続されている。   FIG. 4 is a block diagram illustrating an example of a functional configuration of the image processing apparatus 10. As described above, the image processing apparatus 10 includes the detection unit 25, the imaging unit 12, the storage unit 16, the UI unit 19, and the control unit 14. The detection unit 25, the imaging unit 12, the storage unit 16, and the UI unit 19 are connected to the control unit 14 so that signals and data can be exchanged.

制御部14は、姿勢検出部14Aと、背景画像取得部14Bと、姿勢設定部14Cと、取得部14Dと、形状算出部14Eと、設定部14Pと、第1の生成部14Qと、第2の生成部14Rと、合成部14Gと、受付部14Iと、移動部14Lと、関数補正部14Mと、姿勢補正部14Nと、光源設定部14Oと、表示制御部14Hと、を備える。   The control unit 14 includes a posture detection unit 14A, a background image acquisition unit 14B, a posture setting unit 14C, an acquisition unit 14D, a shape calculation unit 14E, a setting unit 14P, a first generation unit 14Q, and a second A generating unit 14R, a synthesizing unit 14G, a receiving unit 14I, a moving unit 14L, a function correcting unit 14M, an attitude correcting unit 14N, a light source setting unit 14O, and a display control unit 14H.

姿勢検出部14A、背景画像取得部14B、姿勢設定部14C、取得部14D、形状算出部14E、設定部14P、第1の生成部14Q、第2の生成部14R、合成部14G、受付部14I、移動部14L、関数補正部14M、姿勢補正部14N、光源設定部14O、および表示制御部14Hの一部またはすべては、例えば、CPUなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。   Posture detection unit 14A, background image acquisition unit 14B, posture setting unit 14C, acquisition unit 14D, shape calculation unit 14E, setting unit 14P, first generation unit 14Q, second generation unit 14R, synthesis unit 14G, reception unit 14I A part or all of the moving unit 14L, the function correcting unit 14M, the posture correcting unit 14N, the light source setting unit 14O, and the display control unit 14H cause a processing device such as a CPU to execute a program, that is, by software. It may be realized, may be realized by hardware such as IC (Integrated Circuit), or may be realized by using software and hardware together.

姿勢検出部14Aは、撮影部12の初期姿勢からの姿勢変化を表す姿勢情報を検出する。詳細には、姿勢情報は、撮影部12の初期姿勢の撮影方向(光軸の方向)からの向きの変化を検出する。   The posture detection unit 14 </ b> A detects posture information representing a posture change from the initial posture of the photographing unit 12. Specifically, the posture information detects a change in direction of the initial posture of the photographing unit 12 from the photographing direction (the direction of the optical axis).

具体的には、姿勢検出部14Aは、検知部25による初期姿勢時の検知結果と、検知部25による現在の検知結果と、を用いて、姿勢情報を検出する。姿勢情報は、例えば、初期姿勢からの回転角の変化量(ロール角の変化量α、ピッチ角の変化量βおよびヨー角の変化量γ)で表される。   Specifically, the posture detection unit 14A detects posture information using the detection result at the initial posture by the detection unit 25 and the current detection result by the detection unit 25. The posture information is represented by, for example, a change amount of the rotation angle from the initial posture (a change amount α of the roll angle, a change amount β of the pitch angle, and a change amount γ of the yaw angle).

姿勢設定部14Cは、初期姿勢を設定する。姿勢設定部14Cは、撮影開始に先立ち、初期姿勢を設定する。ユーザは、所望のタイミングでUI部19を操作することにより、初期姿勢の設定指示を入力する。姿勢設定部14Cは、ユーザにより初期姿勢の設定指示が入力されたときの、撮影部12(UI部19、画像処理装置10)の姿勢を、初期姿勢として設定する。   The posture setting unit 14C sets an initial posture. The posture setting unit 14C sets an initial posture prior to the start of shooting. The user inputs an initial posture setting instruction by operating the UI unit 19 at a desired timing. The posture setting unit 14 </ b> C sets the posture of the photographing unit 12 (UI unit 19, image processing apparatus 10) when the user inputs an initial posture setting instruction as the initial posture.

このため、画像処理装置10では、初期姿勢におけるオブジェクト画像30の形状を基準とし、初期姿勢からの姿勢変化量に基づきオブジェクト画像30の形状を変化させることができる。   Therefore, the image processing apparatus 10 can change the shape of the object image 30 based on the posture change amount from the initial posture with the shape of the object image 30 in the initial posture as a reference.

背景画像取得部14Bは、撮影部12から背景画像を取得する。撮影画像取得部14Bは、記憶部16から背景画像を取得してもよい。   The background image acquisition unit 14B acquires a background image from the photographing unit 12. The captured image acquisition unit 14 </ b> B may acquire a background image from the storage unit 16.

取得部14Dは、曲げ形状情報を取得する。曲げ形状情報は、仮想三次元空間に配置する仮想オブジェクト42の曲げ形状を、表示部20(UI部19)の表示面を表す二次元座標で表した情報である。   The acquisition unit 14D acquires bending shape information. The bending shape information is information that represents the bending shape of the virtual object 42 arranged in the virtual three-dimensional space with two-dimensional coordinates representing the display surface of the display unit 20 (UI unit 19).

表示部20の表示面を表す二次元座標とは、二次元の板状である表示部20の表示面上の座標である。すなわち、ユーザがUI部19の表示面上を操作指示することで、操作指示されたUI部19の表示面上の位置に応じた二次元座標が、操作指示として入力される。   The two-dimensional coordinates representing the display surface of the display unit 20 are coordinates on the display surface of the display unit 20 that is a two-dimensional plate shape. That is, when the user gives an operation instruction on the display surface of the UI unit 19, two-dimensional coordinates corresponding to the position on the display surface of the UI unit 19 instructed for operation are input as an operation instruction.

曲げ形状情報は、ユーザによるUI部19の操作によって入力される。ユーザは、UI部19の表示面を操作することで、表示面上の二次元座標によって示される、仮想オブジェクト42の曲げ形状を操作入力する。取得部14Dは、ユーザによる各種操作指示をUI部19から受け付ける受付部14Iを介して、UI部19から曲げ形状情報を取得する。   The bending shape information is input by the user operating the UI unit 19. The user operates and inputs the bending shape of the virtual object 42 indicated by the two-dimensional coordinates on the display surface by operating the display surface of the UI unit 19. The acquisition unit 14 </ b> D acquires bending shape information from the UI unit 19 via the reception unit 14 </ b> I that receives various operation instructions from the user from the UI unit 19.

形状算出部14Eは、曲げ形状情報に応じて、仮想オブジェクト42の貼り付け対象を示す仮想立体物の三次元形状を算出する。   The shape calculation unit 14E calculates the three-dimensional shape of the virtual three-dimensional object indicating the pasting target of the virtual object 42 according to the bending shape information.

第2の生成部14Rは、形状算出部14Eで算出された三次元形状の仮想立体物の表面に、仮想オブジェクト42を貼り付ける。そして、第2の生成部14Rは、仮想立体物の表面に貼り付けた仮想オブジェクト42を、二次元空間に射影した、オブジェクト画像30を生成する。   The second generation unit 14R pastes the virtual object 42 on the surface of the virtual three-dimensional object calculated by the shape calculation unit 14E. Then, the second generation unit 14R generates an object image 30 in which the virtual object 42 pasted on the surface of the virtual three-dimensional object is projected onto the two-dimensional space.

第2の生成部14Rは、上記変換関数を用いて、仮想三次元空間における三次元座標によって示される仮想オブジェクト42を、二次元空間に射影することによって、二次元座標によって示されるオブジェクト画像30を生成すればよい。変換関数は、上述したように、オブジェクト画像30を取得するための関数、すなわち、仮想オブジェクト42を表示面に射影するための関数である。変換関数は、一般に、行列で表される。   The second generation unit 14R projects the object image 30 indicated by the two-dimensional coordinates by projecting the virtual object 42 indicated by the three-dimensional coordinates in the virtual three-dimensional space to the two-dimensional space using the conversion function. It only has to be generated. As described above, the conversion function is a function for acquiring the object image 30, that is, a function for projecting the virtual object 42 onto the display surface. The conversion function is generally represented by a matrix.

合成部14Gは、重畳画像を生成する。図5は、重畳画像生成の説明図である。合成部14Gは、背景画像53上に、第2の生成部14Rで生成されたオブジェクト画像30を重畳する。これによって、合成部14Gは、重畳画像54を生成する。   The synthesizing unit 14G generates a superimposed image. FIG. 5 is an explanatory diagram of superimposed image generation. The composition unit 14G superimposes the object image 30 generated by the second generation unit 14R on the background image 53. Thereby, the synthesizing unit 14G generates a superimposed image 54.

なお、合成部14Gは、背景画像53上に、後述する拡張領域画像60と、オブジェクト画像30と、をこの順に重畳した重畳画像54を生成してもよい。   The synthesizing unit 14G may generate a superimposed image 54 in which an extended area image 60 (to be described later) and the object image 30 are superimposed on the background image 53 in this order.

図4に戻り、受付部14Iは、ユーザによるUI部19の各種操作を受け付ける。   Returning to FIG. 4, the receiving unit 14 </ b> I receives various operations of the UI unit 19 by the user.

表示制御部14Hは、各種画像をUI部19へ表示する制御を行う。本実施の形態では、表示制御部14Hは、合成部14Gで合成された重畳画像54を、UI部19(表示部20)へ表示する制御を行う。   The display control unit 14 </ b> H performs control to display various images on the UI unit 19. In the present embodiment, the display control unit 14H performs control to display the superimposed image 54 synthesized by the synthesis unit 14G on the UI unit 19 (display unit 20).

次に、形状算出部14Eの詳細を説明する。図6は、形状算出部14Eによる三次元形状算出の説明図である。なお、図6は、貼り付け対象の仮想立体物40の形状が、曲面を有する(具体的には、例えば、円柱状)場合を説明する。なお、仮想立体物40が円柱状などの曲面を有する場合を、仮想立体物40Aとして説明する。   Next, details of the shape calculation unit 14E will be described. FIG. 6 is an explanatory diagram of the three-dimensional shape calculation by the shape calculation unit 14E. FIG. 6 illustrates a case where the shape of the virtual solid object 40 to be pasted has a curved surface (specifically, for example, a cylindrical shape). A case where the virtual solid object 40 has a curved surface such as a columnar shape will be described as a virtual solid object 40A.

また、仮想立体物40Aに貼り付ける仮想オブジェクト42を、仮想オブジェクト42A、仮想オブジェクト42Aに対応するオブジェクト画像30をオブジェクト画像30Aとして説明する。   The virtual object 42 to be pasted on the virtual three-dimensional object 40A will be described as a virtual object 42A, and the object image 30 corresponding to the virtual object 42A will be described as an object image 30A.

なお、仮想立体物(仮想立体物40A、後述する仮想立体物40Bなど)を総称して説明する場合、単に仮想立体物40と称して説明する。同様に、オブジェクト画像、仮想オブジェクトの各々を総称して説明する場合についても、各々、オブジェクト画像30、仮想オブジェクト42と称して説明する。   In addition, when generically describing a virtual three-dimensional object (a virtual three-dimensional object 40A, a virtual three-dimensional object 40B, which will be described later), it will be simply referred to as a virtual three-dimensional object 40. Similarly, the case where the object image and the virtual object are collectively described will be referred to as the object image 30 and the virtual object 42, respectively.

例えば、表示制御部14Hは、貼り付け対象の仮想オブジェクト42Aのオブジェクト画像30AをUI部19に表示する。貼り付け対象の仮想オブジェクト42Aは、例えば、ユーザによるUI部19の操作指示によって選択すればよい。具体的には、記憶部16に、予め、仮想オブジェクト42として用いる1または複数の画像データを記憶する。そして、表示制御部14Hは、これらの画像データの画像を選択可能にUI部19へ表示する。ユーザは、UI部19に表示された画像の一覧から1つを選択することで、貼り付け対象の仮想オブジェクト42Aを選択する。   For example, the display control unit 14H displays the object image 30A of the virtual object 42A to be pasted on the UI unit 19. For example, the virtual object 42A to be pasted may be selected by an operation instruction of the UI unit 19 by the user. Specifically, one or a plurality of image data used as the virtual object 42 is stored in the storage unit 16 in advance. Then, the display control unit 14H displays these image data images on the UI unit 19 so as to be selectable. The user selects the virtual object 42A to be pasted by selecting one from the list of images displayed on the UI unit 19.

第2の生成部14Rは、選択された仮想オブジェクト42Aを二次元空間に射影することによって、オブジェクト画像30Aを生成する。表示制御部14Hは、選択された仮想オブジェクト42Aのオブジェクト画像30AをUI部19に表示する。オブジェクト画像30(30A)は、第2の生成部14Rによって仮想オブジェクト42(42A)を射影することで得られる。   The second generation unit 14R generates the object image 30A by projecting the selected virtual object 42A to the two-dimensional space. The display control unit 14H displays the object image 30A of the selected virtual object 42A on the UI unit 19. The object image 30 (30A) is obtained by projecting the virtual object 42 (42A) by the second generation unit 14R.

図6(A)は、選択された仮想オブジェクト42Aのオブジェクト画像30AがUI部19に表示された状態の一例を示す図である。図6に示す例では、オブジェクト画像30Aが矩形状である場合を一例として説明する。   FIG. 6A is a diagram illustrating an example of a state in which the object image 30A of the selected virtual object 42A is displayed on the UI unit 19. In the example illustrated in FIG. 6, a case where the object image 30A has a rectangular shape will be described as an example.

ユーザは、UI部19に表示されたオブジェクト画像30Aを用いて、該オブジェクト画像30に対応する仮想オブジェクト42Aの曲げ形状を操作入力する。図6に示す例では、ユーザは、UI部19の表示面上を操作することで、UI部19に表示されたオブジェクト画像30Aの4頂点の内の2頂点の位置を調整する。例えば、図6(B)に示すように、オブジェクト画像30Aの4頂点(30、30、30、30)の内、頂点30を3010の位置に移動させ、頂点30を頂点3020の位置に移動させることがユーザによって操作指示されたとする。例えば、ユーザは、オブジェクト画像30Aの4頂点をピンチイン/ピンチアウト操作などにより調整することで、各頂点の位置を移動させる。 The user uses the object image 30 </ b> A displayed on the UI unit 19 to input the bending shape of the virtual object 42 </ b> A corresponding to the object image 30. In the example illustrated in FIG. 6, the user adjusts the position of two vertices among the four vertices of the object image 30 </ b> A displayed on the UI unit 19 by operating the display surface of the UI unit 19. For example, as shown in FIG. 6B, among the four vertices (30 1 , 30 2 , 30 3 , 30 4 ) of the object image 30A, the vertex 30 1 is moved to the position of 30 10 , and the vertex 30 2 is moved. and moving the position of the vertex 30 20 is an operation instruction by a user. For example, the user moves the positions of the vertices by adjusting the four vertices of the object image 30A by a pinch-in / pinch-out operation or the like.

すると、取得部14Dは、移動後の2つの頂点3010および頂点3020の、表示面における二次元座標を含む、曲げ形状情報を取得する。 Then, the acquisition unit 14D is two vertices 30 10 and vertex 30 20 after movement, including two-dimensional coordinates on the display surface, to obtain a bent shape information.

形状算出部14Eは、曲げ形状情報に応じた三次元曲線に沿った曲面を有する、仮想立体物の三次元形状を算出する。詳細には、形状算出部14Eは、三次元曲線の曲率の初期値を予め設定する(以下、初期曲率と称する)。そして、形状算出部14Eは、曲げ形状情報、すなわち、ピンチ操作の操作量に応じて、初期曲率を変化させることで、操作量に応じた三次元曲率を算出する。ピンチ操作の操作量は、例えば、移動前の2頂点に対する移動後の2頂点の操作量に相当する。   The shape calculation unit 14E calculates the three-dimensional shape of the virtual three-dimensional object having a curved surface along the three-dimensional curve corresponding to the bending shape information. Specifically, the shape calculation unit 14E presets an initial value of the curvature of the three-dimensional curve (hereinafter referred to as initial curvature). And the shape calculation part 14E calculates the three-dimensional curvature according to the operation amount by changing the initial curvature according to the bending shape information, that is, the operation amount of the pinch operation. The operation amount of the pinch operation corresponds to, for example, the operation amount of the two vertices after the movement with respect to the two vertices before the movement.

例えば、図6(B)に示すように、ユーザによるピンチ操作後の2次元曲率が、二次曲線Q1によって示される曲率であったとする。この場合、形状算出部14Eは、ピンチ操作の操作量に応じて、初期曲率を変化させることで、曲げ形状情報に応じた三次元曲線Q2(図6(C)参照)に沿った曲面を有する、仮想立体物40Aの三次元形状を算出する。三次元曲線Q2は、二次元曲線Q1を仮想三次元空間に射影した曲線である。すなわち、仮想立体物40Aの表面の曲率は、ユーザによる操作量に応じた曲率を示す。   For example, as shown in FIG. 6B, it is assumed that the two-dimensional curvature after the pinch operation by the user is the curvature indicated by the quadratic curve Q1. In this case, the shape calculation unit 14E has a curved surface along the three-dimensional curve Q2 (see FIG. 6C) corresponding to the bending shape information by changing the initial curvature according to the operation amount of the pinch operation. Then, the three-dimensional shape of the virtual three-dimensional object 40A is calculated. The three-dimensional curve Q2 is a curve obtained by projecting the two-dimensional curve Q1 into a virtual three-dimensional space. That is, the curvature of the surface of the virtual three-dimensional object 40A indicates a curvature corresponding to the operation amount by the user.

このように、ユーザによるUI部19の操作指示によって、UI部19(表示部20)の二次元座標によって表される曲げ形状情報が操作入力される。すなわち、ユーザは、任意の曲げ形状を、UI部19の二次元座標を用いて操作入力することができる。そして、形状算出部14Eは、操作入力された曲げ形状情報を用いて、仮想立体物40の三次元形状を算出する。図6に示す例では、形状算出部14Eは、図6(C)に示す、三次元曲線Q2に沿った曲面を有する、仮想立体物40Aの三次元形状を算出する。   As described above, the bending shape information represented by the two-dimensional coordinates of the UI unit 19 (display unit 20) is input by an operation instruction from the UI unit 19 by the user. That is, the user can input an arbitrary bending shape using the two-dimensional coordinates of the UI unit 19. And the shape calculation part 14E calculates the three-dimensional shape of the virtual solid object 40 using the bending shape information input by operation. In the example illustrated in FIG. 6, the shape calculation unit 14E calculates the three-dimensional shape of the virtual three-dimensional object 40A having a curved surface along the three-dimensional curve Q2 illustrated in FIG.

図7は、仮想立体物の三次元形状算出の詳細な説明図である。ユーザによって曲げ形状が操作入力されていない状態では、仮想オブジェクト42Aは、仮想三次元空間におけるXY平面に沿って平面状に配置される(図7(A)参照)。形状算出部14Eは、仮想オブジェクト42Aを、複数の短冊状の領域に分割して処理する。すなわち、形状算出部14Eは、仮想オブジェクト42Aを構成する各短冊状の領域の各々を用いて、操作入力された曲げ形状を表現する(図7(B)、図7(C)参照)。   FIG. 7 is a detailed explanatory diagram of the calculation of the three-dimensional shape of the virtual three-dimensional object. In a state where the bending shape is not operated and input by the user, the virtual object 42A is arranged in a planar shape along the XY plane in the virtual three-dimensional space (see FIG. 7A). The shape calculation unit 14E processes the virtual object 42A by dividing it into a plurality of strip-shaped regions. That is, the shape calculation unit 14E expresses the bending shape input by the operation using each of the strip-like regions constituting the virtual object 42A (see FIGS. 7B and 7C).

ユーザによるUI部19の操作指示により、UI部19の表示面上で仮想オブジェクト42Aに対応するオブジェクト画像30Aの頂点の位置が調整されることで、曲げ形状の曲率が設定される。例えば、形状算出部14Eは、ユーザの指によるピンチ操作などによって設定された曲率の二次元曲線から、三次元曲線を算出する。そして、形状算出部14Eは、算出した三次元曲線に沿った曲面を有する、例えば、円柱状の仮想立体物40Aを算出する(図7(B)参照)。 The curvature of the bent shape is set by adjusting the position of the vertex of the object image 30 </ b> A corresponding to the virtual object 42 </ b> A on the display surface of the UI unit 19 according to an operation instruction of the UI unit 19 by the user. For example, the shape calculation unit 14E calculates a 3D curve from a 2D curve of curvature set by a pinch operation with a user's finger. The shape calculating unit 14E has a curved surface along the calculated three-dimensional curve, for example, calculates the cylindrical virtual three-dimensional object 40A 2 (see FIG. 7 (B)).

また、ユーザの指によるピンチ操作などによって曲率が変更されると、形状算出部14Eは変更後の曲率の二次元曲線から算出した三次元曲線に沿った曲面を有する、円柱状の仮想立体物40Aを算出する(図7(C)参照)。 When the curvature is changed by a pinch operation with a user's finger or the like, the shape calculation unit 14E has a curved virtual three-dimensional object 40A having a curved surface along a three-dimensional curve calculated from the two-dimensional curve of the changed curvature. 3 is calculated (see FIG. 7C).

このため、ユーザは、UI部19の表示面上のピンチイン/ピンチアウトなどの簡易な操作によって、仮想オブジェクト42の貼り付け対象の仮想立体物40の、三次元形状を容易に操作入力することができる。例えば、ユーザは、UI部19の表示面上のピンチイン操作で曲率を大きくし、ピンチアウト操作で曲率を小さくするように、操作入力することができる。   For this reason, the user can easily input the three-dimensional shape of the virtual three-dimensional object 40 to which the virtual object 42 is pasted by a simple operation such as pinch-in / pinch-out on the display surface of the UI unit 19. it can. For example, the user can perform an operation input so that the curvature is increased by a pinch-in operation on the display surface of the UI unit 19 and the curvature is decreased by a pinch-out operation.

そして、形状算出部14Eは、ユーザによるUI部19の操作指示によって操作入力された、UI部19の表示面の二次元座標で表される曲げ形状情報に応じて、仮想立体物40の三次元形状を容易に算出することができる。   Then, the shape calculation unit 14E performs the three-dimensional operation of the virtual three-dimensional object 40 according to the bending shape information represented by the two-dimensional coordinates on the display surface of the UI unit 19 that is input by the user's operation instruction on the UI unit 19. The shape can be easily calculated.

また、曲げ形状情報は、仮想オブジェクト42の曲げ方向を更に含んでいてもよい。   The bending shape information may further include the bending direction of the virtual object 42.

図8は、曲げ方向の説明図である。例えば、ユーザは、UI部19の表示面上で、仮想オブジェクト42Aに対応する表示されたオブジェクト画像30Aの頂点の位置を調整することで、曲げ方向を操作入力する。   FIG. 8 is an explanatory diagram of the bending direction. For example, the user operates and inputs the bending direction by adjusting the position of the vertex of the displayed object image 30 </ b> A corresponding to the virtual object 42 </ b> A on the display surface of the UI unit 19.

すなわち、ユーザによるUI部19の操作指示により、UI部19の表示面上で仮想オブジェクト42Aに対応するオブジェクト画像30Aの頂点の位置が調整されることで、曲げ形状の曲率、および曲げ方向が設定される。例えば、ユーザは、オブジェクト画像30の4頂点の何れかの位置を調整することで、曲げ方向を操作入力する。   That is, the curvature of the bending shape and the bending direction are set by adjusting the position of the vertex of the object image 30A corresponding to the virtual object 42A on the display surface of the UI unit 19 according to an operation instruction of the UI unit 19 by the user. Is done. For example, the user operates and inputs the bending direction by adjusting the position of any of the four vertices of the object image 30.

曲げ方向には、例えば、4通りの方向がある。例えば、図8(A)に示すように、平面状の仮想オブジェクト42AをX軸方向が長辺となるように仮想三次元空間に配置し、三次元座標のZ軸方向に凸状に湾曲させる、曲げ方向がある。また、図8(B)に示すように、平面状の仮想オブジェクト42AをY軸方向が長辺となるように仮想三次元空間に配置し、三次元座標のZ軸方向に凸状に湾曲させる、曲げ方向がある。また、図8(C)に示すように、平面状の仮想オブジェクト42AをX軸方向が長辺となるように仮想三次元空間に配置し、三次元座標の−Z軸方向に凸状に湾曲させる、曲げ方向がある。また、図8(D)に示すように、平面状の仮想オブジェクト42AをY軸方向が長辺となるように仮想三次元空間に配置し、三次元座標の−Z軸方向に凸状に湾曲させる、曲げ方向がある。   For example, there are four bending directions. For example, as shown in FIG. 8A, a planar virtual object 42A is arranged in a virtual three-dimensional space so that the X-axis direction is a long side, and is curved in a convex shape in the Z-axis direction of three-dimensional coordinates. There is a bending direction. Further, as shown in FIG. 8B, the planar virtual object 42A is arranged in the virtual three-dimensional space so that the Y-axis direction becomes the long side, and is curved in a convex shape in the Z-axis direction of the three-dimensional coordinates. There is a bending direction. Further, as shown in FIG. 8C, a planar virtual object 42A is arranged in a virtual three-dimensional space so that the X-axis direction becomes a long side, and is curved convexly in the −Z-axis direction of the three-dimensional coordinates. There is a bending direction. Further, as shown in FIG. 8D, a planar virtual object 42A is arranged in a virtual three-dimensional space so that the Y-axis direction is the long side, and is curved convexly in the −Z-axis direction of the three-dimensional coordinates. There is a bending direction.

曲げ形状情報が曲げ方向を含む場合、形状算出部14Eは、該曲げ形状情報に含まれる曲げ方向に曲がった曲面を有する仮想立体物40の三次元形状を算出すればよい。   When the bending shape information includes the bending direction, the shape calculation unit 14E may calculate the three-dimensional shape of the virtual three-dimensional object 40 having a curved surface bent in the bending direction included in the bending shape information.

そして、第2の生成部14Rは、形状算出部14Eで算出された仮想立体物40の表面に仮想オブジェクト42を貼り付ける。このため、図6(C)に示すように、仮想オブジェクト42(例えば、仮想オブジェクト42A)は、形状算出部14Eで算出された三次元形状の仮想立体物40(例えば、仮想立体物40A)の表面に貼り付けられた状態となる。   Then, the second generation unit 14R pastes the virtual object 42 on the surface of the virtual three-dimensional object 40 calculated by the shape calculation unit 14E. For this reason, as shown in FIG. 6C, the virtual object 42 (for example, the virtual object 42A) is a virtual three-dimensional object 40 (for example, the virtual three-dimensional object 40A) calculated by the shape calculating unit 14E. It will be in the state stuck on the surface.

そして、第2の生成部14Rは、この仮想立体物40の表面に貼り付けられた仮想オブジェクト42を、二次元空間に射影したオブジェクト画像30を生成する。図9は、オブジェクト画像30の説明図である。図9では、仮想オブジェクト42Aを仮想立体物40Aに貼り付けた状態を示すオブジェクト画像30Aを、一例として示した。   Then, the second generation unit 14R generates an object image 30 obtained by projecting the virtual object 42 pasted on the surface of the virtual three-dimensional object 40 into a two-dimensional space. FIG. 9 is an explanatory diagram of the object image 30. In FIG. 9, an object image 30A showing a state in which the virtual object 42A is pasted on the virtual three-dimensional object 40A is shown as an example.

図9に示すように、オブジェクト画像30Aは、仮想三次元空間において仮想オブジェクト42Aを仮想立体物40Aの表面に貼り付けた状態を示す、二次元画像である。すなわち、オブジェクト画像30Aは、オブジェクト画像30Aを仮想三次元空間に配置した仮想オブジェクト42Aを、仮想の仮想立体物40Aの表面に貼り付けたかのような形状で示した、二次元画像である。   As shown in FIG. 9, the object image 30A is a two-dimensional image showing a state where the virtual object 42A is pasted on the surface of the virtual three-dimensional object 40A in the virtual three-dimensional space. That is, the object image 30A is a two-dimensional image in which the virtual object 42A in which the object image 30A is arranged in the virtual three-dimensional space is shown in a shape as if pasted on the surface of the virtual virtual three-dimensional object 40A.

このため、UI部19(表示部20)には、実際には、仮想立体物40(仮想立体物40A)は表示されず、オブジェクト画像30Aが、表示されない仮想立体物40の表面に貼り付けられているかのような形状で表示されることとなる。   Therefore, the virtual three-dimensional object 40 (virtual three-dimensional object 40A) is not actually displayed on the UI unit 19 (display unit 20), and the object image 30A is pasted on the surface of the virtual three-dimensional object 40 that is not displayed. It will be displayed as if it were.

そして、合成部14Gは、背景画像53上にオブジェクト画像30Aを合成した重畳画像54を生成する。表示制御部14Hは、重畳画像54を、UI部19へ表示することとなる。   Then, the combining unit 14G generates a superimposed image 54 in which the object image 30A is combined on the background image 53. The display control unit 14 </ b> H displays the superimposed image 54 on the UI unit 19.

ここで、上述のように、オブジェクト画像30は、ユーザ所望の形状の仮想立体物40上に貼り付けられたかのような形状で表示される。このため、ユーザが、仮想立体物40の形状を、背景画像53に含まれる任意の物体の形状と一致させることで、制御部14は、背景画像53に含まれる任意の物体上にオブジェクト画像30を貼り付けた状態を示す重畳画像54を表示することができる。   Here, as described above, the object image 30 is displayed in a shape as if it was pasted on the virtual three-dimensional object 40 having a shape desired by the user. For this reason, when the user matches the shape of the virtual three-dimensional object 40 with the shape of an arbitrary object included in the background image 53, the control unit 14 causes the object image 30 on the arbitrary object included in the background image 53. It is possible to display a superimposed image 54 that shows the state where the is pasted.

しかし、上述したように、UI部19には、仮想立体物40は表示されない。このため、ユーザは、重畳画像54に含まれる任意の形状の物体(例えば、図5中、円柱状物体53A参照)と一致するように、曲げ形状の入力を調整する必要がある。   However, as described above, the virtual three-dimensional object 40 is not displayed on the UI unit 19. For this reason, the user needs to adjust the input of the bending shape so as to match an object of an arbitrary shape included in the superimposed image 54 (for example, refer to the cylindrical object 53A in FIG. 5).

そこで、本実施の形態の制御部14は、設定部14Pおよび第1の生成部14Qを更に備える。   Therefore, the control unit 14 of the present embodiment further includes a setting unit 14P and a first generation unit 14Q.

設定部14Pは、形状算出部14Eで算出された三次元形状の仮想立体物40の表面の少なくとも一部の領域に、仮想オブジェクト42より広い拡張領域を設定する。   The setting unit 14P sets an expansion region wider than the virtual object 42 in at least a partial region of the surface of the three-dimensional virtual object 40 calculated by the shape calculation unit 14E.

図10は、拡張領域62の説明図である。拡張領域62は、仮想立体物40の表面の少なくとも一部の領域であって、該仮想立体物40に貼り付ける仮想オブジェクト42より広い領域である。   FIG. 10 is an explanatory diagram of the extended area 62. The extension area 62 is at least a part of the surface of the virtual three-dimensional object 40 and is wider than the virtual object 42 to be pasted on the virtual three-dimensional object 40.

例えば、図10(A)に示すように、拡張領域62は、仮想立体物40の表面の全領域(拡張領域62A)であってもよい。また、図10(B)に示すように、拡張領域62は、仮想立体物40の表面における、該仮想立体物40の表面に貼り付けた仮想オブジェクト42Aを、該仮想立体物40の表面における全方向に拡大した領域(拡張領域62B)であってもよい。また、図10(C)に示すように、拡張領域62は、仮想立体物40の表面において、仮想オブジェクト42Aを所定方向(例えば、図10中、矢印X方向参照)に拡大した領域(拡張領域62C)であってもよい。また、図示は省略するが、拡張領域62は、仮想立体物40の表面において、仮想オブジェクト42Aを所定方向(図10中、矢印Y方向)に拡大した領域であってもよい。   For example, as shown in FIG. 10A, the extended area 62 may be the entire area (extended area 62A) on the surface of the virtual three-dimensional object 40. Further, as shown in FIG. 10B, the extended region 62 includes the virtual object 42 </ b> A pasted on the surface of the virtual three-dimensional object 40 on the surface of the virtual three-dimensional object 40. It may be a region expanded in the direction (extended region 62B). As shown in FIG. 10C, the extended area 62 is an area (extended area) obtained by enlarging the virtual object 42A in a predetermined direction (for example, see the arrow X direction in FIG. 10) on the surface of the virtual three-dimensional object 40. 62C). Although not shown, the extended area 62 may be an area obtained by enlarging the virtual object 42A in a predetermined direction (the arrow Y direction in FIG. 10) on the surface of the virtual three-dimensional object 40.

設定部14Pは、上記拡張領域62を設定する。例えば、設定部14Pは、形状算出部14Eで算出された仮想立体物40の表面に仮想オブジェクト42を貼り付ける。そして、仮想立体物40の表面の少なくとも一部の領域であって、該貼り付けた仮想オブジェクト42より広く、且つ、該貼り付けた仮想オブジェクト42を含む領域を、拡張領域62として設定する。   The setting unit 14P sets the expansion area 62. For example, the setting unit 14P pastes the virtual object 42 on the surface of the virtual three-dimensional object 40 calculated by the shape calculation unit 14E. Then, an area that is at least a part of the surface of the virtual three-dimensional object 40 and is wider than the pasted virtual object 42 and includes the pasted virtual object 42 is set as the extension area 62.

このため、仮想立体物40の表面における、仮想オブジェクト42より広い領域が、拡張領域62として設定される。   Therefore, an area wider than the virtual object 42 on the surface of the virtual three-dimensional object 40 is set as the extended area 62.

第1の生成部14Qは、拡張領域62を二次元空間に射影した、拡張領域画像60を生成する。第1の生成部14Qは、第2の生成部14Rが射影時に用いる変換関数を用いて、仮想三次元空間における三次元座標によって示される拡張領域62を、二次元空間に射影する。この射影によって、第1の生成部14Qは、二次元座標によって示される拡張領域画像60を生成すればよい。   The first generation unit 14Q generates an extended region image 60 obtained by projecting the extended region 62 into a two-dimensional space. The first generation unit 14Q projects the extended region 62 indicated by the three-dimensional coordinates in the virtual three-dimensional space onto the two-dimensional space using the conversion function used by the second generation unit 14R during the projection. By this projection, the first generation unit 14Q may generate the extended region image 60 indicated by the two-dimensional coordinates.

そして、設定部14Pが拡張領域62を設定した場合、第2の生成部14Rは、形状算出部14Eで算出された三次元形状の仮想立体物40の表面における、設定された拡張領域62内に、仮想オブジェクト42を貼り付ける。そして、第2の生成部14Rは、仮想立体物40の表面の拡張領域62内に貼り付けた仮想オブジェクト42を、二次元空間に射影したオブジェクト画像30を生成する。   Then, when the setting unit 14P sets the extension region 62, the second generation unit 14R includes the extension region 62 in the set extension region 62 on the surface of the three-dimensional virtual object 40 calculated by the shape calculation unit 14E. The virtual object 42 is pasted. Then, the second generation unit 14R generates an object image 30 obtained by projecting the virtual object 42 pasted in the extended region 62 on the surface of the virtual three-dimensional object 40 into a two-dimensional space.

そして、合成部14Gは、背景画像53上に、第1の生成部14Qで生成された拡張領域画像60と、第2の生成部14Rで生成されたオブジェクト画像30と、をこの順に重畳する。これによって、合成部14Gは、背景画像53に、拡張領域画像60およびオブジェクト画像30を重畳した重畳画像54を生成する。   Then, the synthesis unit 14G superimposes the extended area image 60 generated by the first generation unit 14Q and the object image 30 generated by the second generation unit 14R on the background image 53 in this order. Thereby, the composition unit 14G generates a superimposed image 54 in which the extended region image 60 and the object image 30 are superimposed on the background image 53.

図11は、拡張領域画像60を含む重畳画像54の一例の説明図である。   FIG. 11 is an explanatory diagram of an example of the superimposed image 54 including the extended area image 60.

第1の生成部14Qは、仮想立体物40の表面における拡張領域62を二次元空間に射影した拡張領域画像60を生成する。   The first generation unit 14Q generates an extended region image 60 obtained by projecting the extended region 62 on the surface of the virtual three-dimensional object 40 into a two-dimensional space.

図11に示すように、拡張領域画像60は、仮想三次元空間における、仮想立体物40Aの表面の少なくとも一部の領域であって、仮想オブジェクト42より広い領域を示す、拡張領域62の二次元画像である。そして、オブジェクト画像30は、仮想三次元空間において拡張領域62内に貼り付けられた仮想オブジェクト42の、二次元画像である。   As shown in FIG. 11, the extended area image 60 is a two-dimensional extension area 62 that is an area of at least a part of the surface of the virtual three-dimensional object 40 </ b> A in the virtual three-dimensional space and is wider than the virtual object 42. It is an image. The object image 30 is a two-dimensional image of the virtual object 42 pasted in the extension area 62 in the virtual three-dimensional space.

このため、本実施の形態では、UI部19(表示部20)には、実際には、仮想立体物40(仮想立体物40A)は表示されないが、該仮想立体物40の表面の少なくとも一部の領域を示す拡張領域画像60が表示される。また、UI部19には、この拡張領域画像60内に、該仮想立体物40の表面に貼り付けられたかのような形状のオブジェクト画像30Aが表示されることとなる。   For this reason, in the present embodiment, the virtual three-dimensional object 40 (virtual three-dimensional object 40A) is not actually displayed on the UI unit 19 (display unit 20), but at least a part of the surface of the virtual three-dimensional object 40 is displayed. An extended area image 60 showing the area is displayed. Further, the UI unit 19 displays an object image 30 </ b> A having a shape as if pasted on the surface of the virtual three-dimensional object 40 in the extended area image 60.

このため、ユーザは、オブジェクト画像30Aを貼り付けた、仮想三次元空間における仮想立体物40(仮想立体物40A)の形状や大きさを、拡張領域画像60を視認することで確認することができる。   For this reason, the user can confirm the shape and size of the virtual three-dimensional object 40 (virtual three-dimensional object 40A) in the virtual three-dimensional space to which the object image 30A is pasted by visually recognizing the extended area image 60. .

なお、設定部14Pは、ユーザによるUI部19の操作指示によって受付部14Iが指示情報を受付けたときに、拡張領域62を設定することが好ましい。指示情報は、オブジェクト画像30の変形または移動を示す。オブジェクト画像30の変形を示す情報は、上記曲げ形状情報に相当する。   Note that the setting unit 14P preferably sets the extended area 62 when the receiving unit 14I receives the instruction information in response to an operation instruction of the UI unit 19 by the user. The instruction information indicates deformation or movement of the object image 30. Information indicating the deformation of the object image 30 corresponds to the bending shape information.

このため、制御部14では、ユーザによるUI部19の操作指示によって、受付部14Iが指示情報を受付けた場合には、背景画像53上に拡張領域画像60およびオブジェクト画像30を重畳した重畳画像54を、UI部19へ表示する。   For this reason, in the control unit 14, when the receiving unit 14 </ b> I receives the instruction information according to the operation instruction of the UI unit 19 by the user, the superimposed image 54 in which the extended region image 60 and the object image 30 are superimposed on the background image 53. Is displayed on the UI unit 19.

また、受付部14Iが指示情報を受付けない場合には、背景画像53上にオブジェクト画像30のみを重畳した重畳画像54を、UI部19へ表示してもよい。   When the reception unit 14I does not receive instruction information, a superimposed image 54 in which only the object image 30 is superimposed on the background image 53 may be displayed on the UI unit 19.

なお、表示制御部14Hは、拡張領域画像60の透過度、または、拡張領域画像60およびオブジェクト画像30の透過度を変更した上で、これらの画像を重畳した重畳画像54を生成してもよい。   The display control unit 14H may change the transparency of the extended area image 60 or the transparency of the extended area image 60 and the object image 30, and then generate a superimposed image 54 in which these images are superimposed. .

例えば、表示制御部14Hは、第1の透過度の拡張領域画像60と、第1の透過度より低い第2の透過度のオブジェクト画像30Aと、をこの順に重畳した重畳画像54を、UI部19へ表示してもよい。   For example, the display control unit 14H displays the superimposed image 54 obtained by superimposing the extended region image 60 having the first transparency and the object image 30A having the second transparency lower than the first transparency in this order on the UI unit. 19 may be displayed.

第1の透過度および第2の透過度は、最も背面側に位置する背景画像53が、拡張領域画像60およびオブジェクト画像30を介して視認可能な程度の透過度であればよい。   The first transparency and the second transparency may be such that the background image 53 positioned on the most back side is visible through the extended region image 60 and the object image 30.

拡張領域画像60およびオブジェクト画像30の透過度を調整することで、ユーザは、拡張領域画像60およびオブジェクト画像30の背面に位置する背景画像53を確認しながら、オブジェクト画像30を操作することができる。   By adjusting the transparency of the extended area image 60 and the object image 30, the user can operate the object image 30 while confirming the background image 53 positioned on the back of the extended area image 60 and the object image 30. .

なお、表示制御部14Hは、ユーザによるUI部19の操作指示がなされてから予め定めた時間の期間のみ、オブジェクト画像30および拡張領域画像60の透過度を調整してもよい。このような期間にのみ、オブジェクト画像30および拡張領域画像60の透過度を調整することで、ユーザがUI部19を操作中である期間にのみ、拡張領域画像60およびオブジェクト画像30を半透明にして表示することができる。   Note that the display control unit 14H may adjust the transparency of the object image 30 and the extended area image 60 only during a predetermined time period after the user gives an instruction to operate the UI unit 19. By adjusting the transparency of the object image 30 and the extended area image 60 only in such a period, the extended area image 60 and the object image 30 are made translucent only during a period when the user is operating the UI unit 19. Can be displayed.

ここで、更に、本実施の形態の制御部14では、ユーザによるUI部19の操作指示によって、オブジェクト画像30を仮想オブジェクト42の拡張領域画像60内で移動させることが可能である。   Here, the control unit 14 according to the present embodiment can further move the object image 30 within the extended area image 60 of the virtual object 42 in accordance with an operation instruction of the UI unit 19 by the user.

図4に戻り、具体的には、受付部14Iが、第1の移動指示情報を含む、指示情報を受け付ける場合がある。第1の移動指示情報は、仮想オブジェクト42上でのオブジェクト画像30の移動指示と、オブジェクト画像30の仮想立体物40上での移動量および移動方向を二次元座標で示す情報と、を含む。この二次元座標は、UI部19(表示部20)の表示面上の座標である。   Returning to FIG. 4, specifically, the receiving unit 14I may receive instruction information including the first movement instruction information. The first movement instruction information includes a movement instruction of the object image 30 on the virtual object 42 and information indicating the movement amount and movement direction of the object image 30 on the virtual three-dimensional object 40 in two-dimensional coordinates. The two-dimensional coordinates are coordinates on the display surface of the UI unit 19 (display unit 20).

例えば、ユーザは、UI部19を操作することで、仮想オブジェクト42上での移動モードへの変更を指示した後に、UI部19に表示されたオブジェクト画像30をスライド操作する。UI部19は、仮想オブジェクト42上での移動モードへの変更、および、オブジェクト画像30のスライド操作を受け付ける。すると、UI部19は、スライド操作によって示されるUI部19の表示面上におけるオブジェクト画像30の移動量および移動方向を、オブジェクト画像30の仮想立体物40上での移動量および移動方向として受け付ける。そして、UI部19は、仮想オブジェクト42上での移動指示と、オブジェクト画像30の仮想立体物40上での移動量および移動方向を二次元座標で示す情報と、を含む第1の移動指示情報を、受付部14Iへ出力する。   For example, the user operates the UI unit 19 to instruct a change to the movement mode on the virtual object 42 and then slides the object image 30 displayed on the UI unit 19. The UI unit 19 receives a change to the movement mode on the virtual object 42 and a slide operation of the object image 30. Then, the UI unit 19 receives the movement amount and movement direction of the object image 30 on the display surface of the UI unit 19 indicated by the slide operation as the movement amount and movement direction of the object image 30 on the virtual three-dimensional object 40. Then, the UI unit 19 includes first movement instruction information including a movement instruction on the virtual object 42 and information indicating the movement amount and movement direction of the object image 30 on the virtual three-dimensional object 40 in two-dimensional coordinates. Is output to the reception unit 14I.

受付部14Iは、UI部19から第1の移動指示情報を受付ける。   The accepting unit 14I accepts the first movement instruction information from the UI unit 19.

移動部14Lは、UI部19に表示されているオブジェクト画像30に対応する仮想オブジェクト42を、受付けた第1の移動指示情報に応じた移動量分、該第1の移動指示情報に応じた移動方向へ、仮想立体物40上の拡張領域62内で移動させる。   The moving unit 14L moves the virtual object 42 corresponding to the object image 30 displayed on the UI unit 19 by the moving amount corresponding to the received first moving instruction information according to the first moving instruction information. It moves in the direction within the extension area 62 on the virtual three-dimensional object 40.

詳細には、移動部14Lは、第1の移動指示情報に含まれる、二次元座標によって示される移動量および移動方向を示す情報から、上述した変換関数の逆変換関数を用いて、仮想三次元空間における三次元座標によって示される移動量および移動方向を算出する。そして、移動部14Lは、UI部19に表示されているオブジェクト画像30に対応する仮想オブジェクト42を、該仮想オブジェクト42の貼り付けられた仮想立体物40における拡張領域62上で、算出した三次元座標によって示される移動量および移動方向に移動させる。   Specifically, the moving unit 14L uses the inverse transformation function of the transformation function described above from the information indicating the movement amount and the movement direction indicated by the two-dimensional coordinates included in the first movement instruction information. A movement amount and a movement direction indicated by the three-dimensional coordinates in the space are calculated. Then, the moving unit 14L calculates the three-dimensional calculated virtual object 42 corresponding to the object image 30 displayed on the UI unit 19 on the extended region 62 in the virtual three-dimensional object 40 to which the virtual object 42 is pasted. It is moved in the movement amount and movement direction indicated by the coordinates.

図11および図12を用いて具体的に説明する。図12は、仮想オブジェクト42Aの移動の説明図である。例えば、受付部14Iが、仮想立体物40の曲率方向に沿った移動方向を示す情報含む、第1の移動指示情報を受付けたとする。ここで、仮想立体物40が円柱状であると仮定する。この場合、移動部14Lは、円柱状の仮想立体物40の円中心(円状の断面の中心)を回転中心として、仮想オブジェクト42Aを、拡張領域画像60内において、操作指示された移動方向に応じた回転方向に回転させる。これによって、オブジェクト画像30Aが、拡張領域画像60内で移動する(図11(A)、図11(B)、図12(A)、図12(B)参照)。   This will be specifically described with reference to FIGS. 11 and 12. FIG. 12 is an explanatory diagram of the movement of the virtual object 42A. For example, it is assumed that the reception unit 14I receives first movement instruction information including information indicating a movement direction along the curvature direction of the virtual three-dimensional object 40. Here, it is assumed that the virtual three-dimensional object 40 is cylindrical. In this case, the moving unit 14 </ b> L moves the virtual object 42 </ b> A in the moving direction in which the operation is instructed in the extended region image 60 with the center of the circle (the center of the circular cross section) of the cylindrical virtual solid object 40 as the rotation center. Rotate in the corresponding rotation direction. As a result, the object image 30A moves within the extended area image 60 (see FIGS. 11A, 11B, 12A, and 12B).

例えば、移動部14Lは、図12(A)に示す位置に位置する仮想オブジェクト42Aを、仮想立体物40Aの円中心を回転中心として、算出した移動方向(回転方向(図12中、矢印XA方向参照))に回転させる(図12(B)参照)。   For example, the moving unit 14L calculates the moving direction (rotation direction (the direction of the arrow XA in FIG. 12) with the virtual object 42A located at the position shown in FIG. (See FIG. 12B).

第2の生成部14Rは、受付部14Iが第1の移動指示情報を受付けた場合、仮想立体物40における拡張領域62内の、該第1の移動指示情報に応じて移動部14Lによって移動された位置に貼り付けられた仮想オブジェクト42A(図12(B)参照)を、二次元空間に射影したオブジェクト画像30Aを生成する(図11(B)参照)。   When the reception unit 14I receives the first movement instruction information, the second generation unit 14R is moved by the movement unit 14L according to the first movement instruction information in the extension area 62 of the virtual three-dimensional object 40. An object image 30A is generated by projecting the virtual object 42A (see FIG. 12B) pasted at the selected position into a two-dimensional space (see FIG. 11B).

そして、表示制御部14Hは、背景画像53に、拡張領域画像60および移動後のオブジェクト画像30Aを重畳した重畳画像54を表示部20(UI部19)へ表示すればよい(図11(B)参照)。   Then, the display control unit 14H may display on the display unit 20 (UI unit 19) a superimposed image 54 in which the extended region image 60 and the moved object image 30A are superimposed on the background image 53 (FIG. 11B). reference).

このように、オブジェクト画像30に対応する仮想オブジェクト42を、円柱状の仮想立体物40の中心を円中心として回転させることで、オブジェクト画像30に対応する仮想オブジェクト42が、仮想三次元空間上の仮想立体物40の表面に沿って、拡張領域画像60内を移動したかのような表示を行うことができる。このため、制御部14は、ユーザに対して、様々な角度に配置した仮想オブジェクト42の状態を、二次元のオブジェクト画像30で確認可能に提供することができる。   In this way, by rotating the virtual object 42 corresponding to the object image 30 around the center of the cylindrical virtual solid object 40, the virtual object 42 corresponding to the object image 30 is displayed in the virtual three-dimensional space. A display as if it moved in the extended area image 60 along the surface of the virtual three-dimensional object 40 can be performed. For this reason, the control unit 14 can provide the user with the state of the virtual object 42 arranged at various angles so as to be confirmed by the two-dimensional object image 30.

また、UI部19には、拡張領域画像60が表示されることから、ユーザに対して、UI部19に表示されない仮想立体物40の形状を容易に提供することが可能となる。   In addition, since the extended area image 60 is displayed on the UI unit 19, the shape of the virtual three-dimensional object 40 that is not displayed on the UI unit 19 can be easily provided to the user.

このとき、表示制御部14Hは、仮想オブジェクト42を射影したオブジェクト画像30における、該仮想オブジェクト42の貼り付けられた仮想立体物40の表示面側とは反対側の背面側の領域を非表示することが好ましい。   At this time, the display control unit 14H hides a region on the back side opposite to the display surface side of the virtual three-dimensional object 40 to which the virtual object 42 is pasted in the object image 30 in which the virtual object 42 is projected. It is preferable.

すなわち、図12(B)に示すように、仮想オブジェクト42Aの一部の領域が、視点位置ZA側(すなわち、表示面側)から見たときに、仮想立体物40Aの背面側に位置する場合がある。図12(B)に示す例では、仮想オブジェクト42Aにおける、領域PAは仮想立体物40Aの前面側に位置しているが、領域PBは仮想立体物40Aの背面側に位置している。   That is, as shown in FIG. 12B, when a part of the virtual object 42A is located on the back side of the virtual three-dimensional object 40A when viewed from the viewpoint position ZA side (that is, the display surface side). There is. In the example shown in FIG. 12B, the region PA in the virtual object 42A is located on the front side of the virtual three-dimensional object 40A, but the region PB is located on the back side of the virtual three-dimensional object 40A.

この場合、表示制御部14Hは、仮想オブジェクト42Aにおける、仮想立体物40Aの背面側の領域PBを非表示とすることが好ましい。   In this case, the display control unit 14H preferably hides the area PB on the back side of the virtual three-dimensional object 40A in the virtual object 42A.

また、表示制御部14Hは、拡張領域62を射影した拡張領域画像60についても同様に、仮想立体物40Aの背面側の領域を非表示とすることが好ましい。   Similarly, the display control unit 14H preferably does not display the area on the back side of the virtual three-dimensional object 40A in the extended area image 60 obtained by projecting the extended area 62.

このため、図11(B)に示すように、表示制御部14Hは、拡張領域62および仮想オブジェクト42Aにおける前面側の領域PAのみを二次元空間に射影した、拡張領域画像60およびオブジェクト画像30Aを、表示部20に表示することとなる。   For this reason, as shown in FIG. 11B, the display control unit 14H displays an extended region image 60 and an object image 30A obtained by projecting only the front region PA of the extended region 62 and the virtual object 42A into a two-dimensional space. Will be displayed on the display unit 20.

このため、本実施の形態の画像処理装置10では、オブジェクト画像30Aの位置に応じて、オブジェクト画像30Aの一部が、あたかも仮想立体物40Aの背面側に隠れているかのように表示することが可能となる。また、画像処理装置10では、遠近感を考慮した、オブジェクト画像30Aの表示が可能となる。   Therefore, in the image processing apparatus 10 according to the present embodiment, a part of the object image 30A can be displayed as if it is hidden behind the virtual three-dimensional object 40A according to the position of the object image 30A. It becomes possible. Further, the image processing apparatus 10 can display the object image 30A in consideration of perspective.

なお、仮想立体物40の形状は、円柱状などの曲面を有する形状に限定されない。例えば、仮想立体物40の形状は、隣接する2平面を含む形状であってもよい。具体的には、仮想立体物40の形状は、四角柱などの、複数の平面を有する立方体状であってもよい。   Note that the shape of the virtual three-dimensional object 40 is not limited to a shape having a curved surface such as a columnar shape. For example, the shape of the virtual three-dimensional object 40 may be a shape including two adjacent planes. Specifically, the shape of the virtual three-dimensional object 40 may be a cubic shape having a plurality of planes such as a quadrangular prism.

仮想立体物40の形状は、ユーザによるUI部19による操作指示によって、予め設定すればよい。また、ユーザによるUI部19の操作指示によって、仮想立体物40の形状を切替え可能としてもよい。   The shape of the virtual three-dimensional object 40 may be set in advance by an operation instruction from the UI unit 19 by the user. Further, the shape of the virtual three-dimensional object 40 may be switched by a user's operation instruction on the UI unit 19.

図13は、仮想立体物40が立方体状である場合の、三次元形状算出の説明図である。なお、立方体状の仮想立体物40を、仮想立体物40Bとして説明する。また、仮想立体物40Bに貼り付ける仮想オブジェクト42を、仮想オブジェクト42Bとして説明する。   FIG. 13 is an explanatory diagram for calculating the three-dimensional shape when the virtual three-dimensional object 40 has a cubic shape. The cubic virtual solid object 40 will be described as a virtual solid object 40B. The virtual object 42 to be pasted on the virtual three-dimensional object 40B will be described as the virtual object 42B.

例えば、表示制御部14Hは、貼り付け対象の仮想オブジェクト42Bのオブジェクト画像30BをUI部19に表示する。貼り付け対象の仮想オブジェクト42Bは、例えば、ユーザによるUI部19の操作指示によって選択すればよい。第2の生成部14Rは、選択された仮想オブジェクト42Bを二次元空間に射影することによって、オブジェクト画像30Bを生成する。   For example, the display control unit 14H displays the object image 30B of the virtual object 42B to be pasted on the UI unit 19. The virtual object 42B to be pasted may be selected, for example, by an operation instruction of the UI unit 19 by the user. The second generation unit 14R generates the object image 30B by projecting the selected virtual object 42B to the two-dimensional space.

表示制御部14Hは、選択された仮想オブジェクト42Bのオブジェクト画像30BをUI部19に表示する。オブジェクト画像30Bは、第2の生成部14Rによって仮想オブジェクト42Bを射影することで得られたものである。   The display control unit 14H displays the object image 30B of the selected virtual object 42B on the UI unit 19. The object image 30B is obtained by projecting the virtual object 42B by the second generation unit 14R.

図13(A)は、選択された仮想オブジェクト42Bのオブジェクト画像30BがUI部19に表示された状態の一例を示す図である。図13に示す例では、仮想オブジェクト42Bが矩形状である場合を一例として説明する。   FIG. 13A is a diagram illustrating an example of a state in which the object image 30B of the selected virtual object 42B is displayed on the UI unit 19. In the example illustrated in FIG. 13, a case where the virtual object 42 </ b> B has a rectangular shape will be described as an example.

ユーザは、UI部19に表示されたオブジェクト画像30Bを用いて、該オブジェクト画像30Bに対応する仮想オブジェクト42Bの曲げ形状を操作入力する。図13に示す例では、ユーザは、UI部19の表示面上を操作することで、UI部19に表示されたオブジェクト画像30Bの曲げ位置を調整する。   The user uses the object image 30B displayed on the UI unit 19 to input the bending shape of the virtual object 42B corresponding to the object image 30B. In the example illustrated in FIG. 13, the user adjusts the bending position of the object image 30 </ b> B displayed on the UI unit 19 by operating the display surface of the UI unit 19.

例えば、表示制御部14Hは、仮想直線L1を表示する。ユーザは、画像処理装置10に表示されたオブジェクト画像30Bにおける、曲げ対象の領域を仮想直線L1に一致させるように、オブジェクト画像30Bの表示位置をドラッグ操作などにより移動させる。なお、表示制御部14Hは、背景画像53を解析し、直線状の領域を公知の画像処理によって抽出してもよい。そして、表示制御部14Hは、背景画像53をUI部19に表示し、抽出した直線状の領域を、仮想直線L1として用いてもよい。   For example, the display control unit 14H displays the virtual straight line L1. The user moves the display position of the object image 30B by a drag operation or the like so that the region to be bent in the object image 30B displayed on the image processing apparatus 10 matches the virtual straight line L1. Note that the display control unit 14H may analyze the background image 53 and extract a linear region by known image processing. Then, the display control unit 14H may display the background image 53 on the UI unit 19 and use the extracted linear area as the virtual straight line L1.

取得部14Dは、UI部19に表示されたオブジェクト画像30Bにおける、仮想直線L1に相当する位置を曲げ位置として示す、曲げ形状情報を取得する。   The acquisition unit 14D acquires bending shape information indicating a position corresponding to the virtual straight line L1 in the object image 30B displayed on the UI unit 19 as a bending position.

この場合、形状算出部14Eは、オブジェクト画像30Bに対応する仮想オブジェクト42Bを、曲げ形状情報に含まれる曲げ位置で折り曲げた隣接する2平面を含む、仮想立体物40Bの三次元形状を算出する。   In this case, the shape calculation unit 14E calculates the three-dimensional shape of the virtual three-dimensional object 40B including two adjacent planes obtained by bending the virtual object 42B corresponding to the object image 30B at the bending position included in the bending shape information.

具体的には、図13(B)に示すように、形状算出部14Eは、オブジェクト画像30Bに対応する仮想オブジェクト42Bを、曲げ形状情報に含まれる曲げ位置で折り曲げた2平面を含む、立方体状の仮想立体物40Bを算出する。   Specifically, as illustrated in FIG. 13B, the shape calculation unit 14E includes a cubic shape including two planes obtained by bending the virtual object 42B corresponding to the object image 30B at the bending position included in the bending shape information. The virtual three-dimensional object 40B is calculated.

このように、ユーザによるUI部19の操作指示によって、UI部19(表示部20)の二次元座標を用いて、曲げ位置を含む曲げ形状情報が入力される。このため、ユーザは、任意の曲げ位置を、UI部19の二次元座標を用いて入力することができる。   In this way, bending shape information including a bending position is input using the two-dimensional coordinates of the UI unit 19 (display unit 20) according to an operation instruction of the UI unit 19 by the user. For this reason, the user can input an arbitrary bending position using the two-dimensional coordinates of the UI unit 19.

そして、設定部14Pは、形状算出部14Eによって算出された形状(例えば、立方体状)の仮想立体物40Bの表面の少なくとも一部の領域に、仮想オブジェクト42Bより広い拡張領域62(図13中、拡張領域62D参照)を設定する。設定部14Pは、第2の生成部14Rと同様にして、仮想立体物40Bの表面に仮想オブジェクト42Bを貼り付けた上で、拡張領域62Dを設定すればよい。そして、第1の生成部14Qは、拡張領域62Dを二次元空間に射影した、拡張領域画像60を生成する。   Then, the setting unit 14P includes an extended region 62 (in FIG. 13) wider than the virtual object 42B in at least a partial region of the surface of the virtual solid object 40B having a shape (for example, a cubic shape) calculated by the shape calculating unit 14E. Set the extended area 62D). The setting unit 14P may set the extension region 62D after pasting the virtual object 42B on the surface of the virtual three-dimensional object 40B in the same manner as the second generation unit 14R. Then, the first generation unit 14Q generates an extended area image 60 obtained by projecting the extended area 62D into the two-dimensional space.

また、第2の生成部14Rは、形状算出部14Eによって算出された形状(例えば、立方体状)の仮想立体物40Bの表面における、隣接する2平面の境界に、操作指示された曲げ位置が一致するように、仮想オブジェクト42Bを貼り付ける(図13(C)参照)。このとき、第2の生成部14Rは、拡張領域62D内に仮想立体物40Bが位置するように、仮想オブジェクト42Bを貼り付ける(図13(C)参照)。   Further, the second generation unit 14R matches the bending position instructed to the boundary between two adjacent planes on the surface of the virtual solid object 40B having a shape (for example, a cubic shape) calculated by the shape calculation unit 14E. Then, the virtual object 42B is pasted (see FIG. 13C). At this time, the second generation unit 14R pastes the virtual object 42B so that the virtual three-dimensional object 40B is positioned in the extension region 62D (see FIG. 13C).

そして、第2の生成部14Rは、この仮想立体物40Bの表面の、拡張領域62D内に貼り付けた仮想オブジェクト42Bを、二次元空間に射影する。この射影によって、第2の生成部14Rは、オブジェクト画像30Bを生成する。そして、表示制御部14Hは、背景画像53に、拡張領域62Dおよびオブジェクト画像30Bを重畳した重畳画像54を、UI部19(表示部20)へ表示する。   Then, the second generation unit 14R projects the virtual object 42B pasted in the extension area 62D on the surface of the virtual three-dimensional object 40B into the two-dimensional space. By this projection, the second generation unit 14R generates the object image 30B. Then, the display control unit 14H displays a superimposed image 54 obtained by superimposing the extension region 62D and the object image 30B on the background image 53 on the UI unit 19 (display unit 20).

なお、曲げ形状情報は、曲げ角度を含んでもよい。ユーザは、UI部19の操作指示によって、曲げ位置を指定すると共に、曲げ角度を操作入力する。例えば、ユーザは、UI部19の操作指示によって曲げ位置を指定した後に、UI部19の操作指示によって、オブジェクト画像30Bの4頂点の内の2頂点の、折り曲げ後の位置を操作入力する。すると、取得部14Dは、曲げ角度を更に含む曲げ形状情報を取得する。   Note that the bending shape information may include a bending angle. The user designates a bending position and inputs a bending angle by an operation instruction from the UI unit 19. For example, after the user designates the bending position by the operation instruction of the UI unit 19, the user inputs the position after bending of the two vertices of the four vertices of the object image 30B by the operation instruction of the UI unit 19. Then, the acquisition unit 14D acquires bending shape information that further includes a bending angle.

この場合、形状算出部14Eは、隣接する2平面の成す角度が、曲げ形状情報に含まれる曲げ角度を示す、仮想立体物40Bの三次元形状を算出すればよい。   In this case, the shape calculation unit 14E may calculate the three-dimensional shape of the virtual three-dimensional object 40B in which the angle formed by the two adjacent planes indicates the bending angle included in the bending shape information.

この場合、図13(B)に示すように、形状算出部14Eは、隣接する2平面の成す角度が、曲げ形状情報に含まれる曲げ角度θを示す、仮想立体物40Bの三次元形状を算出する。   In this case, as shown in FIG. 13B, the shape calculation unit 14E calculates the three-dimensional shape of the virtual three-dimensional object 40B in which the angle formed by the two adjacent planes indicates the bending angle θ included in the bending shape information. To do.

また、形状算出部14Eは、仮想立体物40Bにおける、取得した曲げ形状情報に含まれる曲げ位置を辺とする隣接する2平面の大きさが、予め定めた大きさである、仮想立体物40Bの三次元形状を算出すればよい。   In addition, the shape calculation unit 14E of the virtual three-dimensional object 40B, in which the size of two adjacent planes with the bending position included in the acquired bending shape information as a side is a predetermined size, is the virtual three-dimensional object 40B. What is necessary is just to calculate a three-dimensional shape.

そして、設定部14Pは、仮想立体物40Bにおける該2平面の、該曲げ位置から曲げ方向の一方の辺までの領域と、該曲げ位置から他方の辺までの領域と、を含む拡張領域62Dを設定することが好ましい(図13(C)参照)。   Then, the setting unit 14P includes an extension region 62D that includes a region from the bending position to one side in the bending direction and a region from the bending position to the other side of the two planes in the virtual three-dimensional object 40B. It is preferable to set (see FIG. 13C).

仮想立体物40Bにおける、曲げ位置から曲げ方向の一方の辺、とは、仮想オブジェクト42Bを操作入力された曲げ位置で折り曲げたときに、仮想立体物40Bにおける、該折り曲げ位置を共通の辺として隣接す2平面の内の一方の1平面の、該共通の辺に平行な辺である。そして、上記他方の辺とは、他方の1平面の、該共通の辺に平行な辺である。   The one side in the bending direction from the bending position in the virtual three-dimensional object 40B is adjacent to the virtual three-dimensional object 40B with the bending position as the common side when the virtual object 42B is bent at the operation-input bending position. This is a side parallel to the common side of one of the two planes. The other side is a side parallel to the common side on the other one plane.

また、上記と同様に、曲げ形状情報は、仮想オブジェクト42Bの曲げ方向を更に含んでいてもよい。   Similarly to the above, the bending shape information may further include the bending direction of the virtual object 42B.

そして、第1の生成部14Qは、拡張領域62Dを二次元空間に射影した拡張領域画像60を生成する(図13(B)参照)。   Then, the first generation unit 14Q generates an extended area image 60 obtained by projecting the extended area 62D into the two-dimensional space (see FIG. 13B).

また、第2の生成部14Rは、形状算出部14Eで算出された三次元形状の仮想立体物40Bの表面における、拡張領域画像60内に仮想オブジェクト42Bを貼り付ける。このため、図13(C)に示すように、仮想オブジェクト42Bは、形状算出部14Eで算出された三次元形状の仮想立体物40Bの表面の2平面における、拡張領域画像60内に、仮想直線L1を曲げ位置として折り曲げられて貼り付けられた状態となる。   The second generation unit 14R pastes the virtual object 42B in the extended area image 60 on the surface of the three-dimensional virtual three-dimensional object 40B calculated by the shape calculation unit 14E. For this reason, as shown in FIG. 13C, the virtual object 42B includes a virtual straight line in the extended area image 60 on the two planes of the surface of the three-dimensional virtual object 40B calculated by the shape calculation unit 14E. L1 is bent and pasted with the bending position.

そして、第2の生成部14Rは、この仮想立体物40Bの表面の拡張領域62D内に貼り付けられた仮想オブジェクト42Bを、二次元空間に射影したオブジェクト画像30Bを生成する(図13(B)参照)。   Then, the second generation unit 14R generates an object image 30B obtained by projecting the virtual object 42B pasted in the extended region 62D on the surface of the virtual three-dimensional object 40B into a two-dimensional space (FIG. 13B). reference).

このように、仮想立体物40は、立方体状の仮想立体物40Bであってもよい。   Thus, the virtual solid object 40 may be a cubic virtual solid object 40B.

図4に戻り説明を続ける。   Returning to FIG.

受付部14Iは、第2の移動指示情報を含む、指示情報を受付けてもよい。第2の移動指示情報は、オブジェクト画像30の、UI部19の表示面上での移動量および移動方向を、二次元座標で示す。   The reception unit 14I may receive instruction information including the second movement instruction information. The second movement instruction information indicates the movement amount and movement direction of the object image 30 on the display surface of the UI unit 19 in two-dimensional coordinates.

第2の移動指示情報は、オブジェクト画像30を、仮想立体物40上ではなく、UI部19の表示面内で移動させることを示す。言い換えると、第2の移動指示情報は、オブジェクト画像30に対応する仮想オブジェクト42を、仮想立体物40に貼り付けた状態のままで、表示面内を移動させることを示す。   The second movement instruction information indicates that the object image 30 is moved on the display surface of the UI unit 19 instead of on the virtual three-dimensional object 40. In other words, the second movement instruction information indicates that the virtual object 42 corresponding to the object image 30 is moved in the display surface while being attached to the virtual three-dimensional object 40.

詳細には、第2の移動指示情報は、表示面上でのオブジェクト画像30の移動指示と、オブジェクト画像30の表示面上での移動量および移動方向を二次元座標で示す情報と、を含む。この二次元座標は、UI部19(表示部20)の表示面上の座標である。   Specifically, the second movement instruction information includes a movement instruction of the object image 30 on the display surface, and information indicating the movement amount and movement direction of the object image 30 on the display surface in two-dimensional coordinates. . The two-dimensional coordinates are coordinates on the display surface of the UI unit 19 (display unit 20).

例えば、ユーザは、UI部19を操作することで、表示面上での移動モードへの変更を指示した後に、UI部19に表示されたオブジェクト画像30をスライド操作する。UI部19は、表示面上での移動モードへの変更、および、オブジェクト画像30のスライド操作を受け付ける。すると、UI部19は、スライド操作によって示されるUI部19の表示面上におけるオブジェクト画像30の移動量および移動方向を、オブジェクト画像30の表示面上での移動量および移動方向として受け付ける。そして、UI部19は、表示面上での移動指示と、オブジェクト画像30の移動量および移動方向を二次元座標で示す情報と、を含む第2の移動指示情報を、受付部14Iへ出力する。   For example, the user operates the UI unit 19 to instruct a change to the movement mode on the display surface, and then slides the object image 30 displayed on the UI unit 19. The UI unit 19 receives a change to the movement mode on the display surface and a slide operation of the object image 30. Then, the UI unit 19 receives the movement amount and movement direction of the object image 30 on the display surface of the UI unit 19 indicated by the slide operation as the movement amount and movement direction of the object image 30 on the display surface. Then, the UI unit 19 outputs second movement instruction information including a movement instruction on the display surface and information indicating the movement amount and movement direction of the object image 30 in two-dimensional coordinates to the reception unit 14I. .

関数補正部14Mは、第2の移動指示情報に応じた移動量および方向に、仮想オブジェクト42が二次元座標上で移動するように、仮想オブジェクト42を二次元空間に射影するための変換関数を補正する。   The function correction unit 14M generates a conversion function for projecting the virtual object 42 to the two-dimensional space so that the virtual object 42 moves on the two-dimensional coordinates in the movement amount and direction according to the second movement instruction information. to correct.

例えば、関数補正部14Mは、二次元座標での平行移動量を、変換関数の逆関数により三次元座標での平行移動量に変換する。そして、関数補正部14Mは、変換した三次元座標での平行移動量分、仮想オブジェクト42を移動させるように変換関数を補正する。   For example, the function correction unit 14M converts the parallel movement amount in the two-dimensional coordinates into the parallel movement amount in the three-dimensional coordinates by using an inverse function of the conversion function. Then, the function correction unit 14M corrects the conversion function so that the virtual object 42 is moved by the amount of parallel movement in the converted three-dimensional coordinates.

この場合、第2の生成部14Rは、関数補正部14Mで補正された変換関数に基づいて、オブジェクト画像30を生成する。また、第1の生成部14Qは、関数補正部14Mで補正された変換関数に基づいて、拡張領域画像60を生成する。   In this case, the second generation unit 14R generates the object image 30 based on the conversion function corrected by the function correction unit 14M. The first generation unit 14Q generates the extended region image 60 based on the conversion function corrected by the function correction unit 14M.

図14は、オブジェクト画像30の移動の説明図である。例えば、ユーザによるUI部19の操作指示によって、オブジェクト画像30の図14(A)中、右方向への移動が操作指示されたとする。この場合、関数補正部14Mが補正した変換関数を用いて、第2の生成部14Rがオブジェクト画像30を生成する。すると、図14(B)に示すように、オブジェクト画像30が操作指示によって指示された方向に移動した重畳画像54が、UI部19に表示されることとなる。   FIG. 14 is an explanatory diagram of the movement of the object image 30. For example, it is assumed that an operation instruction for moving the object image 30 to the right in FIG. 14A is given by an operation instruction of the UI unit 19 by the user. In this case, the second generation unit 14R generates the object image 30 using the conversion function corrected by the function correction unit 14M. Then, as illustrated in FIG. 14B, the superimposed image 54 in which the object image 30 is moved in the direction instructed by the operation instruction is displayed on the UI unit 19.

また、関数補正部14Mが補正した変換関数を用いて、第1の生成部14Qが拡張領域画像60を生成する。このため、図14(B)に示すように、拡張領域画像60上に重畳したオブジェクト画像30が、操作指示によって指示された方向に移動した重畳画像54が、UI部19に表示されることとなる。   Further, the first generation unit 14Q generates the extended area image 60 using the conversion function corrected by the function correction unit 14M. For this reason, as shown in FIG. 14B, the superimposed image 54 in which the object image 30 superimposed on the extended region image 60 is moved in the direction instructed by the operation instruction is displayed on the UI unit 19. Become.

光源設定部14Oは、光源の光源効果を示す光源情報を設定する。本実施の形態では、光源設定部14Oは、受付部14Iで受け付けた光源情報を設定する。ユーザは、UI部19を操作することで、オブジェクト画像30に付与する光源効果を示す光源情報を入力する。受付部14Iは、UI部19から光源情報を受付け、光源設定部14Oは、受付けた光源情報を設定する。   The light source setting unit 14O sets light source information indicating the light source effect of the light source. In the present embodiment, the light source setting unit 14O sets the light source information received by the receiving unit 14I. The user operates the UI unit 19 to input light source information indicating the light source effect to be applied to the object image 30. The reception unit 14I receives light source information from the UI unit 19, and the light source setting unit 14O sets the received light source information.

受付部14Iが光源情報を受け付け、光源設定部14Oが光源情報を設定した場合、表示制御部14Hは、オブジェクト画像30に、光源情報によって示される光源効果を付与することが好ましい。光源効果の付与には、Open GLを用いればよい。   When the reception unit 14I receives light source information and the light source setting unit 14O sets light source information, the display control unit 14H preferably gives the object image 30 the light source effect indicated by the light source information. For providing the light source effect, Open GL may be used.

姿勢補正部14Nは、拡張領域画像60および仮想オブジェクト42の姿勢を補正する。図15は、姿勢補正の説明図である。姿勢補正部14Nは、姿勢検出部14Aが検出した姿勢情報に応じて、仮想オブジェクト42の姿勢を補正する。   The posture correction unit 14N corrects the postures of the extended region image 60 and the virtual object 42. FIG. 15 is an explanatory diagram of posture correction. The posture correction unit 14N corrects the posture of the virtual object 42 according to the posture information detected by the posture detection unit 14A.

具体的には、実空間における画像処理装置10の撮影部12の、初期設定時における初期姿勢からの変化量(姿勢変換量)をA=(α,β,γ)とした場合、姿勢補正部14Nは、仮想オブジェクト42の姿勢を、姿勢変化量Aに逆符号を乗じた姿勢補正量B=(−α,−β,−γ)分、基準姿勢から回転補正する。   Specifically, when the amount of change (posture conversion amount) from the initial posture at the time of initial setting of the photographing unit 12 of the image processing apparatus 10 in real space is A = (α, β, γ), the posture correction unit 14N rotationally corrects the posture of the virtual object 42 from the reference posture by a posture correction amount B = (− α, −β, −γ) obtained by multiplying the posture change amount A by an opposite sign.

具体的には、姿勢検出部14Aが、姿勢情報として、互いに直交するx軸、y軸およびz軸のそれぞれを中心とした、初期姿勢からの回転角の変化量(ロール角の変化量α、ピッチ角の変化量βおよびヨー角の変化量γ)を検出する。そして、姿勢補正部14Nは、三次元座標において、仮想オブジェクト42のロール角、ピッチ角およびヨー角のそれぞれを、予め設定されている基準姿勢から、姿勢情報とは逆符号の回転角分(−α,−β,−γ)、回転させる。これにより、姿勢補正部14Nは、仮想オブジェクト42の姿勢を画像処理装置10の撮影部12の姿勢の変化とは逆に動かすように補正する。   Specifically, the posture detection unit 14A uses, as posture information, the amount of change in the rotation angle from the initial posture (the amount of change in the roll angle α, around the x axis, the y axis, and the z axis orthogonal to each other). A pitch angle change amount β and a yaw angle change amount γ) are detected. Then, the posture correction unit 14N determines the roll angle, the pitch angle, and the yaw angle of the virtual object 42 in the three-dimensional coordinates from the preset reference posture by a rotation angle (-) opposite to the posture information. α, -β, -γ), rotate. Accordingly, the posture correction unit 14N corrects the posture of the virtual object 42 so as to move in the opposite direction to the change in the posture of the photographing unit 12 of the image processing apparatus 10.

また、姿勢補正部14Nは、拡張領域62と同様にして、拡張領域62の姿勢を補正する。   Further, the posture correcting unit 14N corrects the posture of the extended region 62 in the same manner as the extended region 62.

図16は、姿勢変化に応じた、拡張領域画像60およびオブジェクト画像30の形状変化の説明図である。姿勢補正部14Nが仮想オブジェクトの姿勢を補正した結果、画像処理装置10は、撮影方向が変化した場合であっても、静止している物体を異なる方向から撮影したように、オブジェクト画像30の形状を変化させることができる。また、同様に、画像処理装置10は、拡張領域画像60の形状を変化させることができる。   FIG. 16 is an explanatory diagram of changes in the shapes of the extended region image 60 and the object image 30 in accordance with the posture change. As a result of the posture correction unit 14N correcting the posture of the virtual object, the image processing apparatus 10 can capture the shape of the object image 30 as if the stationary object was photographed from different directions even when the photographing direction was changed. Can be changed. Similarly, the image processing apparatus 10 can change the shape of the extended region image 60.

例えば、図16に示すように、画像処理装置10は、撮影方向を例えばA1,A2,A3のように変化させた場合には、オブジェクト画像30が壁31に貼り付いているかのように、オブジェクト画像30の形状を変化させることができる。また同様に、画像処理装置10は、拡張領域画像60の形状を変化させることができる。   For example, as illustrated in FIG. 16, when the image processing apparatus 10 changes the shooting direction, for example, A1, A2, and A3, the object image 30 appears as if it is attached to the wall 31. The shape of the image 30 can be changed. Similarly, the image processing apparatus 10 can change the shape of the extended region image 60.

なお、姿勢補正部14Nは、行列を用いて、オブジェクト画像30および拡張領域画像60の姿勢を補正してもよい。例えば、式(1)を用いて、姿勢を補正してもよい。   Note that the posture correction unit 14N may correct the postures of the object image 30 and the extended region image 60 using a matrix. For example, the posture may be corrected using Equation (1).

Figure 2017059042
Figure 2017059042

式(1)中、(a,b,c)は、姿勢変更前のオブジェクト画像30(または拡張領域画像60)の重心位置を示す。また、(a’,b’,c’)は、仮想三次元空間における姿勢変更後の位置Lの重心位置を示す。Mは、姿勢情報を示す、移動回転行列である。(tx’,ty’,tz’)は、姿勢変更後のオブジェクト画像30(または拡張領域画像60)の頂点の座標を示す。   In equation (1), (a, b, c) represents the barycentric position of the object image 30 (or the extended region image 60) before the posture change. Further, (a ′, b ′, c ′) indicates the barycentric position of the position L after the posture change in the virtual three-dimensional space. M is a movement rotation matrix indicating posture information. (Tx ', ty', tz ') indicates the coordinates of the vertex of the object image 30 (or the extended region image 60) after the posture change.

すなわち、オブジェクト画像30および拡張領域画像60の重心位置の座標を原点として、位置Lにオブジェクト画像30および拡張領域画像60を移動させたときの、位置Lの座標行列は、原点座標行列Oと、移動回転行列Mと、の積に等しい。このため、移動回転行列Mを保持共有することで、オブジェクト画像30および拡張領域画像60を、同じ姿勢、同じ奥行きで表示することができる。   That is, the coordinate matrix of the position L when the object image 30 and the extended area image 60 are moved to the position L with the coordinates of the center of gravity of the object image 30 and the extended area image 60 as the origin is the origin coordinate matrix O and It is equal to the product of the moving rotation matrix M. For this reason, the object image 30 and the extended area image 60 can be displayed with the same posture and the same depth by holding and sharing the movement rotation matrix M.

次に、制御部14で実行する表示処理を説明する。   Next, display processing executed by the control unit 14 will be described.

図17は、本実施の形態の制御部14で実行する表示処理の手順を示すフローチャートである。   FIG. 17 is a flowchart illustrating a procedure of display processing executed by the control unit 14 according to the present embodiment.

まず、受付部14Iが、貼り付け対象の仮想オブジェクト42の選択をUI部19から受け付ける(ステップS100)。次に、撮影部12が撮影を開始する(ステップS102)。ステップS102の処理によって、背景画像53の取得が開始される。   First, the reception unit 14I receives selection of the virtual object 42 to be pasted from the UI unit 19 (step S100). Next, the photographing unit 12 starts photographing (step S102). Acquisition of the background image 53 is started by the process of step S102.

次に、合成部14Gが、ステップS102で取得した背景画像53上に、ステップS100で受け付けた仮想オブジェクト42のオブジェクト画像30を重畳し、表示制御部14Hが、UI部19に表示する(ステップS103)。   Next, the composition unit 14G superimposes the object image 30 of the virtual object 42 received in step S100 on the background image 53 acquired in step S102, and the display control unit 14H displays it on the UI unit 19 (step S103). ).

次に、受付部14Iが、UI部19から曲げ形状の操作入力を取得したか否かを判断する(ステップS104)。受付部14Iは、曲げ形状情報を含む、指示情報をUI部19から受け付けたか否かを判別することで、ステップS104の判断を行う。   Next, the reception unit 14I determines whether or not a bending shape operation input has been acquired from the UI unit 19 (step S104). The receiving unit 14I determines whether or not the instruction information including the bending shape information has been received from the UI unit 19 to perform the determination in step S104.

ステップS104で肯定判断すると(ステップS104:Yes)ステップS106へ進む。   If an affirmative determination is made in step S104 (step S104: Yes), the process proceeds to step S106.

ステップS106では、取得部14Dが、曲げ形状情報を取得する(ステップS106)。取得部14Dは、指示情報に含まれる、曲げ形状情報を取得する。次に、形状算出部14Eが、ステップS106で取得した曲げ形状情報に応じて、仮想立体物40の三次元形状を算出する(ステップS108)。   In step S106, the acquisition unit 14D acquires bending shape information (step S106). The acquisition unit 14D acquires bending shape information included in the instruction information. Next, the shape calculation unit 14E calculates the three-dimensional shape of the virtual three-dimensional object 40 according to the bending shape information acquired in Step S106 (Step S108).

次に、設定部14Pが、ステップS108で算出した仮想立体物40の表面の少なくとも一部の領域に、ステップS100で受け付けた仮想オブジェクト42より広い、拡張領域62を設定する(ステップS110)。   Next, the setting unit 14P sets an extended area 62 wider than the virtual object 42 received in step S100 in at least a partial area of the surface of the virtual three-dimensional object 40 calculated in step S108 (step S110).

次に、第1の生成部14Qが、ステップS110で設定した拡張領域62を、二次元空間に射影した拡張領域画像60を生成する(ステップS112)。   Next, the first generation unit 14Q generates an extended region image 60 obtained by projecting the extended region 62 set in step S110 into a two-dimensional space (step S112).

次に、第2の生成部14Rが、ステップS108で算出された三次元形状の仮想立体物40の表面における、ステップS110で設定された拡張領域62上に、ステップS100で受け付けた仮想オブジェクト42を貼り付ける。そして、貼り付けた仮想オブジェクト42を二次元空間に射影したオブジェクト画像30を生成する(ステップS114)。   Next, the second generation unit 14R places the virtual object 42 received in step S100 on the extended region 62 set in step S110 on the surface of the three-dimensional virtual three-dimensional object 40 calculated in step S108. paste. Then, an object image 30 obtained by projecting the pasted virtual object 42 into the two-dimensional space is generated (step S114).

次に、合成部14Gが、背景画像53上に、ステップS112で生成した拡張領域画像60と、ステップS114で生成したオブジェクト画像30と、をこの順に重畳した重畳画像54を生成する(ステップS116)。表示制御部14Hは、ステップS116で生成された重畳画像54をUI部19(表示部20)へ表示する(ステップS118)。   Next, the synthesizing unit 14G generates a superimposed image 54 in which the extended region image 60 generated in step S112 and the object image 30 generated in step S114 are superimposed in this order on the background image 53 (step S116). . The display control unit 14H displays the superimposed image 54 generated in step S116 on the UI unit 19 (display unit 20) (step S118).

次に、制御部14は、表示処理を終了するか否かを判断する(ステップS120)。ステップS120の判断は、例えば、UI部19から終了を示す操作指示がユーザによって操作入力されたか否かを判別することで行う。ステップS116で否定判断すると(ステップS120:No)、ステップS104へ戻る。一方、ステップS120で肯定判断すると(ステップS120:Yes)、本ルーチンを終了する。   Next, the control unit 14 determines whether or not to end the display process (step S120). The determination in step S120 is performed, for example, by determining whether or not an operation instruction indicating the end is input from the UI unit 19 by the user. If a negative determination is made in step S116 (step S120: No), the process returns to step S104. On the other hand, if an affirmative determination is made in step S120 (step S120: Yes), this routine is terminated.

一方、上記ステップS104で否定判断すると(ステップS104:No)、上記ステップS118へ進む。   On the other hand, if a negative determination is made in step S104 (step S104: No), the process proceeds to step S118.

なお、ステップS104で否定判断したときに、拡張領域画像60を含む重畳画像54がUI部19に表示されている場合、制御部14は、UI部19から前回操作指示を受付けてから所定時間経過したか否かを判断してもよい。   If the superimposed image 54 including the extended area image 60 is displayed on the UI unit 19 when a negative determination is made in step S <b> 104, the control unit 14 has elapsed a predetermined time after receiving the previous operation instruction from the UI unit 19. It may be determined whether or not.

そして、所定時間経過したと判断した場合、ステップS118において、表示制御部14Hは、以下の処理をすることが好ましい。すなわち、表示制御部14Hは、表示されている重畳画像54から拡張領域画像60を除いた重畳画像54(すなわち、背景画像53上にオブジェクト画像30を重畳した重畳画像54)をUI部19に表示することが好ましい。これによって、UI部19から操作指示を受付けてから所定時間の間にのみ、拡張領域画像60を表示することができる。   And when it is judged that predetermined time passed, in step S118, it is preferable that the display control part 14H performs the following processes. That is, the display control unit 14H displays the superimposed image 54 obtained by removing the extended region image 60 from the displayed superimposed image 54 (that is, the superimposed image 54 obtained by superimposing the object image 30 on the background image 53) on the UI unit 19. It is preferable to do. Thus, the extended area image 60 can be displayed only during a predetermined time after receiving an operation instruction from the UI unit 19.

制御部14では、図17の表示処理時に、図18および図19に示す割り込み処理(第1の割り込み処理、第2の割り込み処理)を実行する。   The control unit 14 executes the interrupt process (first interrupt process and second interrupt process) shown in FIGS. 18 and 19 during the display process of FIG.

図18は、第1の割り込み処理の手順を示すフローチャートである。   FIG. 18 is a flowchart showing the procedure of the first interrupt process.

まず、受付部14Iが、第1の移動指示情報をUI部19から受け付けたか否かを判断する(ステップS200)。受付部14Iは、第1の移動指示情報を含む、指示情報を受付けたか否かを判別することで、ステップS200の判断を行う。   First, the receiving unit 14I determines whether or not the first movement instruction information has been received from the UI unit 19 (step S200). The receiving unit 14I determines whether or not the instruction information including the first movement instruction information has been received, thereby determining step S200.

ステップS200で否定判断すると(ステップS200:No)、本ルーチンを終了する。一方、ステップS200で肯定判断すると(ステップS200:Yes)、ステップS202へ進む。   If a negative determination is made in step S200 (step S200: No), this routine ends. On the other hand, if an affirmative determination is made in step S200 (step S200: Yes), the process proceeds to step S202.

ステップS202では、移動部14Lが、ステップS200で受け付けた第1の移動指示情報に応じた移動量分、該第1の移動指示情報に応じた移動方向へ、仮想オブジェクト42を仮想立体物40上における、拡張領域62内で移動させる(ステップS202)。   In step S202, the moving unit 14L moves the virtual object 42 on the virtual three-dimensional object 40 in the movement direction corresponding to the first movement instruction information by the movement amount corresponding to the first movement instruction information received in step S200. Are moved in the extended area 62 (step S202).

第2の生成部14Rは、仮想立体物40上の、ステップS202による処理によって移動された位置に貼り付けられた仮想オブジェクト42を二次元空間に射影した、オブジェクト画像30を生成する(ステップS204)。   The second generation unit 14R generates an object image 30 obtained by projecting the virtual object 42 pasted on the virtual three-dimensional object 40 at the position moved by the process in step S202 into the two-dimensional space (step S204). .

合成部14Gは、背景画像53上に、拡張領域画像60と、ステップS204で生成されたオブジェクト画像30と、を合成した重畳画像54を生成する(ステップS206)。次に、表示制御部14Hは、重畳画像54をUI部19(表示部20)へ表示する(ステップS208)。そして、本ルーチンを終了する。   The synthesizing unit 14G generates a superimposed image 54 obtained by synthesizing the extended region image 60 and the object image 30 generated in step S204 on the background image 53 (step S206). Next, the display control unit 14H displays the superimposed image 54 on the UI unit 19 (display unit 20) (step S208). Then, this routine ends.

図19は、第2の割り込み処理の手順を示すフローチャートである。   FIG. 19 is a flowchart showing the procedure of the second interrupt process.

まず、受付部14Iが、第2の移動指示情報をUI部19から受け付けたか否かを判断する(ステップS300)。ステップS300で否定判断すると(ステップS300:No)、本ルーチンを終了する。ステップS300で肯定判断すると(ステップS300:Yes)、ステップS302へ進む。   First, the receiving unit 14I determines whether or not the second movement instruction information has been received from the UI unit 19 (step S300). If a negative determination is made in step S300 (step S300: No), this routine ends. If an affirmative determination is made in step S300 (step S300: Yes), the process proceeds to step S302.

ステップS302では、姿勢補正部14Nが、ステップS300で受け付けた第2の移動指示情報に応じた移動量および方向に、仮想オブジェクト42が二次元座標上で移動するように、仮想オブジェクト42を二次元空間に射影するための変換関数を補正する(ステップS302)。また、姿勢補正部14Nは、姿勢検出部14Aで検出された姿勢に応じて、拡張領域62および仮想オブジェクト42の姿勢を補正する。   In step S302, the posture correction unit 14N moves the virtual object 42 two-dimensionally so that the virtual object 42 moves on the two-dimensional coordinates in the movement amount and direction according to the second movement instruction information received in step S300. A conversion function for projecting to space is corrected (step S302). The posture correction unit 14N corrects the postures of the extended region 62 and the virtual object 42 according to the posture detected by the posture detection unit 14A.

次に、第1の生成部14Qは、ステップS302で補正された変換関数を用いて、姿勢を補正された拡張領域62を射影し、拡張領域画像60を生成する(ステップS304)。   Next, the 1st production | generation part 14Q projects the extended area | region 62 by which the attitude | position was corrected using the conversion function correct | amended by step S302, and produces | generates the extended area image 60 (step S304).

次に、第2の生成部14Rは、ステップS302で補正された変換関数を用いて、姿勢を補正された仮想オブジェクト42を射影し、オブジェクト画像30を生成する(ステップS306)。次に、合成部14Gが、背景画像53上に、ステップS304で生成された拡張領域画像60と、ステップS306で生成されたオブジェクト画像30と、を合成した重畳画像54を生成する(ステップS308)。次に、表示制御部14Hが、重畳画像54をUI部19(表示部20)へ表示する(ステップS310)。そして、本ルーチンを終了する。   Next, the second generation unit 14R projects the virtual object 42 whose posture is corrected using the conversion function corrected in step S302, and generates an object image 30 (step S306). Next, the synthesizing unit 14G generates a superimposed image 54 obtained by synthesizing the extended area image 60 generated in step S304 and the object image 30 generated in step S306 on the background image 53 (step S308). . Next, the display control unit 14H displays the superimposed image 54 on the UI unit 19 (display unit 20) (step S310). Then, this routine ends.

なお、制御部14では、姿勢検出部14Aが新たな姿勢情報を検出する度に、姿勢補正部14Nが、仮想オブジェクト42の姿勢を補正する割り込み処理を更に実行する。そして、表示制御部14Hは、姿勢補正部14Nによって姿勢が補正されると、補正後の姿勢の仮想オブジェクト42を二次元空間に射影したオブジェクト画像30を表示部20へ表示すればよい。また、表示制御部14Hは、拡張領域画像60についても同様に、姿勢を補正すればよい。   In the control unit 14, every time the posture detection unit 14A detects new posture information, the posture correction unit 14N further executes an interrupt process for correcting the posture of the virtual object 42. When the posture is corrected by the posture correction unit 14N, the display control unit 14H may display the object image 30 obtained by projecting the corrected virtual object 42 in the two-dimensional space on the display unit 20. Similarly, the display control unit 14H may correct the posture of the extended region image 60 as well.

図20は、上記表示処理が実行されることによって、UI部19に表示される重畳画像54の一例を示す図である。   FIG. 20 is a diagram illustrating an example of the superimposed image 54 displayed on the UI unit 19 by executing the display process.

例えば、制御部14は、背景画像53上にオブジェクト画像30を重畳した重畳画像54を、UI部19に表示する(図20(A)参照)。そして、ユーザによる操作指示によって、曲げ形状情報が入力される。例えば、ユーザは、背景画像53に含まれる円柱状物体53Aの形状を曲げ形状情報として入力する。   For example, the control unit 14 displays the superimposed image 54 in which the object image 30 is superimposed on the background image 53 on the UI unit 19 (see FIG. 20A). And bending shape information is input by the operation instruction by a user. For example, the user inputs the shape of the cylindrical object 53A included in the background image 53 as bending shape information.

すると、形状算出部14Eは、入力された曲げ形状情報に応じた、仮想立体物40の三次元形状を算出する。そして、第2の生成部14Rは、該仮想立体物40に仮想オブジェクト42を貼り付け、二次元空間に射影することでオブジェクト画像30を生成する。そして、表示制御部14Hは、背景画像53上に、オブジェクト画像30を重畳した重畳画像54を、UI部19へ表示する(図20(B)参照)。   Then, the shape calculation unit 14E calculates the three-dimensional shape of the virtual three-dimensional object 40 according to the input bending shape information. Then, the second generation unit 14R generates the object image 30 by pasting the virtual object 42 on the virtual three-dimensional object 40 and projecting it onto the two-dimensional space. Then, the display control unit 14H displays the superimposed image 54 in which the object image 30 is superimposed on the background image 53 on the UI unit 19 (see FIG. 20B).

そして、ユーザによるUI部19の操作によって、指示情報が入力されると、設定部14Pは、仮想立体物40上に拡張領域62を設定する。第1の生成部14Qは、拡張領域62を二次元空間に射影した拡張領域画像60を生成する。そして、第2の生成部14Rは、仮想立体物40における拡張領域62内に仮想オブジェクト42を貼り付け、この仮想オブジェクト42を射影してオブジェクト画像30を生成する。   Then, when the instruction information is input by the user operating the UI unit 19, the setting unit 14 </ b> P sets the extended area 62 on the virtual three-dimensional object 40. The first generation unit 14Q generates an extended area image 60 obtained by projecting the extended area 62 into a two-dimensional space. Then, the second generation unit 14R pastes the virtual object 42 in the extension area 62 of the virtual three-dimensional object 40, and projects the virtual object 42 to generate the object image 30.

表示制御部14Hは、背景画像53上に、拡張領域画像60およびオブジェクト画像30をこの順に重畳した重畳画像54を、UI部19へ表示する(図20(C)参照)。   The display control unit 14H displays a superimposed image 54 in which the extended region image 60 and the object image 30 are superimposed on the background image 53 in this order on the UI unit 19 (see FIG. 20C).

このため、ユーザによるUI部19の操作指示によって指示情報が入力されると、拡張領域画像60上にオブジェクト画像30が表示された状態となる。拡張領域画像60は、オブジェクト画像30より広く、且つ、重畳画像54の表示時には非表示である仮想立体物40の少なくとも一部の領域である。このため、ユーザは、UI部19に表示された拡張領域画像60の形状を確認することで、仮想オブジェクト42の曲げ形状を調整することできる。   For this reason, when the instruction information is input in response to an operation instruction of the UI unit 19 by the user, the object image 30 is displayed on the extended area image 60. The extended region image 60 is a region wider than the object image 30 and at least a part of the virtual three-dimensional object 40 that is not displayed when the superimposed image 54 is displayed. Therefore, the user can adjust the bending shape of the virtual object 42 by confirming the shape of the extended area image 60 displayed on the UI unit 19.

ここで、ユーザが仮想オブジェクト42を貼り付ける事を所望する仮想立体物40の形状が、背景画像53に含まれる円柱状物体53Aと一致すると仮定する。この場合、ユーザは、拡張領域画像60の曲率を円柱状物体53Aに合わせて調整することで、曲げ形状を入力することができる。   Here, it is assumed that the shape of the virtual three-dimensional object 40 that the user desires to paste the virtual object 42 matches with the cylindrical object 53 </ b> A included in the background image 53. In this case, the user can input a bending shape by adjusting the curvature of the extended region image 60 according to the cylindrical object 53A.

ユーザによるUI部19の操作によって、新たな曲げ形状が入力されると、制御部14は、上記表示処理によって、背景画像53上に、変更後の曲げ形状の曲げ形状情報に応じた形状の仮想立体物40上に、拡張領域62および仮想オブジェクト42が貼り付けられた状態を示す、仮想オブジェクト42を表示する(図20(D)参照)。   When a new bending shape is input by the user's operation of the UI unit 19, the control unit 14 performs virtual display of a shape corresponding to the bending shape information of the changed bending shape on the background image 53 by the display process. On the three-dimensional object 40, the virtual object 42 showing the state where the extension area 62 and the virtual object 42 are pasted is displayed (see FIG. 20D).

このため、ユーザは、背景画像53に含まれる円柱状物体53Aにオブジェクト画像30があたかも貼り付けられたかのような表示がなされるように、貼り付け対象の仮想立体物40の形状算出に用いる曲げ形状を、容易に入力することができる。   For this reason, the user uses the bending shape used for calculating the shape of the virtual solid object 40 to be pasted so that the object image 30 is displayed as if pasted on the cylindrical object 53A included in the background image 53. Can be input easily.

図21は、曲げ形状の入力の一例を示す説明図である。例えば、ユーザは、UI部19における、オブジェクト画像30の表示領域を操作指示することで、曲げ形状を入力する。例えば、ユーザは、UI部19のピンチアウト操作によって、図21(A)に示すオブジェクト画像30を、図21(B)に示すオブジェクト画像30に変形する。これにより、UI部19には、図21(B)に示すオブジェクト画像30に沿った曲げ形状が入力される。   FIG. 21 is an explanatory diagram showing an example of inputting a bending shape. For example, the user inputs a bent shape by operating the display area of the object image 30 in the UI unit 19. For example, the user transforms the object image 30 shown in FIG. 21A into the object image 30 shown in FIG. 21B by a pinch-out operation of the UI unit 19. Thereby, the bending shape along the object image 30 shown in FIG. 21B is input to the UI unit 19.

また、例えば、ユーザによるUI部19のピンチイン操作によって、図21(A)に示すオブジェクト画像30を、図21(C)に示すオブジェクト画像30に変形する。これにより、UI部19には、図21(C)に示すオブジェクト画像30に沿った曲げ形状が入力される。   Further, for example, the object image 30 shown in FIG. 21A is transformed into the object image 30 shown in FIG. 21C by a pinch-in operation of the UI unit 19 by the user. As a result, a bending shape along the object image 30 shown in FIG. 21C is input to the UI unit 19.

このとき、UI部19には、オブジェクト画像30と共に拡張領域画像60が表示されている。このため、ユーザは、拡張領域画像60の形状を確認しながらUI部19を操作することで、所望の曲げ形状を容易に入力することができる。   At this time, the extended area image 60 is displayed on the UI unit 19 together with the object image 30. For this reason, the user can easily input a desired bending shape by operating the UI unit 19 while confirming the shape of the extended region image 60.

図20に戻り、また、受付部14Iが、第1の移動指示情報を含む指示情報を受け付けると、制御部14は、該第1の移動指示情報によって示される移動量および移動方向に、拡張領域画像60内でオブジェクト画像30を移動させた重畳画像54を表示することができる(図20(E)参照)。   Returning to FIG. 20, when the reception unit 14I receives the instruction information including the first movement instruction information, the control unit 14 increases the extension area in the movement amount and movement direction indicated by the first movement instruction information. A superimposed image 54 obtained by moving the object image 30 in the image 60 can be displayed (see FIG. 20E).

また、仮想立体物40が立方体状である場合も同様である。図22は、上記表示処理が実行されることによって、UI部19に表示される重畳画像54の一例を示す図である。   The same applies when the virtual three-dimensional object 40 has a cubic shape. FIG. 22 is a diagram illustrating an example of the superimposed image 54 displayed on the UI unit 19 by executing the display process.

例えば、制御部14は、背景画像53上にオブジェクト画像30を重畳した重畳画像54を、UI部19に表示する(図22(A)参照)。そして、ユーザによる操作指示によって、曲げ形状情報が入力される。例えば、ユーザは、背景画像53に含まれる立方体状物体53Bの形状を曲げ形状情報として入力する。   For example, the control unit 14 displays the superimposed image 54 in which the object image 30 is superimposed on the background image 53 on the UI unit 19 (see FIG. 22A). And bending shape information is input by the operation instruction by a user. For example, the user inputs the shape of the cubic object 53B included in the background image 53 as bending shape information.

すると、形状算出部14Eは、入力された曲げ形状情報に応じた、仮想立体物40の三次元形状を算出する。そして、第2の生成部14Rは、該仮想立体物40に仮想オブジェクト42を貼り付け、二次元空間に射影することでオブジェクト画像30を生成する。そして、表示制御部14Hは、背景画像53上に、オブジェクト画像30を重畳した重畳画像54を、UI部19へ表示する(図22(B)参照)。   Then, the shape calculation unit 14E calculates the three-dimensional shape of the virtual three-dimensional object 40 according to the input bending shape information. Then, the second generation unit 14R generates the object image 30 by pasting the virtual object 42 on the virtual three-dimensional object 40 and projecting it onto the two-dimensional space. Then, the display control unit 14H displays the superimposed image 54 in which the object image 30 is superimposed on the background image 53 on the UI unit 19 (see FIG. 22B).

そして、ユーザによるUI部19の操作によって、指示情報が入力されると、設定部14Pは、仮想立体物40上に拡張領域62を設定する。第1の生成部14Qは、拡張領域62を二次元空間に射影した拡張領域画像60を生成する。そして、第2の生成部14Rは、仮想立体物40における拡張領域62内に仮想オブジェクト42を貼り付け、この仮想オブジェクト42を射影してオブジェクト画像30を生成する。   Then, when the instruction information is input by the user operating the UI unit 19, the setting unit 14 </ b> P sets the extended area 62 on the virtual three-dimensional object 40. The first generation unit 14Q generates an extended area image 60 obtained by projecting the extended area 62 into a two-dimensional space. Then, the second generation unit 14R pastes the virtual object 42 in the extension area 62 of the virtual three-dimensional object 40, and projects the virtual object 42 to generate the object image 30.

表示制御部14Hは、背景画像53上に、拡張領域画像60およびオブジェクト画像30をこの順に重畳した重畳画像54を、UI部19へ表示する(図22(C)参照)。   The display control unit 14H displays a superimposed image 54 in which the extended region image 60 and the object image 30 are superimposed on the background image 53 in this order on the UI unit 19 (see FIG. 22C).

このため、ユーザによるUI部19の操作指示によって指示情報が入力されると、拡張領域画像60上にオブジェクト画像30が表示された状態となる。拡張領域画像60は、オブジェクト画像30より広く、且つ、重畳画像54の表示時には非表示である仮想立体物40の少なくとも一部の領域である。このため、ユーザは、拡張領域画像60の形状を確認することで、仮想オブジェクト42の曲げ形状を調整することできる。   For this reason, when the instruction information is input in response to an operation instruction of the UI unit 19 by the user, the object image 30 is displayed on the extended area image 60. The extended region image 60 is a region wider than the object image 30 and at least a part of the virtual three-dimensional object 40 that is not displayed when the superimposed image 54 is displayed. For this reason, the user can adjust the bending shape of the virtual object 42 by confirming the shape of the extended region image 60.

ここで、ユーザが仮想オブジェクト42を貼り付ける事を所望する仮想立体物40の形状が、背景画像53に含まれる立方体状物体53Bと一致すると仮定する。この場合、ユーザは、拡張領域画像60の曲げ形状を立方体状物体53Bに合わせて調整することで、曲げ形状を容易に入力することができる。   Here, it is assumed that the shape of the virtual three-dimensional object 40 that the user desires to paste the virtual object 42 matches with the cubic object 53 </ b> B included in the background image 53. In this case, the user can easily input the bending shape by adjusting the bending shape of the extended region image 60 according to the cubic object 53B.

ユーザによるUI部19の操作によって、新たな曲げ形状が入力されると、制御部14は、上記表示処理によって、変更後の曲げ形状の曲げ形状情報に応じた形状の仮想立体物40上に、拡張領域62および仮想オブジェクト42を貼り付ける。そして、制御部14は、背景画像53上に、拡張領域62を射影した拡張領域画像60と、仮想オブジェクト42を射影したオブジェクト画像30と、を重畳した重畳画像54をUI部19に表示する(図22(D)参照)。   When a new bending shape is input by the user's operation of the UI unit 19, the control unit 14 performs the above display processing on the virtual three-dimensional object 40 having a shape according to the bending shape information of the changed bending shape. The extension area 62 and the virtual object 42 are pasted. Then, the control unit 14 displays, on the UI unit 19, a superimposed image 54 in which the extended region image 60 obtained by projecting the extended region 62 and the object image 30 obtained by projecting the virtual object 42 are superimposed on the background image 53 ( (See FIG. 22D).

図23は、曲げ形状の入力の一例を示す説明図である。例えば、ユーザは、UI部19における、オブジェクト画像30の表示領域を操作指示することで、曲げ形状を入力する。例えば、ユーザは、UI部19の表示面をスライド操作することによって、図23(A)に示すオブジェクト画像30の曲げ位置を調整し、図23(B)に示すオブジェクト画像30に変形する。これにより、UI部19には、図23(B)に示すオブジェクト画像30に沿った曲げ形状が入力される。   FIG. 23 is an explanatory diagram illustrating an example of inputting a bending shape. For example, the user inputs a bent shape by operating the display area of the object image 30 in the UI unit 19. For example, the user adjusts the bending position of the object image 30 shown in FIG. 23A by sliding the display surface of the UI unit 19 and deforms the object image 30 shown in FIG. As a result, a bending shape along the object image 30 shown in FIG. 23B is input to the UI unit 19.

このとき、UI部19には、オブジェクト画像30と共に拡張領域画像60が表示されている。このため、ユーザは、拡張領域画像60の形状を確認しながらUI部19を操作することで、所望の曲げ形状を容易に入力することができる。   At this time, the extended area image 60 is displayed on the UI unit 19 together with the object image 30. For this reason, the user can easily input a desired bending shape by operating the UI unit 19 while confirming the shape of the extended region image 60.

また、例えば、ユーザは、UI部19のピンチアウト操作によって、図23(A)に示す拡張領域画像60の幅を、図23中、右方向に長くするように変形する。これにより、UI部19には、図23(C)に示す拡張領域画像60の大きさおよび形状が入力される。この場合、設定部14Pは、入力された大きさおよび形状の拡張領域画像60を設定すればよい。これにより、拡張領域画像60の大きさを変更することができる。   Further, for example, the user transforms the width of the extended area image 60 shown in FIG. 23A to increase in the right direction in FIG. 23 by a pinch-out operation of the UI unit 19. Thereby, the size and shape of the extended region image 60 shown in FIG. In this case, the setting unit 14P may set the extended area image 60 having the input size and shape. Thereby, the size of the extended area image 60 can be changed.

また、例えば、ユーザは、UI部19のピンチアウト操作によって、図23(A)に示す拡張領域画像60の幅を、図23中、左方向に長くするように変形する。これにより、UI部19には、図23(D)に示す拡張領域画像60の大きさおよび形状が入力される。この場合、設定部14Pは、入力された大きさおよび形状の拡張領域画像60を設定すればよい。これにより、拡張領域画像60の大きさを変更するができる。   Further, for example, the user changes the width of the extended area image 60 shown in FIG. 23A to be longer in the left direction in FIG. 23 by a pinch-out operation of the UI unit 19. Thereby, the size and shape of the extended area image 60 shown in FIG. In this case, the setting unit 14P may set the extended area image 60 having the input size and shape. Thereby, the size of the extended area image 60 can be changed.

図22に戻り、また、受付部14Iが、第1の移動指示情報を含む指示情報を受け付けると、制御部14は、該第1の移動指示情報によって示される移動量および移動方向に、拡張領域画像60内でオブジェクト画像30を移動させた重畳画像54を表示することができる(図22(E)参照)。   Returning to FIG. 22, when the reception unit 14I receives the instruction information including the first movement instruction information, the control unit 14 sets the extension area in the movement amount and movement direction indicated by the first movement instruction information. A superimposed image 54 obtained by moving the object image 30 in the image 60 can be displayed (see FIG. 22E).

以上説明したように、本実施の形態の画像処理装置10は、取得部14Dと、形状算出部14Eと、設定部14Pと、第1の生成部14Qと、第2の生成部14Rと、表示制御部14Hと、を備える。取得部14Dは、仮想三次元空間に配置する仮想オブジェクト42の曲げ形状を、表示部20の表示面を表す二次元座標で表した、曲げ形状情報を取得する。形状算出部14Eは、曲げ形状情報に応じて、仮想オブジェクト42の貼り付け対象を示す仮想立体物40の三次元形状を算出する。設定部14Pは、仮想立体物42の表面の少なくとも一部の領域に、仮想オブジェクト42より広い拡張領域62を設定する。第1の生成部14Qは、拡張領域62を二次元空間に射影した拡張領域画像60を生成する。第2の生成部14Rは、仮想立体物40の表面の拡張領域62内に貼り付けた仮想オブジェクト42を、二次元空間に射影したオブジェクト画像30を生成する。表示制御部14Hは、背景画像53に拡張領域画像60とオブジェクト画像30とをこの順に重畳した重畳画像54を、表示部20へ表示する。   As described above, the image processing apparatus 10 according to the present embodiment includes the acquisition unit 14D, the shape calculation unit 14E, the setting unit 14P, the first generation unit 14Q, the second generation unit 14R, and the display. And a control unit 14H. The acquisition unit 14D acquires bending shape information in which the bending shape of the virtual object 42 arranged in the virtual three-dimensional space is represented by two-dimensional coordinates representing the display surface of the display unit 20. The shape calculation unit 14E calculates the three-dimensional shape of the virtual three-dimensional object 40 indicating the object to which the virtual object 42 is pasted according to the bending shape information. The setting unit 14P sets an extended area 62 wider than the virtual object 42 in at least a part of the surface of the virtual three-dimensional object 42. The first generation unit 14Q generates an extended area image 60 obtained by projecting the extended area 62 into a two-dimensional space. The second generation unit 14R generates an object image 30 obtained by projecting the virtual object 42 pasted in the extended area 62 on the surface of the virtual three-dimensional object 40 into a two-dimensional space. The display control unit 14H displays on the display unit 20 a superimposed image 54 in which the extended region image 60 and the object image 30 are superimposed on the background image 53 in this order.

このため、ユーザは、拡張領域画像60を確認しながら曲げ形状を入力することで、所望の形状の仮想立体物40に応じた曲げ形状を入力することができる。そして、第2の生成部14Rは、曲げ形状を示す曲げ形状情報から算出された三次元形状の仮想立体物40の表面の、拡張領域62内に貼り付けた仮想オブジェクト42を、二次元空間に射影したオブジェクト画像30を生成する。表示制御部14Hは、背景画像53に拡張領域画像60とオブジェクト画像30とをこの順に重畳した重畳画像54を、表示部20へ表示する。   For this reason, the user can input the bending shape according to the virtual solid object 40 having a desired shape by inputting the bending shape while confirming the extended region image 60. Then, the second generation unit 14R puts the virtual object 42 pasted in the extended region 62 on the surface of the three-dimensional virtual object 40 calculated from the bending shape information indicating the bending shape into the two-dimensional space. A projected object image 30 is generated. The display control unit 14H displays on the display unit 20 a superimposed image 54 in which the extended region image 60 and the object image 30 are superimposed on the background image 53 in this order.

従って、本実施の形態では、仮想オブジェクト42を任意の形状の仮想立体物40に貼り付けた状態を示す画像(重畳画像54)を、容易に提供することができる。   Therefore, in the present embodiment, it is possible to easily provide an image (superimposed image 54) showing a state where the virtual object 42 is pasted on the virtual solid object 40 having an arbitrary shape.

また、本実施の形態の画像処理装置10は、受付部14Iを備えることができる。受付部14Iは、オブジェクト画像30の変形または移動を示す指示情報を受け付ける。そして、設定部14Pは、指示情報を受付けたときに、拡張領域62を設定する。このため、画像処理装置10では、受付部14Iが指示情報を受付けたときに、背景画像53上に、拡張領域画像60およびオブジェクト画像30をこの順に重畳した重畳画像54を、UI部19へ表示することができる。   In addition, the image processing apparatus 10 according to the present embodiment can include a reception unit 14I. The receiving unit 14I receives instruction information indicating deformation or movement of the object image 30. And the setting part 14P sets the expansion area | region 62, when instruction information is received. Therefore, in the image processing apparatus 10, when the receiving unit 14I receives the instruction information, the superimposed image 54 in which the extended area image 60 and the object image 30 are superimposed on the background image 53 in this order is displayed on the UI unit 19. can do.

また、指示情報は、オブジェクト画像30の仮想立体物40上での移動量および移動方向を示す第1の移動指示情報を含む。移動部14Lは、仮想オブジェクト42を、第1の移動指示情報に応じた移動量分、第1の移動指示情報に応じた移動方向へ、仮想立体物40上の拡張領域62内で移動させる。第2の生成部14Rは、第1の移動指示情報を含む指示情報を受付けた場合、移動後の該仮想オブジェクト42を二次元空間に射影した、オブジェクト画像30を生成する。   Further, the instruction information includes first movement instruction information indicating the movement amount and movement direction of the object image 30 on the virtual three-dimensional object 40. The moving unit 14L moves the virtual object 42 within the extended area 62 on the virtual three-dimensional object 40 in the moving direction according to the first moving instruction information by the moving amount according to the first moving instruction information. When the second generation unit 14R receives instruction information including the first movement instruction information, the second generation unit 14R generates an object image 30 in which the virtual object 42 after movement is projected onto a two-dimensional space.

また、指示情報は、オブジェクト画像30の表示面上での移動量および移動方向を示す第2の移動指示情報を含む。また、関数補正部14Mは、第2の移動指示情報に応じた移動量および移動方向に、拡張領域62および仮想オブジェクト42が二次元座標上で移動するように、拡張領域62および仮想オブジェクト42を二次元空間に射影するための変換関数を補正する。第1の生成部14Qは、第2の移動指示情報を受付けた場合、補正された変換関数に基づき、拡張領域画像60を生成する。第2の生成部14Rは、第2の移動指示情報を受付けた場合、補正された変換関数に基づき、オブジェクト画像30を生成する。   The instruction information includes second movement instruction information indicating the movement amount and movement direction of the object image 30 on the display surface. In addition, the function correction unit 14M moves the extension region 62 and the virtual object 42 so that the extension region 62 and the virtual object 42 move on the two-dimensional coordinates in the movement amount and the movement direction according to the second movement instruction information. The transformation function for projecting to the two-dimensional space is corrected. When the first generation unit 14Q receives the second movement instruction information, the first generation unit 14Q generates the extended region image 60 based on the corrected conversion function. When the second generation unit 14R receives the second movement instruction information, the second generation unit 14R generates the object image 30 based on the corrected conversion function.

また、表示制御部14Hは、背景画像53上に、第1の透過度の拡張領域画像60と、第1の透過度より低い第2の透過度のオブジェクト画像30と、をこの順に重畳した重畳画像54を、表示部20へ表示する。   Further, the display control unit 14H superimposes the extended region image 60 having the first transparency and the object image 30 having the second transparency lower than the first transparency in this order on the background image 53. The image 54 is displayed on the display unit 20.

次に、上述した画像処理装置10のハードウェア構成について説明する。   Next, the hardware configuration of the image processing apparatus 10 described above will be described.

図24は、画像処理装置10のハードウェア構成図である。画像処理装置10は、ハードウェア構成として、装置全体を制御するCPU2901と、各種データや各種プログラムを記憶するROM2902と、各種データや各種プログラムを記憶するRAM2903と、UI装置2904と、撮影装置2905と、検知器2906と、を主に備えており、通常のコンピュータを利用したハードウェア構成となっている。なお、UI装置2904は、図1のUI部19に相当し、撮影装置2905は、撮影部12に相当し、検知器2906は、検知部25に相当する。   FIG. 24 is a hardware configuration diagram of the image processing apparatus 10. The image processing apparatus 10 includes, as a hardware configuration, a CPU 2901 that controls the entire apparatus, a ROM 2902 that stores various data and various programs, a RAM 2903 that stores various data and various programs, a UI apparatus 2904, and a photographing apparatus 2905. The detector 2906 is mainly provided, and has a hardware configuration using a normal computer. The UI device 2904 corresponds to the UI unit 19 in FIG. 1, the imaging device 2905 corresponds to the imaging unit 12, and the detector 2906 corresponds to the detection unit 25.

上記実施の形態の画像処理装置10で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。   The program executed by the image processing apparatus 10 of the above-described embodiment is an installable or executable file, such as a CD-ROM, a flexible disk (FD), a CD-R, a DVD (Digital Versatile Disk), or the like. The program is recorded on a computer-readable recording medium and provided as a computer program product.

また、上記実施の形態の画像処理装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態の画像処理装置10で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。   The program executed by the image processing apparatus 10 according to the above-described embodiment may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. Further, the program executed by the image processing apparatus 10 according to the above embodiment may be provided or distributed via a network such as the Internet.

また、上記実施の形態の画像処理装置10で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。   In addition, the program executed by the image processing apparatus 10 according to the above-described embodiment may be provided by being incorporated in advance in a ROM or the like.

上記実施の形態の画像処理装置10で実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記録媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。   The program executed by the image processing apparatus 10 of the above embodiment has a module configuration including the above-described units, and as actual hardware, a CPU (processor) reads the program from the recording medium and executes it. Thus, each unit is loaded on the main memory, and each unit is generated on the main memory.

なお、本発明は上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。また、種々の変形が可能である。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the components without departing from the scope of the invention in the implementation stage. Various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiments. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined. Various modifications are possible.

10 画像処理装置
14D 取得部
14E 形状算出部
14H 表示制御部
14I 受付部
14L 移動部
14M 関数補正部
14P 設定部
14Q 第1の生成部
14R 第2の生成部
19 UI部
20 表示部
30、30A、30B オブジェクト画像
40、40A、40B 仮想立体物
42、42A、42B 仮想オブジェクト
53 背景画像
54 重畳画像
DESCRIPTION OF SYMBOLS 10 Image processing apparatus 14D Acquisition part 14E Shape calculation part 14H Display control part 14I Reception part 14L Movement part 14M Function correction part 14P Setting part 14Q 1st generation part 14R 2nd generation part 19 UI part 20 Display part 30, 30A, 30B Object image 40, 40A, 40B Virtual solid object 42, 42A, 42B Virtual object 53 Background image 54 Superimposed image

特開2007−048084号公報JP 2007-048084 A

Claims (7)

仮想三次元空間に配置する仮想オブジェクトの曲げ形状を、表示部の表示面を表す二次元座標で表した、曲げ形状情報を取得する取得部と、
前記曲げ形状情報に応じて、前記仮想オブジェクトの貼り付け対象を示す仮想立体物の三次元形状を算出する形状算出部と、
前記仮想立体物の表面の少なくとも一部の領域に、前記仮想オブジェクトより広い拡張領域を設定する設定部と、
前記拡張領域を二次元空間に射影した拡張領域画像を生成する第1の生成部と、
前記仮想立体物の表面の前記拡張領域内に貼り付けた前記仮想オブジェクトを、前記二次元空間に射影したオブジェクト画像を生成する第2の生成部と、
背景画像に前記拡張領域画像と前記オブジェクト画像とをこの順に重畳した重畳画像を、前記表示部へ表示する表示制御部と、
を備える画像処理装置。
An acquisition unit for acquiring bending shape information, which represents a bending shape of a virtual object arranged in a virtual three-dimensional space by a two-dimensional coordinate representing a display surface of the display unit;
In accordance with the bending shape information, a shape calculation unit that calculates a three-dimensional shape of a virtual three-dimensional object indicating the virtual object pasting target;
A setting unit that sets an extended area wider than the virtual object in at least a part of the surface of the virtual three-dimensional object;
A first generation unit that generates an extended region image obtained by projecting the extended region into a two-dimensional space;
A second generation unit that generates an object image obtained by projecting the virtual object pasted in the extension region on the surface of the virtual three-dimensional object into the two-dimensional space;
A display control unit that displays a superimposed image in which the extended region image and the object image are superimposed in this order on a background image on the display unit;
An image processing apparatus comprising:
前記オブジェクト画像の変形または移動を示す指示情報を受け付ける受付部を備え、
前記設定部は、前記指示情報を受付けたときに前記拡張領域を設定する、
請求項1に記載の画像処理装置。
A reception unit that receives instruction information indicating deformation or movement of the object image;
The setting unit sets the extension area when the instruction information is received;
The image processing apparatus according to claim 1.
前記指示情報は、前記オブジェクト画像の前記仮想立体物上での移動量および移動方向を示す第1の移動指示情報を含み、
当該画像処理装置は、前記仮想オブジェクトを、前記第1の移動指示情報に応じた移動量分、前記第1の移動指示情報に応じた移動方向へ、前記仮想立体物上の前記拡張領域内で移動させる移動部を備え、
前記第2の生成部は、前記第1の移動指示情報を含む前記指示情報を受付けた場合、移動後の該仮想オブジェクトを前記二次元空間に射影した前記オブジェクト画像を生成する、
請求項2に記載の画像処理装置。
The instruction information includes first movement instruction information indicating a movement amount and a movement direction of the object image on the virtual three-dimensional object,
The image processing apparatus moves the virtual object in the extension area on the virtual three-dimensional object in a moving direction according to the first movement instruction information by an amount of movement according to the first movement instruction information. It has a moving part to move,
When the second generation unit receives the instruction information including the first movement instruction information, the second generation unit generates the object image obtained by projecting the virtual object after movement onto the two-dimensional space.
The image processing apparatus according to claim 2.
前記指示情報は、前記オブジェクト画像の前記表示面上での移動量および移動方向を示す第2の移動指示情報を含み、
当該画像処理装置は、前記第2の移動指示情報に応じた移動量および移動方向に、前記拡張領域および前記仮想オブジェクトが前記二次元座標上で移動するように、前記拡張領域および前記仮想オブジェクトを前記二次元空間に射影するための変換関数を補正する関数補正部を備え、
前記第1の生成部は、前記第2の移動指示情報を受付けた場合、補正された前記変換関数に基づき、前記拡張領域画像を生成し、
前記第2の生成部は、前記第2の移動指示情報を受付けた場合、補正された前記変換関数に基づき、前記オブジェクト画像を生成する、
請求項1〜請求項3の何れか1項に記載の画像処理装置。
The instruction information includes second movement instruction information indicating a movement amount and a movement direction of the object image on the display surface,
The image processing apparatus moves the extension region and the virtual object so that the extension region and the virtual object move on the two-dimensional coordinates in a movement amount and a movement direction according to the second movement instruction information. A function correction unit for correcting a conversion function for projecting into the two-dimensional space;
When the first generation unit receives the second movement instruction information, the first generation unit generates the extended region image based on the corrected conversion function,
When the second generation unit receives the second movement instruction information, the second generation unit generates the object image based on the corrected conversion function.
The image processing apparatus according to any one of claims 1 to 3.
前記表示制御部は、
前記背景画像上に、第1の透過度の前記拡張領域画像と、前記第1の透過度より低い第2の透過度の前記オブジェクト画像と、をこの順に重畳した前記重畳画像を、前記表示部へ表示する、請求項1〜請求項4の何れか1項に記載の画像処理装置。
The display control unit
The superimposed image obtained by superimposing the extended region image having the first transparency and the object image having the second transparency lower than the first transparency in this order on the background image, The image processing apparatus according to any one of claims 1 to 4, wherein the image processing apparatus is displayed.
仮想三次元空間に配置する仮想オブジェクトの曲げ形状を、表示部の表示面を表す二次元座標で表した、曲げ形状情報を取得するステップと、
前記曲げ形状情報に応じて、前記仮想オブジェクトの貼り付け対象を示す仮想立体物の三次元形状を算出するステップと、
前記仮想立体物の表面の少なくとも一部の領域に、前記仮想オブジェクトより広い拡張領域を設定するステップと、
前記拡張領域を二次元空間に射影した拡張領域画像を生成するステップと、
前記仮想立体物の表面の前記拡張領域内に貼り付けた前記仮想オブジェクトを、前記二次元空間に射影したオブジェクト画像を生成するステップと、
背景画像に前記拡張領域画像と前記オブジェクト画像とをこの順に重畳した重畳画像を、前記表示部へ表示するステップと、
を含む画像処理方法。
A step of acquiring bending shape information in which a bending shape of a virtual object arranged in a virtual three-dimensional space is represented by two-dimensional coordinates representing a display surface of a display unit;
Calculating a three-dimensional shape of a virtual three-dimensional object indicating a pasting target of the virtual object according to the bending shape information;
Setting an extended area wider than the virtual object in at least a partial area of the surface of the virtual three-dimensional object;
Generating an extended region image obtained by projecting the extended region into a two-dimensional space;
Generating an object image obtained by projecting the virtual object pasted in the extended region of the surface of the virtual three-dimensional object into the two-dimensional space;
Displaying a superimposed image obtained by superimposing the extension region image and the object image in this order on a background image on the display unit;
An image processing method including:
仮想三次元空間に配置する仮想オブジェクトの曲げ形状を、表示部の表示面を表す二次元座標で表した、曲げ形状情報を取得するステップと、
前記曲げ形状情報に応じて、前記仮想オブジェクトの貼り付け対象を示す仮想立体物の三次元形状を算出するステップと、
前記仮想立体物の表面の少なくとも一部の領域に、前記仮想オブジェクトより広い拡張領域を設定するステップと、
前記拡張領域を二次元空間に射影した拡張領域画像を生成するステップと、
前記仮想立体物の表面の前記拡張領域内に貼り付けた前記仮想オブジェクトを、前記二次元空間に射影したオブジェクト画像を生成するステップと、
背景画像に前記拡張領域画像と前記オブジェクト画像とをこの順に重畳した重畳画像を、前記表示部へ表示するステップと、
をコンピュータに実行させるためのプログラム。
A step of acquiring bending shape information in which a bending shape of a virtual object arranged in a virtual three-dimensional space is represented by two-dimensional coordinates representing a display surface of a display unit;
Calculating a three-dimensional shape of a virtual three-dimensional object indicating a pasting target of the virtual object according to the bending shape information;
Setting an extended area wider than the virtual object in at least a partial area of the surface of the virtual three-dimensional object;
Generating an extended region image obtained by projecting the extended region into a two-dimensional space;
Generating an object image obtained by projecting the virtual object pasted in the extended region of the surface of the virtual three-dimensional object into the two-dimensional space;
Displaying a superimposed image obtained by superimposing the extension region image and the object image in this order on a background image on the display unit;
A program that causes a computer to execute.
JP2015184228A 2015-09-17 2015-09-17 Image processing apparatus, image processing method, and program Pending JP2017059042A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015184228A JP2017059042A (en) 2015-09-17 2015-09-17 Image processing apparatus, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015184228A JP2017059042A (en) 2015-09-17 2015-09-17 Image processing apparatus, image processing method, and program

Publications (1)

Publication Number Publication Date
JP2017059042A true JP2017059042A (en) 2017-03-23

Family

ID=58390500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015184228A Pending JP2017059042A (en) 2015-09-17 2015-09-17 Image processing apparatus, image processing method, and program

Country Status (1)

Country Link
JP (1) JP2017059042A (en)

Similar Documents

Publication Publication Date Title
JP6476657B2 (en) Image processing apparatus, image processing method, and program
JP4508049B2 (en) 360 ° image capturing device
CN105144283B (en) Method and apparatus for image manipulation based on device rotation
JP2017168077A (en) Image processing method, display device, and inspection system
JP6088260B2 (en) Processing apparatus, processing system, processing method, and program
JP6812128B2 (en) Information processing device and information processing method
JP6849634B2 (en) Terminal device and control method of terminal device
JP6295296B2 (en) Complex system and target marker
JP2015219679A (en) Image processing system, information processing device, and program
JP2016139199A (en) Image processing apparatus, image processing method, and program
JP2016048456A (en) Image processing apparatus, image processing method, and program
US8643679B2 (en) Storage medium storing image conversion program and image conversion apparatus
JP2015184839A (en) Image generation apparatus, image display system, and image generation method
JP6314672B2 (en) Display processing apparatus, display processing method, and program
JP4677281B2 (en) Image processing method and image processing apparatus
JP2018010473A (en) Image processing apparatus, image processing method, and image processing program
JP2018109946A (en) Display device, program, and display method
CN110286906A (en) Method for displaying user interface, device, storage medium and mobile terminal
JP4199641B2 (en) Projector device
JP6405539B2 (en) Label information processing apparatus for multi-viewpoint image and label information processing method
JP2013008257A (en) Image composition program
JP2016139201A (en) Image processing device, image processing method, and program
JP2017059042A (en) Image processing apparatus, image processing method, and program
JP7118383B1 (en) Display system, display method, and display program
JP2021124433A (en) Measurement device, measurement program and measurement method