JP4187078B2 - 画像変形方法及びその装置 - Google Patents
画像変形方法及びその装置 Download PDFInfo
- Publication number
- JP4187078B2 JP4187078B2 JP24813498A JP24813498A JP4187078B2 JP 4187078 B2 JP4187078 B2 JP 4187078B2 JP 24813498 A JP24813498 A JP 24813498A JP 24813498 A JP24813498 A JP 24813498A JP 4187078 B2 JP4187078 B2 JP 4187078B2
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- original image
- coordinates
- texture
- mapping
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
- Image Processing (AREA)
Description
【産業上の利用分野】
本発明は、画像変形の処理を高速に行うための画像変形方法及びその装置に関する。
【0002】
【従来の技術】
画像のデザインの手法の一つとして、ある適宜な画像を原画像として用い、その原画像に変形を施すという手法が知られている。そして、そのような場合に用いる画像の変形方法としては、規則的な変形が行われる方法よりも、不定形な変形が行われる方法の方がバリエーションが豊かになるので望ましいものである。
【0003】
本出願人は、先に、画像に対して不定形な変形を行うことができる画像変形方法を提案しているので、以下その方法について概略説明する。この方法には、直交座標系を用いる方法と、極座標系を用いる方法がある。即ち、画像変形を行うには、変形の対象となっている画像の全画素に対して、座標変換のための写像を定義して、その定義した写像によって、原画像の(x,y)の位置にある画素を、他の位置(x′,y′)に移動させるのであるが、その写像を直交座標系で定義する方法と、極座標系で定義する方法があるのである。
【0004】
[直交座標系を用いる画像変形方法]
まず、原画像と、二つの二次元スカラ場A,Bを用意する(図4のステップS1)。この二次元スカラ場A,Bとしては、二次元スカラ場であればどのようなものを用いてもよいが、ここでは二次元フラクタル場を用いるものとする。フラクタル場は、スカラ値を自己相似的に空間内に定義した場であり、自然なゆらぎをもった連続場になるので、二次元スカラ場としてフラクタル場を用いれば、原画像に対して自然のゆらぎをもった不定形な変形を施すことができるからである。二次元フラクタル場を生成するためには、例えば、中点変位法として広く知られている手法を用いればよい。
【0005】
次に、原画像、及び二次元フラクタル場A,Bに対して直交座標系を設定する(図4のステップS2)。ここで、原画像と、二次元フラクタル場A,Bのサイズは同一であってよいことは当然であるが、異なっていてもよい。原画像と、二次元フラクタル場A,Bのサイズが異なっている場合には、座標系を正規化して、各画像の画素の位置が一対一の対応をとるようにすればよい。ここでは座標系は正規化されているものとする。即ち、各画像のサイズはx方向もy方向も[0 ,1 ]の範囲となっているものとする。
【0006】
次に、写像を定義する(図4のステップS3)。即ち、原画像を変形するためには、原画像の(x,y)の位置にある画素を(x′,y′)の位置に移動させる写像が必要である。そして、定義された写像を原画像の全画素に施せば、原画像を変形することができるのである。
【0007】
いま、原画像の(x,y)の位置にある画素を、変形後に(x′,y′)の位置に移動させるものとすると、写像は例えば次のような式で定義することができる。
【0008】
x′=x+kAFA(x,y) …(1)
y′=y+kBFB(x,y) …(2)
ここで、kA ,kB はxおよびy方向への変位の大きさを表す係数であり、任意に設定することができるものである。また、関数FA(x,y),FB(x,y)はそれぞれ二次元フラクタル場A,Bの(x,y)の位置におけるスカラ値を表している。
【0009】
この(1),(2)式によれば、原画像の(x,y)の位置にある画素のx方向の変位の大きさは二次元フラクタル場Aの(x,y)の位置におけるスカラ値に比例し、y方向の変位の大きさは、二次元フラクタル場Bの(x,y)の位置におけるスカラ値に比例することになる。なお、この場合のように各画像のサイズを正規化している場合には、FA(x,y)及びFB(x,y)の値域は[-1,+1]の範囲に正規化されていることが望ましい。
【0010】
次に、原画像に対して変形の処理を行う(図4のステップS4)。即ち、原画像の(x,y)の位置にある画素に着目し、上記(1) ,(2) 式による写像により当該画素の移動先の位置(x′,y′)を求め、予め用意されている原画像とは異なるメモリ空間上の(x′,y′)の位置に当該原画像の(x,y)の位置にある画素値を書き込む。この処理を原画像の全ての画素に対して施すことによって変形を行うことができる。
【0011】
ところで、ステップS4で原画像の変形を行った場合、その変形の結果得られた画像(以下、これを変形画像と称す)には画素値が定義されない画素(以下、このような画素を空画素と称す)が生じることがある。つまり、実際には、画素の数は有限個であるため、画素の位置を示す座標値はとびとびの離散的な値になるのに対して、写像によって決定される画素のx方向の移動量kAFA(x,y)、及びy方向の移動量kBFB(x,y)は通常は連続量になるので、移動先の位置(x′,y′)を求める際には、量子化を行うことになり、このため、原画像の複数の画素の移動先が変形画像上の同一の位置に重なってしまう場合がある。例えば、いま、原画像及び変形画像がそれぞれ10×10の画素配列から構成されているものとすると、原画像の画素配列を構成する 100個の画素のそれぞれが、変形に定義された写像に基づいて勝手に移動することになり、その写像の結果得られる移動先の位置を量子化すると原画像の複数の画素が変形画像において同一の位置に統合してしまうことが起こり得るのである。
【0012】
このことは、逆にいえば、変形画像上には画素値が定義されない空画素が生じることを意味する。例えば、原画像上に存在していた合計 100個の画素が、移動によって合計70個の画素に統合されてしまったとすると、変形画像上の30個の画素が空画素となる。
【0013】
そこで、ステップS4の原画像の変形を行う際には、空画素の処理を行う必要がある。この空画素の処理としては、例えば、予め「空画素については、画素値= 0とする」というような定義を行っておけば、空画素の部分は黒で表現されることになる。また、空画素の領域には、何らかの背景画像を割り付けるというような処理を行ってもよい。
【0014】
更に、変形画像上に空画素を生じさせないように原画像を変形することも可能である。その手法としては、写像を逆に用いることで行うことができる。例えば、いま変形が上記の(1) ,(2) 式で定義されるものとすると、
x=x′−kAFA(x′,y′) …(3)
y=y′−kBFB(x′,y′) …(4)
という写像を用いて行えばよい。ここで、(x,y)は原画像上の画素位置であり、(x′,y′)は変形画像上の画素位置である。即ち、まず、変形画像上の位置(x′,y′)に着目し、当該位置での二次元フラクタル場A,Bのスカラ値FA(x′,y′),FB(x′,y′)からx方向の移動量kAFA(x′,y′)及びy方向の移動量kBFB(x′,y′)を求め、(1) 式及び(2) 式の逆演算によって、当該変形画像上の位置(x′,y′)に対応する原画像上の位置(x,y)を求め、原画像上の当該位置(x,y)の画素値を変形画像上の位置(x′,y′)の画素値とするのである。このような手法によって、変形画像に空画素が生じることを回避することができる。
【0015】
なお、原画像上のある画素pを写像により移動した場合に、移動後の位置が変形画像の範囲外にはみ出してしまう場合があるが、この場合には、変形画像の範囲外に同じサイズの領域(仮想変形画像)が隣接配置されているものとして、移動後の位置を変形画像の範囲内に補正するはみ出し補正処理を行ってもよい。例えば、原画像の画素pを写像した結果、図5のp′で示すように変形画像の範囲外にはみ出した場合には、変形画像の範囲外に図の破線で示すように変形画像と同じサイズの仮想変形画像が隣接配置されているものと考えて、仮想変形画像内におけるp′の位置と同じ位置となる変形画像内の位置p″の位置に補正するのである。図5は変形画像の横方向にはみ出した場合の例であるが、変形画像の縦方向にはみ出した場合も同様に補正する。
【0016】
以上のようであるので、この変形方法によれば、原画像に対して自然のゆらぎをもった不定形な変形を施すことができる。そして、その変形の態様は、(1) ,(2) で示す係数kA ,kB の値、及び二次元フラクタル場A,Bとしてどのようなものを用いるかによって制御することができる。
【0017】
[極座標系を用いる画像変形方法]
この方法では、原画像の画素の移動先を定めるための写像を定義するために極座標系を用いる。その処理の流れは図6に示すようである。
まず、原画像と、二つの二次元スカラ場A,Bを用意する(ステップS11)。このステップS11は図4のステップS1と同じである。
次に、原画像、及び二次元フラクタル場A,Bに対して極座標系を設定する(ステップS12)。ここでも座標系は正規化されているとする。
【0018】
次に、写像を定義する(ステップS13)。この写像は、例えば次の(5) 〜(8) 式のように定義することができる。
r=krFA(x,y) …(5)
θ=kqFB(x,y) …(6)
x′=x+rcosθ …(7)
y′=y+rsinθ …(8)
ここで、x,yはそれぞれ原画像の画素の直交座標表現によるx座標、y座標であり、x′,y′はそれぞれ当該原画像の画素が写像によって移動された後の変形画像上のx座標、y座標であり、kr は極座標の変位のr成分の大きさを表す係数であり、kq は極座標の変位のθ成分の大きさを表す係数であり、関数FA(x,y),FB(x,y)はそれぞれ二次元フラクタル場A,Bの位置(x,y)におけるスカラ値を表している。なお、上記の二つの関数、FA(x,y),FB(x,y)の値域は[-1,+1]の範囲に正規化されているものとする。
【0019】
このような写像によれば、係数kr 及び/または係数kq の値を適宜に定めることによって、変形の大きさ、あるいは局所的な変形の激しさを所望のように制御することが可能である。
【0020】
更に、上記の(6) 式で決定されるθの値をそのまま変位の方向成分として用いるのではなく、入力された角度θに対して特定の角度に偏った角度θ′を出力する関数fa を導入して
θ′=fa(θ)=fa(kqFB(x,y)) …(9)
と拡張し、このθ′の値を上記の(7) ,(8) 式に代入して移動先の位置(x′,y′)を定めるようにすれば、変形の方向を所望の角度方向に偏らせるように制御することができる。図7にその例を示す。図7において、横軸θは上記の(6) 式で決定されるθの値であり、縦軸θ′は上記の(9) 式で得られる値である。図7においては破線で示すように一様に分布するθに対して、実線で示すように、π方向及び2π(=0)方向に偏りのある角度θ′が得られている。従って、図7の実線で示す入出力特性を有する関数fa を用いてθ′を得、そのθ′の値を上記の(7) ,(8) 式に代入して移動先の位置(x′,y′)を定めれば、変形画像では左右方向(θ′=0,π,2π)への変形が強調されることになる。
【0021】
以上のようであるので、座標系を極座標表現する場合には、上述した事項を考慮して、写像を定義すればよい。
【0022】
そして、次に原画像に対して変形処理を施す(ステップS14)。空画素の処理、はみ出し処理についても上述したと同様である。特に、変形の処理の際に変形画像上に空画素を生じさせないようにするためには、例えば、
r=krFA(x′,y′) …(10)
θ=kqFB(x′,y′) …(11)
x=x′−rcosθ …(12)
y=y′−rsinθ …(13)
という写像を用いて原画像を変形すればよい。ここで、(x,y)は原画像上の画素位置、(x′,y′)は変形画像上の画素位置である。これによって、上述したと同様に、変形画像上の位置(x′,y′)に対応する原画像上の位置(x,y)を求めることができるので、その求めた原画像上の位置の画素値を変形画像上の(x′,y′)の位置に書き込めばよい。
【0023】
以上のようであるので、この変形方法によっても、原画像に対して自然のゆらぎをもった不定形な変形を施すことができる。そして、その変形の態様は、上述した種々のパラメータ、及び二次元フラクタル場A,Bとしてどのようなものを用いるかによって制御することができる。
【0024】
【発明が解決しようとする課題】
しかしながら、上述したような画像変形方法では、定義された写像によって原画像の全画素に対して変形の処理を施す必要があるので、変形の処理に時間がかかるという問題がある。勿論、デザインした画像のプレゼンテーションを行う場合や、刷版用の画像を作成する場合には、上述したようにして原画像の全画素に対して変形の処理を施して完全な変形画像を得る必要があるのであるが、デザインの過程においては、デザイナは使用する二次元スカラ場を変えたり、上述したような係数、あるいはパラメータの値を種々に変更して、どのような画像が得られるかを試したい場合があり、このような場合には得られる変形画像は厳密なものではなくても、画像変形の処理が高速に行われることが望まれる。
【0025】
そこで、本発明は、画像の変形の処理を高速に行うことができる画像変形方法及びその装置を提供することを目的とするものである。
【0026】
【課題を解決するための手段】
上記の目的を達成するために、請求項1記載の画像変形方法は、
原画像入力装置から原画像を入力すると共に、二次元スカラ場入力装置から二つの二次元スカラ場A,Bを入力する第1の工程と、
写像・パラメータ設定装置により、二次元スカラ場入力装置で入力した二つの二次元スカラ場A,Bの座標(x,y)の位置におけるスカラ値をそれぞれF A (x,y),F B (x,y)とし、k A ,k B を係数として、次の二つの式
x′=x+k A F A (x,y)
y′=y+k B F B (x,y)
により、座標(x,y)の位置を座標(x′,y′)の位置に座標変換するための写像を定義する第2の工程と、
ポリゴン生成装置により、原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割する第3の工程と、
テクスチャ座標割り当て装置により、ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てる第4の工程と、
ポリゴン変形装置により、写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行う第5の工程と、
テクスチャマッピング装置により、原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成する第6の工程と
を備えることを特徴とする。
また、請求項2記載の画像変形方法は、
原画像入力装置から原画像を入力すると共に、二次元スカラ場入力装置から二つの二次元スカラ場A,Bを入力する第1の工程と、
写像・パラメータ設定装置により、二次元スカラ場入力装置で入力した二つの二次元スカラ場A,Bの座標(x,y)の位置におけるスカラ値をそれぞれF A (x,y),F B (x,y)とし、k r ,k q を係数として、次の四つの式
r=k r F A (x,y)
θ=k q F B (x,y)
x′=x+r cos θ
y′=y+r sin θ
により、座標(x,y)の位置を座標(x′,y′)の位置に座標変換するための写像を定義する第2の工程と、
ポリゴン生成装置により、原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割する第3の工程と、
テクスチャ座標割り当て装置により、ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てる第4の工程と、
ポリゴン変形装置により、写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て 装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行う第5の工程と、
テクスチャマッピング装置により、原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成する第6の工程と
を備えることを特徴とする。
【0027】
請求項3記載の画像変形装置は、
原画像を入力する原画像入力装置と、
二つの二次元スカラ場A,Bを入力する二次元スカラ場入力装置と、
二次元スカラ場入力装置で入力した二つの二次元スカラ場A,Bの座標(x,y)の位置におけるスカラ値をそれぞれF A (x,y),F B (x,y)とし、k A ,k B を係数として、次の二つの式
x′=x+k A F A (x,y)
y′=y+k B F B (x,y)
により、座標(x,y)の位置を座標(x′,y′)の位置に座標変換するための写像を定義する写像・パラメータ設定装置と、
原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割するポリゴン生成装置と、
ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てるテクスチャ座標割り当て装置と、
写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行うポリゴン変形装置と、
原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成するテクスチャマッピング装置と
を備えることを特徴とする。
請求項4記載の画像変形装置は、
原画像を入力する原画像入力装置と、
二つの二次元スカラ場A,Bを入力する二次元スカラ場入力装置と、
二次元スカラ場入力装置で入力した二つの二次元スカラ場A,Bの座標(x,y)の位置におけるスカラ値をそれぞれF A (x,y),F B (x,y)とし、k r ,k q を係数として、次の四つの式
r=k r F A (x,y)
θ=k q F B (x,y)
x′=x+r cos θ
y′=y+r sin θ
により、座標(x,y)の位置を座標(x′,y′)の位置に座標変換するための写像を定義する写像・パラメータ設定装置と、
原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割するポリゴン生成装置と、
ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てるテクスチャ座標割り当て装置と、
写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変 換を行うポリゴン変形装置と、
原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成するテクスチャマッピング装置と
を備えることを特徴とする。
ここで、テクスチャマッピング装置は、請求項5記載のように、テクスチャマッピングを行うための専用のハードウェアで構成するとテクスチャマッピングを高速に行うことができる。
【0028】
【発明の実施の形態】
以下、図面を参照しつつ発明の実施の形態について説明する。
図1は本発明に係る画像変形装置の一実施形態を示す図であり、図中、1は原画像入力装置、2は二次元スカラ場入力装置、3は写像・パラメータ設定装置、4はポリゴン生成装置、5はテクスチャ座標割り当て装置、6はポリゴン変形装置、7はテクスチャマッピング装置、8は表示装置を示す。
【0029】
まず、図1に示す各装置の概略について説明する。
原画像入力装置1は、変形を施そうとする画像を入力するための装置である。二次元スカラ場入力装置2は、ポリゴン変形装置6においてポリゴンを変形する際に用いる二つの二次元スカラ場A,Bを入力するためのものである。なお、ここでは二次元スカラ場としては二次元のフラクタル場を用いるものとする。
【0030】
写像・パラメータ設定装置3は、ポリゴン変形装置6においてポリゴンを変形する際に用いる写像の定義を行うと共に、その写像を定義する際に用いる係数などを設定するものである。例えば、写像を上記の(1) ,(2) 式、あるいは(3) ,(4) 式により定義する場合には、係数kA ,kB の値を設定する。また、写像を上記の(5) 〜(8) 式、あるいは(10) 〜(13)式で定義する場合には、係数kr ,kq の値や、(9) 式に示す関数fa(θ) を設定する。
【0031】
ポリゴン生成装置4は、原画像入力装置1から入力した原画像と同等のサイズの矩形を、ポリゴンに分割する装置である。ポリゴンをどのような形状とするか、いくつに分割するかは予め設定されている。
【0032】
テクスチャ座標割り当て装置5は、ポリゴン生成装置4で生成されたポリゴンと、原画像入力装置1から入力された原画像を取り込んで、各ポリゴンに原画像をマッピングするためのテクスチャ座標を割り当てる装置である。このとき、ポリゴン生成装置4がポリゴンを生成する矩形領域のサイズが原画像と同一である場合には一対一の対応がとれているからそのまま各ポリゴンに対してテクスチャ座標を割り当てればよいが、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形と、原画像とを正規化してから各ポリゴンにテクスチャ座標を割り当てるようにすればよい。
【0033】
ポリゴン変形装置6は、ポリゴンを変形する装置であるが、具体的には、二次元スカラ場入力装置2から入力された二つのフラクタル場A,Bと、写像・パラメータ設定装置3で設定された写像、パラメータを用いて、ポリゴンの全ての頂点に対して座標変換を行うものである。
【0034】
テクスチャマッピング装置7は、原画像入力装置1から入力された原画像、テクスチャ座標割り当て装置5で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置6により座標変換された各頂点の座標値に基づいてテクスチャマッピングを行うものである。このテクスチャマッピング装置7としては、処理の高速化を図るために、テクスチャマッピングを行う専用のハードウェアを用いる。このようなハードウェアは現在広く市販されており、そのアルゴリズム、及びハードウェア構成は周知であるので詳細な説明は省略する。なお、テクスチャマッピングといえば通常は二次元平面の画像(テクスチャ)を三次元物体の表面にマッピングすることを意味するが、ここでは、二次元のテクスチャを他の二次元の多角形にマッピングする手法を用いる。
【0035】
表示装置8は、テクスチャマッピング装置7によりマッピングされた画像を表示するものであり、カラーCRT等の表示手段で構成される。
【0036】
以上のような画像変形装置は、テクスチャマッピング装置7を除いてパーソナルコンピュータ等により構成することができる。そして、テクスチャマッピング装置7のハードウェアがパーソナルコンピュータの拡張スロットにセット可能となされていれば、この画像変形装置は、テクスチャマッピング装置7をも含めて1台のパーソナルコンピュータシステムで構成することが可能である。
【0037】
次に、図1に示す画像変形装置によって画像変形を行う場合について、画像変形方法と共に説明する。
まず、オペレータは、原画像入力装置1から原画像を入力すると共に、二次元スカラ場入力装置2から二つの二次元スカラ場A,Bを入力し、更に写像・パラメータ設定装置3により写像の定義、及びパラメータの設定を行う。
【0038】
原画像の入力は、所望の絵柄の画像がフロッピーディスク等の記憶媒体に記憶されている場合には、当該記憶媒体を原画像入力装置1にセットして取り込めばよく、また所望の画像が印刷物としてある場合にはカラースキャナによって画像を読み込んで入力すればよく、所望の画像のデータがデータベースとしてある場合にはネットワークを介して原画像入力装置1によって当該画像データを取り込めばよい。二次元フラクタル場の入力についても同様に行うことができる。二次元スカラ場入力装置2が二次元フラクタル場を生成する機能を有している場合には、二次元スカラ場入力装置2で二つの二次元フラクタル場を生成すればよい。
【0039】
また、写像の定義は直交座標系を用いて定義してもよく、極座標系を用いて定義してもよい。直交座標系を用いる場合には、上記の(1) ,(2) 式、あるいは(3) ,(4) 式のように定義すればよく、極座標系を用いる場合には、上記の(5) 〜(8) 式、あるいは(10)〜(13)式のように定義すればよい。
【0040】
原画像が入力されると、ポリゴン生成装置4は、入力された原画像を取り込んで、原画像と同じサイズの矩形領域を作成し、その作成した矩形領域を複数のポリゴンに分割する。実際には、当該矩形領域は小さな多数のポリゴンによって細かく分割されるのであるが、ここでは理解を容易にするために、図2に示すように、3×3の9個の四角形のポリゴンに分割するものとする。従って、この場合には図2に示すように、P1 〜P9 のポリゴンが生成され、Q1 〜Q16の16個の頂点ができることになる。そして、ポリゴン生成装置4は生成したポリゴンのデータをテクスチャ座標割り当て装置5に渡す。
【0041】
テクスチャ座標割り当て装置5は、ポリゴン生成装置4から受けたポリゴンのデータと、原画像入力装置1から受けた原画像とを取り込み、各ポリゴンにテクスチャ座標を割り当てる。そして、その各ポリゴンに割り当てたテクスチャ座標をポリゴン変形装置6と、テクスチャマッピング装置7に渡す。
【0042】
ポリゴン変形装置6は、二次元スカラ場入力装置2から入力された二つのフラクタル場A,B、写像・パラメータ設定装置3によって設定された写像とパラメータ、ポリゴン生成装置4によって生成されたポリゴン頂点座標、及びテクスチャ座標割り当て装置5から受けた各ポリゴンに割り当てられたテクスチャ座標を取り込み、図2のポリゴンのQ1 〜Q16の16個の頂点に対してだけ座標変換を行う。この座標変換は、上述した従来の技術の項で説明したように行う。
そして、ポリゴン変形装置6は、座標変換によって得られた頂点の新たな座標をテクスチャマッピング装置7に渡す。
【0043】
テクスチャマッピング装置7は、原画像入力装置1から入力された原画像、テクスチャ座標割り当て装置5で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置6で座標変換されたポリゴンの全頂点の座標に基づいて、ポリゴンを投影し、テクスチャマッピングを行って変形画像を作成する。
【0044】
例えば、ポリゴン変形装置6における座標変換によって、図2に示す各ポリゴンの頂点Q1 〜Q16が図3のQ1′ 〜Q16′のように移動されたとすると、図2のポリゴンP1 〜P9 は図3のP1′〜P9′のように変形されることになるが、テクスチャマッピング装置7は、図2の各ポリゴンPi (i=1,…,9)に割り当てられた原画像の画素を、変形後の図3の各ポリゴンPi′(i=1,…,9) 内にテクスチャ座標を保ったまま貼り付ける。このような処理により、変形画像が作成され、表示装置8に表示される。
【0045】
オペレータは、表示装置8に表示される変形画像を観察することによって、入力した二次元フラクタル場、定義した写像、及び設定したパラメータによって原画像が概ねどのように変形されるかを確認することができる。
【0046】
なお、表示装置8に表示される変形画像は、図3からも分かるように、一般的には正方形や長方形等のきれいな矩形とはならない。勿論、上述したように実際には多数の小さなポリゴンに分割されるので図3に示すように極端に歪むことはないのであるが、それでもきちんとした矩形にはならないのが一般的である。しかし、この画像変形装置で行おうとしているのは、入力された二次元フラクタル場、定義された写像、設定されたパラメータによって原画像が概ねどのように変形されるかを高速にシミュレーションすることであるので、変形画像は正方形や、長方形等のきれいな矩形にならなくても構わないものである。
【0047】
以上のようであるので、オペレータは、二次元フラクタル場を変更したり、写像を変更したり、パラメータを変更することによって、原画像が概ねどのように変形されるかをシミュレーションすることができ、所望の変形画像が得られるまで上記の処理を繰り返すことができる。しかも、テクスチャマッピング装置7として専用のハードウェアを用いるので、テクスチャマッピングを高速に行うことができ、オペレータは当該画像変形装置と対話的に上記の処理を行うことができる。そして、原画像に対して所望の変形を施すことができる二次元フラクタル場、写像、及びパラメータを見い出したら、オペレータはそれらの二次元フラクタル場、写像、パラメータを用いてバッチ処理により原画像に対して、上述した従来の技術の項で説明した画像変形の処理を施せばよく、これによって完成した変形画像を得ることができる。
【0048】
このように、この画像変形装置によれば、写像による座標変換はポリゴンの頂点に対してだけ施せばよいので、写像による座標変換に要する時間は従来のように原画像の全ての画素に対して座標変換を施す場合に比較して大幅に短縮することができ、しかもテクスチャマッピングは専用のハードウェアを用いて行うのでを高速に行うことができる。従って、原画像が概ねどのように変形されるかを、対話的に、高速にシミュレーションすることができるので、作業効率を従来に比較して大幅に向上させることができるものである。
【0049】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく種々の変形が可能であることは当業者に明らかである。
【図面の簡単な説明】
【図1】 本発明に係る画像変形装置の一実施形態を示す図である。
【図2】 ポリゴン生成装置4におけるポリゴンの生成を説明するための図である。
【図3】 ポリゴン変形装置6によるポリゴンの変形の例を示す図である。
【図4】 直交座標系を用いて定義した写像による画像変形の処理の流れを示すフローチャートである。
【図5】 図4のステップS4のうちのはみ出し補正処理を説明するための図である。
【図6】 極座標系を用いて定義した写像による画像変形の処理の流れを示すフローチャートである。
【図7】 極座標表現により写像を定義した場合において、変形の方向を所望の角度方向に偏らせるためのθに対する関数のグラフの例を示す図である。
【符号の説明】
1…原画像入力装置、2…二次元スカラ場入力装置、3…写像・パラメータ設定装置、4…ポリゴン生成装置、5…テクスチャ座標割り当て装置、6…ポリゴン変形装置、7…テクスチャマッピング装置、8…表示装置。
Claims (5)
- 原画像入力装置から原画像を入力すると共に、二次元スカラ場入力装置から二つの二次元スカラ場A,Bを入力する第1の工程と、
写像・パラメータ設定装置により、二次元スカラ場入力装置で入力した二つの二次元スカラ場A,Bの座標(x,y)の位置におけるスカラ値をそれぞれFA(x,y),FB(x,y)とし、kA ,kB を係数として、次の二つの式
x′=x+kAFA(x,y)
y′=y+kBFB(x,y)
により、座標(x,y)の位置を座標(x′,y′)の位置に座標変換するための写像を定義する第2の工程と、
ポリゴン生成装置により、原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割する第3の工程と、
テクスチャ座標割り当て装置により、ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てる第4の工程と、
ポリゴン変形装置により、写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行う第5の工程と、
テクスチャマッピング装置により、原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成する第6の工程と
を備えることを特徴とする画像変形方法。 - 原画像入力装置から原画像を入力すると共に、二次元スカラ場入力装置から二つの二次元スカラ場A,Bを入力する第1の工程と、
写像・パラメータ設定装置により、二次元スカラ場入力装置で入力した二つの二次元スカラ場A,Bの座標(x,y)の位置におけるスカラ値をそれぞれFA(x,y),FB(x,y)とし、kr ,kq を係数として、次の四つの式
r=krFA(x,y)
θ=kqFB(x,y)
x′=x+rcosθ
y′=y+rsinθ
により、座標(x,y)の位置を座標(x′,y′)の位置に座標変換するための写像を定義する第2の工程と、
ポリゴン生成装置により、原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割する第3の工程と、
テクスチャ座標割り当て装置により、ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てる第4の工程と、
ポリゴン変形装置により、写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行う第5の工程と、
テクスチャマッピング装置により、原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成する第6の工程と
を備えることを特徴とする画像変形方法。 - 原画像を入力する原画像入力装置と、
二つの二次元スカラ場A,Bを入力する二次元スカラ場入力装置と、
二次元スカラ場入力装置で入力した二つの二次元スカラ場A,Bの座標(x,y)の位置におけるスカラ値をそれぞれFA(x,y),FB(x,y)とし、kA ,kB を係数として、次の二つの式
x′=x+kAFA(x,y)
y′=y+kBFB(x,y)
により、座標(x,y)の位置を座標(x′,y′)の位置に座標変換するための写像を定義する写像・パラメータ設定装置と、
原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割するポリゴン生成装置と、
ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てるテクスチャ座標割り当て装置と、
写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行うポリゴン変形装置と、
原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成するテクスチャマッピング装置と
を備えることを特徴とする画像変形装置。 - 原画像を入力する原画像入力装置と、
二つの二次元スカラ場A,Bを入力する二次元スカラ場入力装置と、
二次元スカラ場入力装置で入力した二つの二次元スカラ場A,Bの座標(x,y)の位置におけるスカラ値をそれぞれFA(x,y),FB(x,y)とし、kr ,kq を係数として、次の四つの式
r=krFA(x,y)
θ=kqFB(x,y)
x′=x+rcosθ
y′=y+rsinθ
により、座標(x,y)の位置を座標(x′,y′)の位置に座標変換するための写像を定義する写像・パラメータ設定装置と、
原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割するポリゴン生成装置と、
ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てるテクスチャ座標割り当て装置と、
写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行うポリゴン変形装置と、
原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成するテクスチャマッピング装置と
を備えることを特徴とする画像変形装置。 - 前記テクスチャマッピング装置はテクスチャマッピングを行うための専用のハードウェアで構成されることを特徴とする請求項3または4記載の画像変形装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24813498A JP4187078B2 (ja) | 1998-09-02 | 1998-09-02 | 画像変形方法及びその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24813498A JP4187078B2 (ja) | 1998-09-02 | 1998-09-02 | 画像変形方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000076439A JP2000076439A (ja) | 2000-03-14 |
JP4187078B2 true JP4187078B2 (ja) | 2008-11-26 |
Family
ID=17173742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24813498A Expired - Fee Related JP4187078B2 (ja) | 1998-09-02 | 1998-09-02 | 画像変形方法及びその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4187078B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014182638A (ja) * | 2013-03-19 | 2014-09-29 | Canon Inc | 表示制御装置、表示制御方法、コンピュータプログラム |
-
1998
- 1998-09-02 JP JP24813498A patent/JP4187078B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000076439A (ja) | 2000-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4845147B2 (ja) | 二次元画像に対する遠近法編集ツール | |
US6268846B1 (en) | 3D graphics based on images and morphing | |
KR100914846B1 (ko) | 2차원 환경에서 3차원 모델의 텍스쳐 맵 제작 방법 및시스템 | |
US6016152A (en) | Apparatus and method for non-uniform image scaling | |
JP5111638B2 (ja) | パラメトリック曲線をより小さなサブパッチに分割する装置およびその方法 | |
JPH07152923A (ja) | テクスチャ処理されたオブジェクトをレンダリングする方法及び装置 | |
US7236178B2 (en) | Dynamically adjusted brush for direct paint systems on parameterized multi-dimensional surfaces | |
JP2001052196A (ja) | 文字枠により囲まれた距離フィールドのディテール指向型階層表現を生成する方法及びデータを記憶するメモリ | |
JP5562439B2 (ja) | 空間データ処理方法及び装置 | |
JP4885196B2 (ja) | 細分表面における滑らかな特徴線の生成 | |
JP3286796B2 (ja) | 必要な記憶装置の量を低減する方法および画像作成装置 | |
US6791569B1 (en) | Antialiasing method using barycentric coordinates applied to lines | |
JPH11506846A (ja) | 効率的なディジタル・モデリング及びテクスチャ・マッピングのための方法並びに装置 | |
JPH09330423A (ja) | 三次元形状データ変換装置 | |
CN117274527B (zh) | 一种发电机设备三维可视化模型数据集构建方法 | |
JPH08293021A (ja) | 画像座標変換方法 | |
JP2837584B2 (ja) | 地形データの作成方法 | |
JP4187078B2 (ja) | 画像変形方法及びその装置 | |
US6191795B1 (en) | Ellipsoidal projection mapping | |
JP3090409B2 (ja) | コンピュータを用いた3次元形状のデザイン方法およびデザイン装置 | |
JP3679347B2 (ja) | 柄替えシミュレーションシステム | |
JP3712015B2 (ja) | 画像作成装置および方法 | |
JPH11149566A (ja) | 曲面ディスプレイ用3次元cg描画装置 | |
US6380936B1 (en) | System and method for inferring projective mappings | |
JP2830339B2 (ja) | 画像変換方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080611 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080903 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080903 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130919 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |