Main Content

イメージのワールド座標系の定義

ワールド座標系は、イメージのピクセル インデックスとは別にイメージ内の位置を指定する、連続する空間座標系です。Image Processing Toolbox™ の座標系の詳細については、イメージの座標系を参照してください。

空間参照オブジェクトの定義

イメージのワールド座標系を指定するために、"空間参照" オブジェクトを使用できます。空間参照オブジェクトは、ワールド座標系でのイメージの位置を定義し、イメージの範囲と固有座標範囲およびワールド座標範囲との関係性を指定します。これらのオブジェクトを使用して、各次元の異なるイメージ解像度を指定することで正方形以外のピクセルの次元も指定できます。また、空間参照オブジェクトを使用すると、座標系間の変換を行うこともできます。

Image Processing Toolbox は、imref2d および imref3d の 2 つの空間参照オブジェクトを使用します。次の表では、2 次元空間参照オブジェクト imref2d のプロパティについて説明します。3 次元空間参照オブジェクト imref3d には、これらのプロパティに加えて、Z 次元の対応プロパティが含まれています。

Property説明
XWorldLimitsワールド座標 (既定ではない空間座標) の X 次元に沿った上限と下限
YWorldLimitsワールド座標 (既定ではない空間座標) の Y 次元に沿った上限と下限
ImageSize関数 size によって返されるイメージのサイズ
PixelExtentInWorldXX 次元に沿ったピクセルのサイズ
PixelExtentInWorldYY 次元に沿ったピクセルのサイズ
ImageExtentInWorldXX 次元に沿ったイメージのサイズ
ImageExtentInWorldYY 次元に沿ったイメージのサイズ
XIntrinsicLimits固有座標 (既定の空間座標) の X 次元に沿った上限と下限
YIntrinsicLimits固有座標 (既定の空間座標) の Y 次元に沿った上限と下限

空間参照の説明のために、このサンプル コードでは 2 行 2 列のイメージに関連付けられた空間参照オブジェクトを作成します。このコードは、水平方向のピクセルあたり 4 単位、垂直方向にピクセルあたり 2 単位のピクセル範囲を指定します。このオブジェクトは、ワールド座標範囲、ワールド座標でのイメージ範囲、固有座標でのイメージ範囲を計算します。

R = imref2d([2 2],4,2)
R = 

 imref2d with properties:

           XWorldLimits: [2 10]
           YWorldLimits: [1 5]
              ImageSize: [2 2]
    PixelExtentInWorldX: 4
    PixelExtentInWorldY: 2
    ImageExtentInWorldX: 8
    ImageExtentInWorldY: 4
       XIntrinsicLimits: [0.5000 2.5000]
       YIntrinsicLimits: [0.5000 2.5000]

次の図に、これらのプロパティがイメージの要素とどのように対応しているかを示します。

イメージ範囲の最小値と最大値の指定

Image オブジェクト (imshow を使用してイメージを表示する場合に取得したものなど) は、XData および YData のプロパティを使用してワールド範囲を定義します。各プロパティは、その次元の最も外側のピクセルの中心座標を指定する 2 要素のベクトルです。詳細については、Image のプロパティ を参照してください。

既定では、イメージの固有座標、ワールド座標、および MATLAB® の座標軸座標が一致します。イメージ A の場合、XData の既定値は [1 size(A,2)]YData の既定値は [1 size(A,1)] です。たとえば、A が 100 行 200 列のイメージである場合、既定の XData は [1 200] で、既定の YData は [1 100] です。

イメージの既定以外のワールド座標系を定義するには、各次元でイメージが占める座標の範囲を持つ XData および YData のイメージ プロパティを指定します。これを行うと、MATLAB の座標軸座標はワールド座標と同一になり、固有座標とは一致しなくなります。例については、表示されたイメージの x 座標と y 座標の範囲のシフトを参照してください。

実際、XData および YData の値は境界ピクセルの中心点の座標であり、境界ピクセルの最も外側のエッジの座標ではないことがわかります。したがって、イメージが占める実際の座標範囲はわずかに大きくなります。たとえば、XData が [1 200] でイメージが 200 ピクセル幅の場合、固有座標系では各ピクセルが 1 単位幅となり、イメージが占める X の区間は [0.5 200.5] となります。同様に、XData が [1 200] でイメージが 50 ピクセル幅の場合、既定以外のワールド座標系では各ピクセルが 4 単位幅となり、イメージが占める X の区間は [-1 202] となります。

x 軸か y 軸が逆になるように XDataYData を設定することができます。この設定を行うには、最初に大きい方の値を置きます たとえば、XData を [200 1] に設定します。

参考

| | | | |

関連する例

詳細