2

エッジと接線方向をマークするいくつかのコントロールポイントを移動することで画像のリサンプリングを可能にするフィルターを実装したいと思います。目標は、「フリートランスフォーム」を使用してワープモード「カスタム」を選択したときに、Photoshopで見られるように画像を自由にトランスフォームできるようにすることです。画像は、操作可能なある種のスプラインパッチ(有効な名前の場合)に適合します。

単純なスプライン(パス)がどのように機能するかは理解していますが、それらを接続してパッチを形成するにはどうすればよいですか?そして、どのようにしてそのようなパッチをサンプリングして、モーフィングされた画像をレンダリングできますか?ターゲットの各ピクセルについて、ソース画像のどのピクセルが対応しているかを知る必要があります。どこから検索を始めたらいいのかわからない...

役立つ情報(キーワード、リンク、論文、リファレンス実装)は大歓迎です!

4

1 に答える 1

3

このドキュメントは、ワーピングについての良い洞察を得るでしょう: http://www.gson.org/thesis/warping-thesis.pdf

ただし、これには高周波のフィルタリングが含まれるため、実装がはるかに複雑になりますが、より良い結果が得られます。

やりたいことを達成する簡単な方法は、最終画像のすべてのピクセルをループし、座標をスプラインに接続して、元の画像のピクセルを取得することです。このピクセルの座標は 0.4/1.2 である可能性があるため、0/1、1/1、0/2、および 1/2 の間で双一次補間を行うことができます。

スプラインに関しては、1D の場合についてオンラインで多くのリソースとソリューションがあります。2D に関しては、役立つリソースを見つけるのが少し難しくなります。1D ケースの簡単な例: http://www-users.cselabs.umn.edu/classes/Spring-2009/csci2031/quad_spline.pdf

2D ケースの優れたガイドは次のとおりです: http://en.wikipedia.org/wiki/Bicubic_interpolation

これに基づいて、2D ケースのスプラインの独自のスキームを導き出すことができます。二変量 (x と y) 多項式を定義し、多項式の係数を解くための制約を設定します。見苦しいジャンプを避けるために、スプライン パッチの境界は (値と導関数の両方で) 一貫している必要があることに注意してください。

幸運を!

于 2011-07-13T13:12:17.973 に答える