0

質問は、より具体的かつ建設的なものにするために改訂されています。

私は imtransform を行っていますが、xdata と ydata は size(output) のものとは大きく異なります。

[ 出力, xdata, ydata ] = imtransform( imgDouble{1}, tform );

実際のデータ テスト:

K>> size(output)

ans =

         854        1230

K>> xdata(2) - xdata(1)

ans =

   1.6635e+03

K>> ydata(2) - ydata(1)

ans =

  876.1373
4

2 に答える 2

0

ドキュメントに記載されているように、出力画像が「過度に大きい」場合、imtransform はデータを再スケーリングすることがあります。入力引数 'XYScale' を追加して 1 に設定することで、強制的に入力イメージのスケールに一致させることができます。

出力がまだ期待どおりでない場合 (および変換を再確認した場合)、'size' または 'xdata' と ' ydata'.

残りのコードで何をしようとしているのかは完全には明確ではありませんが、関心のある点または点 (inlier_array?) の位置を定義する一連の座標があり、それらがどこにあるかを知りたい場合tformfwd が行うことはまさにそれです。

変換に翻訳が含まれている場合は、この、特に「変換された画像の座標を理解する」を読むことをお勧めします。

于 2013-03-27T14:00:17.383 に答える
0

画像の位置を表現することについてです。

画像位置表現には2種類あり、

1 つ、そして最も一般的なのは、

ピクセル インデックス:

行と列で

もう 1 つは固有座標系です。

x と y で表す:

http://www.mathworks.com/help/images/intro_r_1.png

于 2013-03-28T15:07:42.107 に答える