0

画像内のある点 (原点に設定) から別の点 (任意に設定) までの距離 (x、y 座標) を見つける簡単な方法を見つけようとしています。理想的には、これは画像を 2 回クリックして原点を設定し、次に 2 番目の点を設定してから座標を出力できるようにする matlab コードです。どうすればこれを行うことができますか?

4

1 に答える 1

0

画像座標系の原点は、画像の左上隅の点 (1,1) ((0,0) ではない) にあります。とにかく、この点または他の点の原点を保持し、原点が P1(x1,y1) で、もう一方の点が P2(x2,y2) であるとします。いいえ、これらのポイント間の距離を計算するには、さまざまなメトリックを使用できます。3 つの有名なメトリックは次のとおりです。 3 つの有名なメトリック (2 点間の距離を計算するため): 1- マンハッタン距離

d = abs(x1-x2) + abs(y1-y2)

2-ユークリッド距離

d = sqrt((x1-x2)^2 + (y1-y2)^2)

3- ミンコフスキー距離

d = (abs(x1-x2)^c + abs(y1-y2)^c)^(1/c)

メトリックの詳細については、これらのリンク123を参照してください。

MATLAB では、マウスごとにピクセルを選択できる機能を提供する ginput 関数を使用できるため、最初に画像を読み込んでから点を選択できます。

I = imread('c:\test.jpg');
imshow(I);
[X,Y] = ginput(2);

2 はデータを選択する (画像からピクセルを選択する) 数であり、次のようなものを使用できます。

d = ((X(1) - X(2)) ^ 2 + (Y(1) - Y(2)) ^ 2) ^ 0.5;

他のメトリックを使用することもできます....

于 2013-04-24T20:46:52.780 に答える