2017-01-26 13 views
-1

画像処理に関連する問題を解決しようとしていますが、適切なアルゴリズムを選択することに固執しているようです。たぶんあなたの誰かが私を助け、問題の私の推論のどこに問題があると言うことができます。画像処理のための適切なアルゴリズム

16x16ピクセルの2つの画像があるとします。ユーザーとして、私はこの画像上で2点を選んでいます。私が知っているユーザー、すなわち点x1(8,8)とy1(10,10)が第2の画像と同じ点であるとすると、x2(5,5)とy2(8,8)としましょう。

この2つの点のペアは私のための何らかの種類のベクトルです。 このベクトルの長さを数えることができるとしましょう。

達成したいことはありますか?私は、第1の画像上の点を、第2の点上の点に関連して移動させたい。

"新しい"ポイントXはポイントx1とx2の中間(中間)で、私の "新しい" Yポイントはポイントy1とy2の間にある必要があります。

もちろん、(x1、y1)ピクセルの値を(px1、px2)ピクセルに移動するのは簡単ですが、残りの作業はどうすればよいですか?私はモーフィング/ワーピングなど、すべてのイメージを必要としています。

そして私はくっついた。私はモーフィングアルゴリズム、ワーピングアルゴリズム、最近傍アルゴリズムを探していましたが、私にとっては役に立たない、またはそれらを使用する方法を正しく理解していません。

私はマイナスの質問はしません。私は本当に前進するための手がかりが必要です。私はコードで実装する必要はありません、私はちょうど問題の理解の欠如と私は別の方法でそれについて考えることができる方法を理解する必要があります。事前に おかげ

私はhereからモーフィングアルゴリズムを理解しようとしている

[EDIT]。正確に何がわかるように助けてくれますか

u = [ (X-P)(Q-P) ]/ ||Q-P|| 
v = [ (X-P) * Perpendicular(Q-P) ]/||Q-P|| 

私が正しく理解すれば、|| Q-P ||点Qと点Pの間の長さでなければなりません。したがって、(X-P)または(Q-P)は何ですか?どのように私は垂直(Q - P)を数えることができますか?これは線の方程式でなければなりませんか?

+1

はまさに私にモーフィングのように思えるが、多分あなたは何を意味するかを明確にするために写真をいくつか追加しようとすべきですか? –

+0

これも参照してください:http://stackoverflow.com/q/39938767/1874627 – saurabheights

+0

私は私の質問を編集しました – Tatarinho

答えて

1

お探しのテクニックは、"アフィン変換"の2つのコントロールポイントです。

したがって、ほとんどのLinuxディストリビューションにインストールされているImageMagickを使用しています。これはmacOSとWindowsでも利用できます。私はコマンドラインのターミナルでこれをやっています。

のは、開始画像を作ろう - 私が見るには十分それは大きな作るために10倍の倍率で、すべての数字をスケールアップしている:

convert -size 160x160 gradient:cyan-magenta \ 
    -fill black -draw "line 0,0 160,160"  \ 
    -fill yellow -draw "line 160,0 0,160" \ 
    -fill red -draw "circle 80,80 80,85" -draw "circle 100,100 100,105" start.png 

enter image description here

赤い円はあなたの開始点です。私は、[80,80]に[50,50] [100100]に[80,80]に変換、アフィン変換を適用すると:

convert start.png -distort affine '80,80 50,50 100,100 80,80' distorted.png 

enter image description here

+0

私は私の質問を編集しました – Tatarinho

関連する問題