2016-04-28 1 views
0

に座標こんにちは私は(例えばcircle.png添付)画像から座標を抽出しようとしています enter image description hereどの関数ginputを示すために、実軸値

私はXを抽出するために、関数ginputを使用し、この中に私の興味のy coorinate(円の内側ケース4つの赤色ドット)

A=imread('circle.png'); 
figure,imshow(A) 
[y,x]=ginput 

I 4つの赤い点をクリックして、IはXを得、yは、この場合、xは

x=134.000000000000 
    154.000000000000 
    125.000000000000 
    136.000000000000 


y= 83 
    153.000000000000 
    170.000000000000 
    245.000000000000 

以下のように調整し私が得たy座標はどの軸に基づいていますか?これらのx座標とy座標を実際のデータに関連付けるにはどうすればよいですか(つまり、x軸は0〜15、y軸は0〜5を表示したいと思います)。

+0

mee mee:これは解決するのがより難しい問題です。ピクセルが世界座標でどのくらい大きいかについての事前情報があれば、xとy点から距離までの単純なスケーリングです。ピクセルサイズがわからない場合は、https://www.mathworks.com/help/vision/examples/measuring-planar-objects-with-a-calibrated-camera.html – akamath

答えて

0

デフォルトでは、imshowは、画像が表示されている軸の目盛りを非表示にします。あなたは

>> get(gca,'Xlim') 
>> get(gca,'YLim') 

を行うことができますまたはあなたは、軸のラベルが見えるようにしたいならば、あなたは

>> h = gca; 
>> h.XAxis.Visible = 'on'; 
>> h.YAxis.Visible = 'on'; 
を何ができるか、実際の軸の範囲は(あなたのイメージを軸に拡大縮小する方法をので、と)している参照してください

ginputによって返されたxyポイントは、これらの軸のリミットに関連しています。

+0

をご覧ください。こんにちはフィル、助けてくれてありがとう。私はあなたが示唆したことを試しましたが、コードは2つの数字を生成します(1つはスケール(x軸とy軸)を示し、もう1つは画像を示しています)。そのように起こる理由をお勧めしますか?私の無知のために申し訳ありません。 Tks。 –

+0

あなたが表示するコードは2フィギュアを生成しません。もう何をやっているの? –

+0

あなたが提案したコマンドを追加するだけです。ここには です。I = imread( 'circle.png'); get(gca、 'Xlim') get(gca、 'YLim') figure、imshow(I) [y、x] = ginput; –

関連する問題