2016-08-06 9 views
0

私は画像とその画像の空間参照オブジェクトを持っています。 ここでは、空間参照オブジェクトに従って座標でイメージをトリミングします。 関数Imcropは、ピクセル座標に従ってのみ切り抜くことができます。世界の座標に基づいて作物を作る方法はありますか? Imcropを使って新しい参照オブジェクトを計算しようとしましたが、座標変換で失われてしまいます。Imcropを使って空間参照をMatlabで保存する方法

Imageをワーピングした後の参照オブジェクトの例。

imref2d with properties: 

     XWorldLimits: [-775.4357 555.5643] 
     YWorldLimits: [-488.3694 523.6306] 
      ImageSize: [1012 1331] 
PixelExtentInWorldX: 1 
PixelExtentInWorldY: 1 
ImageExtentInWorldX: 1331 
ImageExtentInWorldY: 1012 
XIntrinsicLimits: [0.5000 1.3315e+03] 
YIntrinsicLimits: [0.5000 1.0125e+03] 

私が実際にやりたいことは、ポイント(0,0)がクロップされた画像の中央になるように画像を切り抜くことです。

+0

でしょうか? –

+0

私はそれがあると思います。私は質問にいくつかの情報を加えました。 –

答えて

1

空間参照によると、各ピクセルの世界座標は1 x 1です。あなたが(Xw,Yw)を調整し、画像が(Xi,Yi)は、次の操作を行う世界座標との間で変換したい場合はそのため:

Xi = round(abs(-775.4357 - Xw)) 

Yi = round(abs(-488.3694 - Yw)) 

あなたは現実の世界は(0,0)座標ように画像をトリミングしたいのであれば、新たなトリミングされた画像の中心となり、あなたは座標とピクセル座標あなたが世界との間の変換を持っているという意味では「空間参照」と言うとき、新たな画像のサイズはimcropのために長方形よりも高さの幅になります

[(755 - width) (488 - height) width height] 
関連する問題