(57)【特許請求の範囲】
【請求項１】
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の一つと、この一つの変形制御点に隣接する他の前記変形制御点との関係に基づいて、前記三角形における変形の抑制度合いを設定する設定手段と、
前記変形制御点の移動に対応して、前記設定手段によって設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成手段と、を備え、
前記設定手段は、一の前記変形制御点を基準として、隣接する他の前記変形制御点との距離の範囲に含まれる前記三角形からなる領域の面積を取得し、当該面積が、設定された閾値よりも大きい場合に、前記領域に含まれる三角形について変形の抑制度合いを高めることを特徴とする画像処理装置。
【請求項２】
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の一つと、この一つの変形制御点に隣接する他の前記変形制御点との関係に基づいて、前記三角形における変形の抑制度合いを設定する設定手段と、
前記変形制御点の移動に対応して、前記設定手段によって設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成手段と、を備え、
前記設定手段は、一の前記変形制御点を基準として、隣接する他の前記変形制御点との距離を取得し、当該距離が、設定された閾値よりも大きい場合に、基準とする前記変形制御点から当該距離までの範囲に位置する前記三角形について変形の抑制度合いを高めることを特徴とする画像処理装置。
【請求項３】
前記設定手段は、前記三角形について変形の抑制度合いを高める場合に、当該三角形の頂点における変形の抑制度合いを一律に高めることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の一つと、この一つの変形制御点に隣接する他の前記変形制御点との関係に基づいて、前記三角形における変形の抑制度合いを設定する設定手段と、
前記変形制御点の移動に対応して、前記設定手段によって設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成手段と、を備え、
前記設定手段は、前記三角形について変形の抑制度合いを高める場合に、他の前記三角形との境界部分において、変形の抑制度合いの平滑化を行うことを特徴とする画像処理装置。
【請求項５】
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理方法であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成ステップと、
前記変形制御点の一つと、この一つの変形制御点に隣接する他の前記変形制御点との関係に基づいて、前記三角形における変形の抑制度合いを設定する設定ステップと、
前記変形制御点の移動に対応して、前記設定ステップにおいて設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成ステップと、を含み、
前記設定ステップは、一の前記変形制御点を基準として、隣接する他の前記変形制御点との距離の範囲に含まれる前記三角形からなる領域の面積を取得し、当該面積が、設定された閾値よりも大きい場合に、前記領域に含まれる三角形について変形の抑制度合いを高めることを特徴とする画像処理方法。
【請求項６】
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理方法であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成ステップと、
前記変形制御点の一つと、この一つの変形制御点に隣接する他の前記変形制御点との関係に基づいて、前記三角形における変形の抑制度合いを設定する設定ステップと、
前記変形制御点の移動に対応して、前記設定ステップにおいて設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成ステップと、を含み、
前記設定ステップは、一の前記変形制御点を基準として、隣接する他の前記変形制御点との距離を取得し、当該距離が、設定された閾値よりも大きい場合に、基準とする前記変形制御点から当該距離までの範囲に位置する前記三角形について変形の抑制度合いを高めることを特徴とする画像処理方法。
【請求項７】
画像に設定した変形制御点の移動に対応して、前記画像を変形させるためのプログラムであって、
コンピュータに、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成機能と、
前記変形制御点の一つと、この一つの変形制御点に隣接する他の前記変形制御点との関係に基づいて、前記三角形における変形の抑制度合いを設定する設定機能と、
前記変形制御点の移動に対応して、前記設定機能によって設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成機能と、を実現させ、
前記設定機能は、一の前記変形制御点を基準として、隣接する他の前記変形制御点との距離の範囲に含まれる前記三角形からなる領域の面積を取得し、当該面積が、設定された閾値よりも大きい場合に、前記領域に含まれる三角形について変形の抑制度合いを高めることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示された画像を変形させる処理を行う画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、２次元平面に表示された画像を変形するために、種々の画像処理手法が提案されている。
例えば、特許文献１に記載の技術では、変形対象となる２次元オブジェクト内部に三角形のメッシュを生成し、その頂点の座標を２次元オブジェクトの形状を表すオリジナルのデータとしている。そして、特許文献１に記載の技術では、２次元オブジェクト上の三角形の頂点に設定したハンドルが移動されると、そのハンドルの移動に合わせて、メッシュを構成する三角形の平行移動、回転及び拡大縮小等を行うことにより、最終的なメッシュデータとの誤り量が最小となるように、２次元オブジェクト全体の変形を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４６１３３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、画像の変形度合いが大きくなった場合、三角形のメッシュを変形する過程において、不適切に変形する三角形が発生する可能性があり、これにより、ユーザが意図しない変形となることがあった。
即ち、従来の技術においては、種々の変形態様に対応して、２次元平面に表示された画像を適切に変形することが困難であった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、種々の変形態様に対応して、２次元平面に表示された画像を適切に変形することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の態様の画像処理装置は、
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の一つと、この一つの変形制御点に隣接する他の前記変形制御点との関係に基づいて、前記三角形における変形の抑制度合いを設定する設定手段と、
前記変形制御点の移動に対応して、前記設定手段によって設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成手段と、を備え、
前記設定手段は、一の前記変形制御点を基準として、隣接する他の前記変形制御点との距離の範囲に含まれる前記三角形からなる領域の面積を取得し、当該面積が、設定された閾値よりも大きい場合に、前記領域に含まれる三角形について変形の抑制度合いを高めることを特徴とする。
また、上記目的を達成するため、本発明の第２の態様の画像処理装置は、
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の一つと、この一つの変形制御点に隣接する他の前記変形制御点との関係に基づいて、前記三角形における変形の抑制度合いを設定する設定手段と、
前記変形制御点の移動に対応して、前記設定手段によって設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成手段と、を備え、
前記設定手段は、一の前記変形制御点を基準として、隣接する他の前記変形制御点との距離を取得し、当該距離が、設定された閾値よりも大きい場合に、基準とする前記変形制御点から当該距離までの範囲に位置する前記三角形について変形の抑制度合いを高めることを特徴とする。
更に、上記目的を達成するため、本発明の第３の態様の画像処理装置は、
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の一つと、この一つの変形制御点に隣接する他の前記変形制御点との関係に基づいて、前記三角形における変形の抑制度合いを設定する設定手段と、
前記変形制御点の移動に対応して、前記設定手段によって設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成手段と、を備え、
前記設定手段は、前記三角形について変形の抑制度合いを高める場合に、他の前記三角形との境界部分において、変形の抑制度合いの平滑化を行うことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、種々の変形態様に対応して、２次元平面に表示された画像を適切に変形することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置のハードウェアの構成を示すブロック図である。
【図２】画像変形処理を実行するための機能的構成を示す機能ブロック図である。
【図３】オリジナルメッシュにおける三角形の変形例を模式的に示す図である。
【図４】変形対象となる画像にペナルティが設定される状態を示す模式図である。
【図５】画像に各メッシュが生成された状態を示す図である。
【図６】画像処理装置が実行する画像変形処理の流れを示すフローチャートである。
【図７】画像処理装置が実行する変形用前処理の流れを示すフローチャートである。
【図８】画像処理装置が実行するメッシュ生成処理の流れを示すフローチャートである。
【図９】画像処理装置が実行する変形用前処理の流れを示すフローチャートである。
【図１０】ペナルティの平滑化処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を用いて説明する。
［第１実施形態］
［ハードウェア構成］
図１は、本発明の一実施形態に係る画像処理装置１のハードウェアの構成を示すブロック図である。
画像処理装置１は、例えばパーソナルコンピュータ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）として構成される。
【００１０】
本実施形態に係る画像処理装置１は、変形対象となる画像に三角形のメッシュを生成し、変形制御点の移動に対応して、変形条件を定めることによって定義される所定の行列による演算を行って、多段階に三角形を変形させる。このとき、途中の変形段階において、変形制御点の位置関係に基づいて定めた条件を充足する三角形については、変形の度合いを他の三角形よりも抑制することとしている。そして、最終的に変形された三角形の集合によって表されるメッシュが、変形結果の画像を表すものとなる。このような処理を行うことにより、変形制御点は周囲の三角形の変形を抑制する作用があるところ、変形制御点の間隔が広く開いた領域等において、変形制御点によって変形が抑制されないことにより、不適切に変形する三角形が発生することを抑制できる。即ち、種々の変形態様に対応して、２次元平面に表示された画像をより適切に変形することが可能となる。
【００１１】
画像処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、バス１４と、入出力インターフェース１５と、入力部１６と、出力部１７と、記憶部１８と、通信部１９と、ドライブ２０と、を備えている。
ＣＰＵ１１は、例えば、後述する画像変形処理のためのプログラム等、ＲＯＭ１２に記録されているプログラム、または、記憶部１８からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００１２】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１３】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インターフェース１５も接続されている。入出力インターフェース１５には、入力部１６、出力部１７、記憶部１８、通信部１９及びドライブ２０が接続されている。
【００１４】
入力部１６は、各種釦やポインティングデバイス等で構成され、画像変形処理における画像の変形を行うための指示操作等、ユーザの指示操作に応じて各種情報を入力する。
出力部１７は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部１８は、ハードディスクあるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種画像のデータを記憶する。
通信部１９は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００１５】
ドライブ２０には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア３１が適宜装着される。ドライブ２０によってリムーバブルメディア３１から読み出されたプログラムは、必要に応じて記憶部１８にインストールされる。また、リムーバブルメディア３１は、記憶部１８に記憶されている画像のデータ等の各種データも、記憶部１８と同様に記憶することができる。
【００１６】
［機能的構成］
図２は、このような画像処理装置１の機能的構成のうち、画像変形処理を実行するための機能的構成を示す機能ブロック図である。
画像変形処理とは、ユーザによって入力される画像の変形指示（変形制御点の移動）に対応して、表示されている画像に変形を施す一連の処理をいう。なお、以下、上述の特許文献１（特許第４６１３３１３号公報）に開示された処理手順を基本とし、さらに、種々の変形態様に対しても、より適切に画像の変形を行うことができる処理手順を追加した実施形態について説明する。
【００１７】
ＣＰＵ１１は、画像変形処理を実行する機能ブロックとして、ユーザ指示取得部４１と、オリジナルメッシュ生成部４２と、メッシュ依存行列生成部４３と、制御点依存行列生成部４４と、中間メッシュ生成部４５と、適合メッシュ生成部４６と、最終メッシュ生成部４７とを備えている。
ユーザ指示取得部４１は、入力部１６を介してユーザによって入力される画像変形処理のための各種指示入力を取得する。例えば、ユーザ指示取得部４１は、入力部１６を介して入力される変形対象となる画像の選択、変形制御点の設定及び移動、画像変形処理の終了の指示入力等を取得する。
【００１８】
オリジナルメッシュ生成部４２は、画像変形処理において処理対象となる変形前の画像に三角形のメッシュ（以下、適宜「オリジナルメッシュ」と呼ぶ。）を生成する。このとき、オリジナルメッシュ生成部４２は、ドロネー三角形分割等の手法によって、処理対象となる画像に三角形の頂点を設定し、三角形のメッシュを生成する。そして、オリジナルメッシュ生成部４２は、生成したオリジナルメッシュを表すデータ（具体的には、メッシュに含まれる各三角形の座標）を変形処理データ記憶部４８に記憶する。
【００１９】
メッシュ依存行列生成部４３は、オリジナルメッシュ生成部４２によって生成された三角形のメッシュに依存して定まる各行列（後述する行列Ｇ１，Ｂ１等）を算出する。
制御点依存行列生成部４４は、オリジナルメッシュの三角形の頂点上に変形制御点が設定、追加あるいは削除されたときに、変形制御点に依存して定まる各行列（後述するＧ２，Ｇ４等）を生成する。また、制御点依存行列生成部４４は、変形制御点の位置関係に応じて自由点ｕの変形の抑制度合いを設定するペナルティ設定部４４ａを有している。
具体的には、メッシュ依存行列生成部４３及び制御点依存行列生成部４４は、以下の手順に基づいて各行列を算出する。
【００２０】
図３は、オリジナルメッシュにおける三角形Ｓの変形例を模式的に示す図である。
図３において、三角形Ｓは、３つの頂点（ｖ０，ｖ１，ｖ２）を有している。
これら３つの頂点のうちの１つの座標は、他の２つの頂点の座標によって表すことができる。即ち、頂点ｖ０，ｖ１の座標と、頂点ｖ２から辺ｖ０ｖ１に下ろした垂線の長さｙ０及び垂線の足の位置（頂点ｖ０からの距離）ｘ０とが与えられれば、次式（１）のように、頂点ｖ２の座標を頂点ｖ０，ｖ１の座標によって表すことができる。
ｖ２＝ｖ０＋ｘ０１・（ベクトルｖ０ｖ１）＋ｙ０・Ｒ９０（ベクトルｖ０ｖ１）  (１)
【００２１】
なお、（１）式において、Ｒ９０は９０度の回転を示す演算子である。
（１）式と同様に、頂点ｖ０，ｖ１の座標についても、他の２つの頂点の座標によって表すことができる。
また、変形制御点が移動されることにより、三角形の歪みや不均一な伸縮を禁止し、平行移動、回転及び拡大・縮小を許容して変形させた結果の三角形からなるメッシュ（以下、適宜「中間メッシュ」と呼ぶ。）における頂点ｖ２の誤差は、｜ｖ２＊−ｖ２｜と表すことができる。ただし、ｖ２＊は、中間メッシュを構成する三角形に変形後の頂点ｖ２の座標である。また、頂点ｖ２と同様に、頂点ｖ０，ｖ１についても誤差｜ｖ０＊−ｖ０｜，｜ｖ１＊−ｖ１｜を算出することができる。これらの誤差は、１つの頂点に関する移動量の大きさを表している。
【００２２】
このように各三角形の頂点の誤差を算出し、全ての三角形の頂点についての誤差を取得することにより、次式（２）に示すように、オリジナルメッシュと変形後のメッシュとの誤差Ｅ１は行列Ｇ１を用いて表すことができる。行列Ｇ１は、オリジナルメッシュを構成する各頂点の接続状態を表している。なお、１つの三角形の３つの頂点についての上記誤差の集合は、その三角形の変形量の大きさを表す指標となる。
Ｅ１＝ｖｔ・Ｇ１・ｖ      （２）
ただし、ｖはオリジナルメッシュにおける三角形の各頂点の座標の集合からなるベクトル、ｖｔはベクトルｖの転置行列を表している。なお、ベクトルｖにおいては、三角形の頂点のうち、変形制御点ｑが下位、他の自由点（変形制御点の移動に対応して位置が決まる点）ｕが上位に配列されている（ｖ＝［ｕ，ｑ］）。
【００２３】
ここで、ペナルティ設定部４４ａは、ベクトルｖに示される各頂点の座標に対し、変形制御点の位置関係に応じた変形の抑制度合い（以下、適宜「ペナルティ」と呼ぶ。）を与えるペナルティベクトルＰＶを設定する。
ペナルティベクトルＰＶは、後述する変形用前処理において設定され、変形制御点の間隔が一定以上開いている領域に含まれる三角形の頂点に対して、１以上の値であるペナルティｐ（ここでは一定値とする）を付与するベクトルである。なお、ペナルティｐ＝１の場合、変形制御点の移動に伴う変形の抑制が行われないことを示しており、ペナルティｐの値が大きくなるほど、変形制御点の移動に伴う変形が抑制される。
【００２４】
図４は、変形対象となる画像にペナルティｐが設定される状態を示す模式図である。なお、図４においては、オリジナルメッシュを省略して変形対象となる画像を表している。
図４に示すように、変形対象となる画像に変形制御点１０１〜１１４が設定されている場合に、変形制御点１０１と変形制御点１０２との間隔が広く開いているとする。
このとき、変形制御点１０１を基準として、変形制御点１０１と変形制御点１０２との距離よりも近い距離に頂点が位置する三角形群（図４における斜線の領域に含まれる三角形）を検出し、それらの三角形の頂点については、１よりも大きい値のペナルティｐが設定される。
本実施形態においては、（２）式における各頂点によりオリジナルメッシュの構成を表す行列Ｇ１にペナルティベクトルＰＶを作用させる。具体的には、各頂点の座標に対応するペナルティベクトルＰＶを、各オリジナルメッシュに対応するベクトルＰＦに、オリジナルメッシュを構成する頂点に関連するペナルティの平均を取ることにより変換する。
各オリジナルメッシュに対応したペナルティベクトルＰＦを、行列Ｇ１の対応する位置に乗じ、行列Ｇ１’を得て、（２）式を次式（２ａ）のように補正する。
Ｅ１＝ｖｔ・Ｇ１’・ｖ      （２ａ）
【００２５】
（２ａ）式においては、変形制御点ｑの座標を入力すると、自由点ｕの座標が与えられる。ただし、（２ａ）式から算出される自由点ｕは、ペナルティベクトルＰＦのペナルティによって、変形が抑制された値となる。
（２ａ）式によれば、行列Ｅ１は、ベクトルｖの要素について２次の関数であるため、行列Ｅ１の最小値を求めるためには、（３）式に示すように、自由点ｕの座標で偏微分し、その値が０となるときの方程式を解けばよい。
∇Ｅ１／∇ｕ＝Ｇ２・ｕ＋Ｂ１・ｑ＝０      （３）
ただし、Ｇ２は行列Ｇ１’において変形制御点の成分を除去し、ペナルティベクトルＰＦの要素を算入した行列、Ｂ１は行列Ｇ１及び変形制御点の座標から得られるベクトルである。なお、（３）式における「Ｂ１・ｑ」項を行列Ｇｘ（＝Ｂ１・ｑ）と置く。行列Ｇｘは、変形制御点の移動と共に変化する。
【００２６】
（３）式より、求める自由点ｕの座標は、次式（４）に示すように、
ｕ＝Ｇ２−１・（−Ｂ１・ｑ）      （４）
として算出できる。
メッシュ依存行列生成部４３は、オリジナルメッシュが生成されると、上述の手順によって行列Ｇ１，Ｂ１を算出する。
そして、制御点依存行列生成部４４は、行列Ｇ２及びその逆行列Ｇ２−１を算出する。
また、オリジナルメッシュの三角形に、歪み、不均一な伸縮及び拡大・縮小を禁止すると共に回転及び平行移動を許容して、上述の中間メッシュを構成する三角形に適合させて、適合メッシュが生成される。中間メッシュと適合メッシュとの誤差（各頂点の位置の誤差）は、各三角形について算出することができる。
【００２７】
このとき、次式（５）に示すように、中間メッシュの三角形について、適合メッシュの三角形との誤差Ｅ２は行列Ｇ３を用いて表すことができる。
Ｅ２＝ｗｔ・Ｇ３・ｗ      （５）
ただし、ｗは１つの頂点を他の２つの頂点の座標によって表すことにより、４つの変数の集合となったベクトルであり、ｗｔはベクトルｗの転置行列を表している。
（５）式をベクトルｗの各要素で偏微分すると、次式（６）が得られる。
∇Ｅ２／∇ｗ＝Ｇ４・ｗ＋Ｂ２      （６）
ただし、Ｇ４は行列Ｇ３において変形制御点の成分を除去した行列、Ｂ２は行列Ｇ３及び変形制御点の座標から得られるベクトルである。
【００２８】
（６）式の右辺を０として、求める三角形の頂点を表す座標ｗは、次式（７）に示すように、
ｗ＝Ｇ４−１・（−Ｂ２）      （７）
として算出できる。
ここで、（６）式においては、中間メッシュの三角形に適合させるために、オリジナルメッシュの三角形を拡大・縮小する要素が含まれているため、変化した大きさを元の大きさに調整するための値を算出する。即ち、（６）式の右辺を０として、ベクトルｗを算出し、ベクトルｗにおける頂点の座標から、三角形の各辺を表すベクトルの大きさＷｆを算出する。そして、オリジナルメッシュの三角形の辺を表すベクトルＥ０と、それに対応する三角形の辺を表すベクトルＷｆとの比（以下、適宜「スケール調整値」と呼ぶ。）Ｗｐを次式（８）に従って算出する。
【００２９】
Ｗｐ＝｜Ｗｆ｜／｜Ｅ０｜      （８）
適合メッシュを構成する各三角形は、（８）式の値の逆数を乗ずることによりオリジナルメッシュにおいて対応する三角形と同一の大きさとされる。
メッシュ依存行列生成部４３は、中間メッシュが生成されると、行列Ｇ４，Ｂ２及び行列Ｇ４の逆行列Ｇ４−１を算出する。
【００３０】
また、適合メッシュの三角形を、誤差を最小にしつつ、最終的なターゲットとなるメッシュ（以下、適宜「最終メッシュ」と呼ぶ。）の三角形に適合させることにより、各自由点ｕの最終的な座標が算出される。このとき、三角形の平行移動、回転、拡大・縮小、歪みが許容され、適合メッシュと最終メッシュとにおいて、対応する三角形の辺を表すベクトルの誤差が最小となるように最終メッシュの三角形が取得される。
即ち、適合メッシュの三角形の各辺を示すベクトルと、対応する最終メッシュの三角形の各辺を示すベクトルとの誤差を、各三角形について算出する。
【００３１】
このとき、次式（９）に示すように、適合メッシュの三角形の各辺について、最終メッシュの三角形との誤差を表す行列Ｅ３は行列Ｇ５を用いて表すことができる。
Ｅ３＝ｚｔ・Ｇ５・ｚ＋Ｂ３・ｚ＋Ｃ      （９）
ただし、ｚはオリジナルメッシュにおける三角形の各頂点の座標の集合からなるベクトル、ｚｔはベクトルｚの転置行列を表している。また、Ｂ３及びＣは適合メッシュ座標から得られるベクトルである。なお、ベクトルｚにおいては、三角形の頂点のうち、変形制御点ｑが下位、他の自由点（変形制御点の移動に対応して位置が決まる点）ｕが上位に配列されている（ｚ＝［ｕ，ｑ］）。
ここで、ペナルティベクトルＰＦを、ベクトルＢ３に作用させ行列Ｂ３’とする。Ｂ３は、適合メッシュから得られるベクトルであり、ペナルティベクトルＰＦの対応するＢ３内のメッシュ位置にペナルティを乗じる（オリジナルメッシュも適合メッシュも、同じ頂点インデックスから構成されるメッシュのため、適合メッシュに対してペナルティベクトルＰＦをそのまま利用できる）。
【００３２】
行列Ｅ３の最小値を求めるためには、（２）式と同様に、行列Ｅ３を自由点ｕの座標で偏微分し、その値が０となるときの方程式を解けばよい。
∇Ｅ３／∇ｕ＝Ｇ６・ｕ＋Ｂ４＝０      （１０）
ただし、Ｇ６は行列Ｇ５において変形制御点の成分を除去した行列、Ｂ４は行列Ｇ５、Ｂ３’及び変形制御点の座標から得られるベクトルである。
（１０）式より、求める自由点ｕの座標は、次式（１１）に示すように、
ｕ＝Ｇ６−１・（−Ｂ４）      （１１）
として算出できる。
【００３３】
このように算出された自由点ｕの座標によって表される最終メッシュの各三角形は、隣接する三角形の辺が重複しており、最終メッシュは、三角形が連続した構成となっている。
これにより、変形制御点の移動に対応した画像の変形処理が実現される。
メッシュ依存行列生成部４３は、適合メッシュが生成されると、行列Ｇ５を算出する。
そして、制御点依存行列生成部４４は、行列Ｇ６及びその逆行列Ｇ６−１、行列Ｂ４を算出する。
【００３４】
中間メッシュ生成部４５は、行列Ｇ２の逆行列Ｇ２−１及び行列Ｂ１によって、オリジナルメッシュの三角形を中間メッシュの三角形に変換する。
適合メッシュ生成部４６は、行列Ｇ４の逆行列Ｇ４−１及び行列Ｂ２と、スケール調整値Ｗｐによって、中間メッシュ生成部４５によって変換された中間メッシュの三角形を適合メッシュの三角形に変換する。
【００３５】
最終メッシュ生成部４７は、行列Ｇ６の逆行列Ｇ６−１及び行列Ｂ４によって、中間メッシュの三角形を最終メッシュの三角形に変換する。
ここで、本実施形態において、適合メッシュ生成部４６は、スケール調整値Ｗｐの大きさに応じて、適合メッシュの三角形を算出する際のスケール調整処理を切り替える。具体的には、スケール調整値Ｗｐが設定した閾値（ここでは１／８とする）以下である場合、スケール調整を行わず、中間メッシュの三角形をそのまま適合メッシュの三角形とする。一方、適合メッシュ生成部４６は、スケール調整値Ｗｐが設定した閾値より小さくない場合、（７）式によって算出した座標の三角形をＷｐでスケール調整し、適合メッシュの三角形とする。
なお、以上のスケール調整値Ｗｐに応じたスケール調整処理の切り替えは、ユーザの選択等によって実行しないこととしても良い。
【００３６】
図２の説明に戻り、記憶部１８の一領域には、画像変形処理において使用される各種データを記憶する変形処理データ記憶部４８が設けられている。
出力部１７は、画像変形処理において処理対象となる画像を表示する画像表示部４９を備えている。
【００３７】
図５は、画像に各メッシュが生成された状態を示す図であり、図５（ａ）は変形対象となる画像にオリジナルメッシュが生成された状態を示す図、図５（ｂ）は中間メッシュ、適合メッシュ及び最終メッシュが生成されることにより、画像が変形された状態を示す図である。
図５に示すように、本実施形態では、画像変形処理において処理対象となる画像が画像表示部４９に表示され、オリジナルメッシュ生成部４２によって画像にオリジナルメッシュが生成される（図５（ａ）参照）。そして、オリジナルメッシュにおける三角形の頂点の一部が変形制御点として設定されると、メッシュ依存行列生成部４３及び制御点依存行列生成部４４が各行列及びスケール調整値Ｗｐを算出し、中間メッシュ生成部４５が中間メッシュの三角形を算出する。さらに、適合メッシュ生成部４６が適合メッシュの三角形を算出し、最終メッシュ生成部４７が最終メッシュの三角形を算出する。このとき、適合メッシュ生成部４６は、スケール調整値Ｗｐが設定した閾値（例えば１／８）以下である場合、スケール調整を行わず、中間メッシュの三角形をそのまま適合メッシュの三角形とする。一方、適合メッシュ生成部４６は、スケール調整値Ｗｐが設定した閾値より小さくない場合、（７）式によって算出した座標の三角形をＷｐでスケール調整し、適合メッシュの三角形とする（図５（ｂ）参照）。
【００３８】
このように、スケール調整値Ｗｐに応じて適合メッシュを構成する三角形の生成方法を切り替えた場合、変形制御点の移動に伴い変形度合いが大きくなる領域（例えば図５（ｂ）における領域Ｌ）において、画像の一部が極端に拡大する等、不適切に変形する三角形の発生を抑制することができる。
なお、上述のように、スケール調整値Ｗｐに応じたスケール調整処理は、適宜行わないこととしても良い。
【００３９】
［動作］
次に、画像処理装置１の動作を説明する。
［画像変形処理］
初めに、画像処理装置１の動作におけるメインフローとなる画像変形処理について説明する。
図６は、画像処理装置１が実行する画像変形処理の流れを示すフローチャートである。
画像変形処理は、ユーザが画像変形処理の開始を指示入力することに対応して実行される。
ステップＳ１において、ユーザ指示取得部４１は、ユーザの指示に従って変形対象となる画像を選択する。
【００４０】
ステップＳ２において、ユーザ指示取得部４１は、ユーザによって設定された変形制御点の設定内容を取得する。なお、変形制御点は、画像の変形の複雑さに応じて、１つまたは複数設定される。
ステップＳ３において、メッシュ依存行列生成部４３及び制御点依存行列生成部４４は、画像の変形処理における演算負荷を軽減するための変形用前処理（後述）を実行する。変形用前処理は、画像の変形処理に用いる各種行列等を予め生成する処理である。本実施形態において、変換用前処理では、変形制御点の位置関係に応じて、各自由点ｕに対するペナルティが設定される。
ステップＳ４において、ユーザ指示取得部４１は、画像変形処理の終了が指示入力されたか否かの判定を行う。
【００４１】
画像変形処理の終了が指示入力された場合、ステップＳ４においてＹＥＳであると判定されて、処理は終了となる。
これに対して、画像変形処理の終了が指示入力されていない場合、ステップＳ４においてＹＥＳと判定されて、処理はステップＳ５に進む。
ステップＳ５において、ユーザ指示取得部４１は、ユーザによる変形制御点の移動結果を取得する。
【００４２】
ステップＳ６において、中間メッシュ生成部４５、適合メッシュ生成部４６及び最終メッシュ生成部４７は、メッシュ生成処理（後述）を実行する。メッシュ生成処理は、変形制御点の移動に応じて、中間メッシュ、適合メッシュ及び最終メッシュを生成し、変形結果となる各三角形の座標を算出する処理である。
ステップＳ７において、画像表示部４９は、メッシュ生成処理において算出した最終メッシュの三角形の座標に従って、変形後の画像を描画する。
ステップＳ７の後、処理はステップＳ４に進む。
【００４３】
［変形用前処理］
次に、画像変形処理のステップＳ３において実行される変形用前処理について説明する。
図７は、画像処理装置１が実行する変形用前処理の流れを示すフローチャートである。
ステップＳ３０１において、ペナルティ設定部４４ａは、全ての頂点のペナルティｐを１に初期化する（ペナルティベクトルＰＶをリセットする）。
ステップＳ３０２において、ペナルティ設定部４４ａは、全ての変形制御点を基準としたペナルティｐの設定が終了したか否かの判定を行う。
全ての変形制御点を基準としたペナルティｐの設定が終了していない場合、ステップＳ３０２においてＮＯと判定されて、処理はステップＳ３０３に進む。
【００４４】
これに対し、全ての変形制御点を基準としたペナルティｐの設定が終了した場合、ステップＳ３０２においてＹＥＳと判定されて、処理はステップＳ３０７に進む。
ステップＳ３０３において、ペナルティ設定部４４ａは、基準としている変形制御点から一番近い変形制御点の位置を検索し、検索された変形制御点までの距離を変数Ｄｉｓｔに設定する。なお、このときの探索経路は三角形のエッジ（辺）上とし、経路探索アルゴリズムとして、例えば、ダイクストラ法を用いることができる。
ステップＳ３０４において、ペナルティ設定部４４ａは、基準とする変形制御点から距離がＤｉｓｔ以内である頂点からなる三角形群を取得し（図４参照）、これらの三角形が構成する領域の面積Ａｒを算出する。
ステップＳ３０５において、ペナルティ設定部４４ａは、面積Ａｒが、面積Ａｒについて設定された閾値Ｓｔｈよりも大きいか否かの判定を行う。
【００４５】
面積Ａｒが、面積Ａｒについて設定された閾値Ｓｔｈ以下である場合、ステップＳ３０５においてＮＯと判定されて、処理はステップＳ３０２に進む。
これに対し、面積Ａｒが、面積Ａｒについて設定された閾値Ｓｔｈよりも大きい場合、ステップＳ３０５においてＹＥＳと判定されて、処理はステップＳ３０６に進む。
ステップＳ３０６において、ペナルティ設定部４４ａは、面積Ａｒの領域を構成する三角形の各頂点に対して、１以上の値であるペナルティｐを設定する。
このようなステップＳ３０６の後、処理はステップＳ３０２に進む。
ステップＳ３０７において、メッシュ依存行列生成部４３は行列Ｇ１，Ｇ１’，Ｇ５を生成する。
【００４６】
ステップＳ３０８において、メッシュ依存行列生成部４３は行列Ｇ４及びその逆行列Ｇ４−１を算出する。
ステップＳ３０９において、制御点依存行列生成部４４は行列Ｇ２，Ｇ６を算出する。
ステップＳ３１０において、制御点依存行列生成部４４は行列Ｇ２の逆行列Ｇ２−１及び行列Ｇ６の逆行列Ｇ６−１を算出する。
このようなステップＳ３１０の処理が終了すると、処理は画像変形処理に戻る。
【００４７】
［メッシュ生成処理］
次に、画像変形処理のステップＳ６において実行されるメッシュ生成処理について説明する。
図８は、画像処理装置１が実行するメッシュ生成処理の流れを示すフローチャートである。
ステップＳ６０１において、メッシュ依存行列生成部４３は、変形制御点が移動されたことによる行列Ｇｘ（＝Ｂ１・ｑ）の補正を行う。
ステップＳ６０２において、中間メッシュ生成部４５は、（４）式に従い、自由点ｕを算出する。即ち、ここで算出される自由点ｕは、中間メッシュの三角形の頂点を表す。
【００４８】
ステップＳ６０３において、メッシュ依存行列生成部４３は、中間メッシュの三角形の頂点の座標に基づいて、（６）式に従い、行列Ｂ２を算出する。
ステップＳ６０４において、適合メッシュ生成部４６は、（７）式によって算出される頂点の座標ｗを基に、中間メッシュの各三角形の辺を表すベクトルＷｆを算出する。
ステップＳ６０５において、適合メッシュ生成部４６は、中間メッシュの各三角形の辺に対応するオリジナルメッシュの辺を表すベクトルＥ０を取得する。
【００４９】
ステップＳ６０６において、適合メッシュ生成部４６は、中間メッシュの三角形の辺を表すベクトルＷｆと、オリジナルメッシュにおいて対応する三角形の辺を表すベクトルＥ０との比であるスケール調整値Ｗｐが閾値１／８以下であるか否かの判定を行う。
スケール調整値Ｗｐが閾値１／８以下である場合、ステップＳ６０６においてＹＥＳと判定されて、処理はステップＳ６０７に進む。
これに対し、スケール調整値Ｗｐが閾値１／８より小さくない場合、ステップＳ６０７においてＮＯと判定されて、処理はステップＳ６０８に進む。
【００５０】
ステップＳ６０７において、適合メッシュ生成部４６は、中間メッシュの三角形をスケール調整することなく適合メッシュの三角形とする。
ステップＳ６０８において、適合メッシュ生成部４６は、スケール調整値Ｗｐで中間メッシュの三角形をスケール調整してオリジナルメッシュの三角形の大きさに戻す。
ステップＳ６０９において、適合メッシュ生成部４６は、中間メッシュの三角形の全てを処理したか否かの判定を行う。
なお、上記ステップＳ６０６〜Ｓ６０８によるスケール調整処理は、ユーザの選択等によって実行しないこととしても良い。
【００５１】
中間メッシュの三角形を全て処理し終えていない場合、ステップＳ６０９においてＮＯと判定されて、処理はステップＳ６０３に進む。
これに対し、中間メッシュの三角形の全てを処理した場合、ステップＳ６０９においてＹＥＳと判定されて、処理はステップＳ６１０に進む。
ステップＳ６１０において、最終メッシュ生成部４７は、適合メッシュの三角形の頂点の座標を基に、ベクトルＢ３を算出し、ペナルティベクトルＰＦを作用させた行列Ｂ３’を算出する。
【００５２】
ステップＳ６１１において、最終メッシュ生成部４７は、行列Ｇ５、ベクトルＢ３及び移動された変形制御点の座標ｑを基に、行列Ｂ４を算出する。
ステップＳ６１２において、最終メッシュ生成部４７は、（１１）式を基に、最終メッシュの三角形の頂点の座標を算出する。
このようなステップＳ６１２の処理が終了すると、処理は画像変形処理に戻る。
【００５３】
以上説明したように、本実施形態の画像処理装置１では、変形対象となる画像に対して三角形のメッシュ（オリジナルメッシュ）を生成する。また、設定された変形制御点の位置関係に基づいて定めた領域内の三角形については、その変形が抑制されるように、頂点の座標にペナルティｐが設定される。そして、変形制御点の移動に対応して、三角形の回転及び拡大・縮小を許容して三角形の変換を行い、中間メッシュを生成する。さらに、中間メッシュのスケール調整値Ｗｐの大きさが閾値を超えている場合に、中間メッシュの三角形の大きさをスケール調整し、三角形の回転及び平行移動を許容して三角形の変換を行い、適合メッシュ生成する。そして、適合メッシュの三角形の辺を表すベクトルの向きの誤差を最小とする変換を行って、最終メッシュを生成する。
【００５４】
そのため、最終メッシュとして算出された各頂点は、変形制御点の位置関係に基づいて、ペナルティによって変形が抑制された状態となる。
即ち、変形制御点は周囲の三角形の変形を抑制する作用があるところ、変形制御点の間隔が広く開いた領域等において、変形制御点によって変形が抑制されないことにより、不適切に変形する三角形が発生することを抑制できる。
したがって、種々の変形態様に対応して、２次元平面に表示された画像をより適切に変形することが可能となる。
【００５５】
また、オリジナルメッシュの三角形に対し、中間メッシュの三角形の大きさが比較的小さい場合には、スケール調整を行うことなく、中間メッシュが適合メッシュとされる。
したがって、メッシュを構成する三角形の変換による歪みが生じる確率を低減することができ、種々の変形態様に対応して、２次元平面に表示された画像をより適切に変形することが可能となる。
【００５６】
［第２実施形態］
次に、本発明の第２実施形態について説明する。
第２実施形態では、第１実施形態における変形用前処理を変更し、基準とする変形制御点から頂点までの距離Ｄｉｓｔが閾値以内にあるか否かに応じて、その頂点にペナルティｐを設定する。
即ち、第１実施形態では、基準とする変形制御点から隣接する変形制御点までの距離Ｄｉｓｔを取得し、基準とする変形制御点から距離がＤｉｓｔ以内である三角形群によって構成される領域の面積Ａｒが、閾値Ｓｔｈよりも大きいか否かに応じて、それらの頂点にペナルティを設定することとした。
【００５７】
これに対し、本実施形態では、基準とする変形制御点から隣接する変形制御点までの距離Ｄｉｓｔが、距離Ｄｉｓｔについて設定された閾値Ｄｔｈよりも大きいか否かに応じて、基準とする変形制御点から距離Ｄｉｓｔ以内にある頂点にペナルティを設定する。
以下、本実施形態の変形用前処理について説明する。
図９は、画像処理装置１が実行する変形用前処理の流れを示すフローチャートである。
ステップＳ７０１において、ペナルティ設定部４４ａは、全ての頂点のペナルティｐを１に初期化する（ペナルティベクトルＰＶをリセットする）。
ステップＳ７０２において、ペナルティ設定部４４ａは、全ての変形制御点を基準としたペナルティｐの設定が終了したか否かの判定を行う。
全ての変形制御点を基準としたペナルティｐの設定が終了していない場合、ステップＳ７０２においてＮＯと判定されて、処理はステップＳ７０３に進む。
【００５８】
これに対し、全ての変形制御点を基準としたペナルティｐの設定が終了した場合、ステップＳ７０２においてＹＥＳと判定されて、処理はステップＳ７０６に進む。
ステップＳ７０３において、ペナルティ設定部４４ａは、基準としている変形制御点から一番近い変形制御点の位置を検索し、検索された変形制御点までの距離を変数Ｄｉｓｔに設定する。なお、このときの探索経路は三角形のエッジ（辺）上とし、経路探索アルゴリズムとして、例えば、ダイクストラ法を用いることができる。
ステップＳ７０４において、ペナルティ設定部４４ａは、距離Ｄｉｓｔが、距離Ｄｉｓｔについて設定された閾値Ｄｔｈよりも大きいか否かの判定を行う。
【００５９】
距離Ｄｉｓｔが、距離Ｄｉｓｔについて設定された閾値Ｄｔｈ以下である場合、ステップＳ７０４においてＮＯと判定されて、処理はステップＳ７０２に進む。
これに対し、距離Ｄｉｓｔが、距離Ｄｉｓｔについて設定された閾値Ｄｔｈよりも大きい場合、ステップＳ７０４においてＹＥＳと判定されて、処理はステップＳ７０５に進む。
ステップＳ７０５において、ペナルティ設定部４４ａは、基準とする変形制御点からの距離がＤｉｓｔ以内である各頂点に対して、１以上の値であるペナルティｐを設定する。
このようなステップＳ７０５の後、処理はステップＳ７０２に進む。
ステップＳ７０６において、メッシュ依存行列生成部４３は行列Ｇ１，Ｇ１’，Ｇ５を生成する。
【００６０】
ステップＳ７０７において、メッシュ依存行列生成部４３は行列Ｇ４及びその逆行列Ｇ４−１を算出する。
ステップＳ７０８において、制御点依存行列生成部４４は行列Ｇ２，Ｇ６を算出する。
ステップＳ７０９において、制御点依存行列生成部４４は行列Ｇ２の逆行列Ｇ２−１及び行列Ｇ６の逆行列Ｇ６−１を算出する。
このようなステップＳ７０９の処理が終了すると、処理は画像変形処理に戻る。
【００６１】
以上説明したように、本実施形態の画像処理装置１では、基準とする変形制御点から隣接する変形制御点までの距離Ｄｉｓｔが、距離Ｄｉｓｔについて設定された閾値Ｄｔｈよりも大きいか否かに応じて、基準とする変形制御点から距離Ｄｉｓｔ以内にある頂点にペナルティを設定する。
そのため、最終メッシュとして算出された各頂点は、変形制御点の位置関係に基づいて、ペナルティによって変形が抑制された状態となる。
即ち、変形制御点は周囲の三角形の変形を抑制する作用があるところ、変形制御点の間隔が広く開いた領域等において、変形制御点によって変形が抑制されないことにより、不適切に変形する三角形が発生することを抑制できる。
したがって、種々の変形態様に対応して、２次元平面に表示された画像をより適切に変形することが可能となる。
【００６２】
［応用例］
上記各実施形態において、ペナルティｐを設定する頂点を面積Ａｒ（第１実施形態）あるいは距離Ｄｉｓｔ（第２実施形態）について設定した閾値によって、択一的に選択することとした。
これに対し、上記閾値を基に選択された頂点からなる領域と、それ以外の頂点からなる領域との境界において、ペナルティｐを平滑化することができる。
図１０は、ペナルティｐの平滑化処理の流れを示すフローチャートである。
図１０に示す処理は、変形用前処理において、ペナルティベクトルＰＶが生成された後、ペナルティｐの平滑化処理の実行が指示されている場合に開始される。
ステップＳ８０１において、ペナルティ設定部４４ａは、全ての頂点についてペナルティｐの平滑化を終了したか否かの判定を行う。
【００６３】
全ての頂点についてペナルティｐの平滑化を終了した場合、ステップＳ８０１においてＹＥＳと判定されて、処理は変形用前処理に戻る。
これに対し、全ての頂点についてペナルティｐの平滑化を終了していない場合、ステップＳ８０１においてＮＯと判定されて、処理はステップＳ８０２に進む。
ステップＳ８０２において、ペナルティ設定部４４ａは、ペナルティｐの平滑化を終了していない頂点を選択する。
【００６４】
ステップＳ８０３において、ペナルティ設定部４４ａは、選択された頂点が接続している他の頂点のペナルティｐと、選択された頂点のペナルティｐとの平均値を算出し、算出された値を選択された頂点のペナルティｐとする。
なお、ステップＳ８０２において選択する処理対象の頂点の範囲は、１以上の値であるペナルティｐが設定された頂点の領域と、ペナルティｐが１の頂点（変形の抑制がない頂点）の領域との境界を挟んで、境界から所定数（例えば３つ）までとすることができる。
このようなステップＳ８０３の処理が終了すると、処理はステップＳ８０１に進む。
以上のようなペナルティｐの平滑化処理を行うことにより、画像の変形が抑制される領域と抑制されない領域との境界で、変形の状態に不整合が生じ、ユーザに違和感を与えることを抑制できる。
【００６５】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、上述の各実施形態において、変形対象となる画像の顔検出を行う顔検出機能と組み合わせて、ペナルティｐの設定を行うことができる。
即ち、顔検出機能によって変形対象となる画像の顔を検出し、顔として検出された領域を対象として、各実施形態におけるペナルティｐの設定を行うことができる。
このような処理を行うことにより、顔が不自然に変形する事態を抑制することができ、ユーザに違和感を与えることを防止できる。
【００６６】
上述の各実施形態では、メッシュ生成処理のステップＳ６０７において、スケール調整値Ｗｐが設定した閾値以下である場合に、その中間メッシュの三角形をスケール調整することなく、適合メッシュの三角形とすることとして説明した。
これに対し、スケール調整値Ｗｐが設定した閾値以下である場合に、その中間メッシュの三角形に対応するオリジナルメッシュの三角形を、適合メッシュの三角形とすることもできる。
【００６７】
ここで、オリジナルメッシュの三角形を変形して画像全体の変形を実現するアルゴリズムについては、上述の各実施形態に示す例以外を採用することができる。この場合においても、三角形の頂点の座標に、変形制御点の位置関係に応じたペナルティを設定すれば、本発明の作用効果を得ることができる。
また、上述の各実施形態では、本発明が適用される画像処理装置１は、パーソナルコンピュータを例として説明したが、特にこれに限定されない。
例えば、本発明は、画像処理機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
【００６８】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図２の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が画像処理装置１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図２の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００６９】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００７０】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図１のリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図１のＲＯＭ１２や、図１の記憶部１８に含まれるハードディスク等で構成される。
【００７１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【００７２】
以上、本発明の実施形態について説明したが、この実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。上記実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００７３】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の位置関係に応じて、前記三角形における変形の抑制度合いを設定する設定手段と、
前記変形制御点の移動に対応して、前記設定手段によって設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成手段と、
を備えることを特徴とする画像処理装置。
［付記２］
前記設定手段は、一の前記変形制御点を基準として、隣接する他の前記変形制御点との距離の範囲に含まれる前記三角形からなる領域の面積を取得し、当該面積が、設定された閾値よりも大きい場合に、前記領域に含まれる三角形について変形の抑制度合いを高めることを特徴とする付記１記載の画像処理装置。
［付記３］
前記設定手段は、一の前記変形制御点を基準として、隣接する他の前記変形制御点との距離を取得し、当該距離が、設定された閾値よりも大きい場合に、基準とする前記変形制御点から当該距離までの範囲に位置する前記三角形について変形の抑制度合いを高めることを特徴とする付記１記載の画像処理装置。
［付記４］
前記設定手段は、前記三角形について変形の抑制度合いを高める場合に、当該三角形の頂点における変形の抑制度合いを一律に高めることを特徴とする付記１から３のいずれか１項に記載の画像処理装置。
［付記５］
前記設定手段は、前記三角形について変形の抑制度合いを高める場合に、他の前記三角形との境界部分において、変形の抑制度合いの平滑化を行うことを特徴とする付記１から３のいずれか１項に記載の画像処理装置。
［付記６］
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理方法であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成ステップと、
前記変形制御点の位置関係に応じて、前記三角形における変形の抑制度合いを設定する設定ステップと、
前記変形制御点の移動に対応して、前記設定ステップにおいて設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成ステップと、
を含むことを特徴とする画像処理方法。
［付記７］
画像に設定した変形制御点の移動に対応して、前記画像を変形させるためのプログラムであって、
コンピュータに、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成機能と、
前記変形制御点の位置関係に応じて、前記三角形における変形の抑制度合いを設定する設定機能と、
前記変形制御点の移動に対応して、前記設定機能によって設定された変形の抑制度合いに従って、前記オリジナルメッシュを構成する三角形の変形処理を行うメッシュ生成機能と、
を実現させることを特徴とするプログラム。
【符号の説明】
【００７４】
１・・・画像処理装置、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・バス、１５・・・入出力インターフェース、１６・・・入力部、１７・・・出力部、１８・・・記憶部、１９・・・通信部、２０・・・ドライブ、３１・・・リムーバブルメディア、４１・・・ユーザ指示取得部、４２・・・オリジナルメッシュ生成部、４３・・・メッシュ依存行列生成部、４４・・・制御点依存行列生成部、４４ａ・・・ペナルティ設定部、４５・・・中間メッシュ生成部、４６・・・適合メッシュ生成部、４７・・・最終メッシュ生成部、４８・・・変形処理データ記憶部、４９・・・画像表示部、１０１〜１１４・・・変形制御点
【図１】
0005857531.tif 000002
【図２】
0005857531.tif 000003
【図３】
0005857531.tif 000004
【図４】
0005857531.tif 000005
【図５】
0005857531.tif 000006
【図６】
0005857531.tif 000007
【図７】
0005857531.tif 000008
【図８】
0005857531.tif 000009
【図９】
0005857531.tif 000010
【図１０】
0005857531.tif 000011