0

イメージ 1 の I1 から 1 セットのポイント (x1,y1) があり、イメージ 2 の I2 から別のポイント セット (x2,y2) があります。
最初に newI = [I1 I2] %2 倍の幅で 2 つの画像を隣接させたいと思います。
次に、新しい画像で、(x1,y1) から (x2,y2) までの点を描きたいと思います。

問題は、ポイントのセットが元の画像に基づいており、隣接する画像に基づいていないことです。
では、(x1,y1) と (x2, y2) のポイントを新しい画像のポイントに変換するにはどうすればよいですか?

次に、これらの点の間に線を引く方法を教えてください。matlab プロットの使用方法がよくわかりません

つまり (x11,y11) -> (x21,y21) (x1i,y1i) -> (x2i, y2i) i 番目のポイントまでずっと

4

1 に答える 1

1

私が正しく理解していれば(x1, y1)、画像上のポイントのインデックスですI1。Matlab は、同じ順序で画像ピクセルを表します。したがって、画像x1の左とy1上からの点は index に位置します(x1, y1)

で画像を結合する[I1 I2]と、2 番目の画像を 1 番目の画像の右側に配置するのと同じになります。これにより、2 番目のイメージが最初のイメージの幅だけ左に変換されます。これは、最初のイメージの列数であり、 でアクセスできますsize(I1,2)

このシフトを考慮するには、2 番目のイメージに適切なシフトを追加する必要があります。

(x2, y2) --> (( x2 + size(I1,2) ), y2 )

y2画像は同じ高さなので、シフトする必要はありません。また、プロットする必要がある点が複数ある場合は、画像の寸法を別の変数に保存することをお勧めします。

表記法を使用して、(x11, y11)ポイント(x21, y21)と隣接する画像を参照して(x1, y1)いる(x2, y2)と思います。

(x1, y1)からまでの線を引くには、 と(x2, y2)を仮定するa1 = [x1, y1]a2 = [x2, y2]、 と言うことができますplot([a1(1), a2(1)], [a1(2), a2(2)])。これは改善できますが、ポイントの保存方法を知る必要があります。

于 2012-11-03T13:59:50.457 に答える