2

私は3:4のアスペクト比を持つ典型的なソース画像を持っています。別のイメージにイメージをマップするために必要な座標もあります。座標は完全に長方形ではありません。何かがあれば不規則なメッシュを定義します。画像を座標セットにマッピングする

たとえば、(0,0)は(12,33)、(120,0)=>(127,36)、(240,0)=>(226,13)などにマップされます。

私の目標は、ソース座標をデスティネーションにマッピングし、歪みを適用することによって、新しい形状にフィットするようにソース画像を取得することです。

これを達成する方法は何ですか? .NETを使用していますが、たとえばImageMagick。

編集:リクエストに応じて、次のとおりです。左の画像は単純な写真で、細分化されています(MSPaintスキルは無視されます)。右側にターゲット形状が表示されます。私は右側に各ドットの座標を持っています。目標は、ドットが並ぶように、フラットイメージを図形にマップ(投影)することです。

enter image description here

+0

あなたは[この](http://stackoverflow.com/questions/7838487/executing-cvwarpperspective-for-a-fake-deskewing-on-a-set-達成しようとしていますof-cvpoint)?それは私には分かりませんが、私はあなたが何をしようとしているかを示すいくつかの画像をアップロードすることをお勧めします。 – karlphillip

+0

画像が追加されました。それとほぼ同じ目標ではありませんが、ほぼ反対ですが、不均一な形状の目標が追加されています。 – roufamatic

答えて

2

私のサイト(http://www.rubblewebs.co.uk/imagemagick/operators/distort.php)にある歪み演算子のいくつかの例がありますが、PHPを使用していますが、あなたはそのアイデアを得るでしょう。

おそらくシェパード方式が必要です。

$cmd = "$input -matte -virtual-pixel transparent". 
" -distort Shepards \"0,0 0,0 0,100 20,100 0,200". 
" 0,200 133,200 133,180 266,200 266,200 266,100". 
" 246,100 266,0 266,0 133,0 133,20\" "; 
exec("convert $cmd shepards.png"); 

enter image description here

+0

大きな助け、ありがとう。私のポイントは、結果が渦巻きの混乱であるように見えるシェパードのためには近すぎる。しかし、多項式の歪みは本当にうまくいくように見えました。 – roufamatic

関連する問題