メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

simtform2d

2 次元相似幾何学的変換

R2022b 以降

    説明

    simtform2d オブジェクトは、2 次元相似幾何学的変換に関する情報を格納し、順変換と逆変換を可能にします。

    作成

    simtform2d オブジェクトは次の方法で作成できます。

    • fitgeotform2d — 2 つのイメージの間でコントロール ポイントのペアをマッピングする幾何学的変換を推定します。

    • ここで説明する simtform2d 関数。

    説明

    tform = simtform2d は、恒等変換を実行する simtform2d オブジェクトを作成します。

    tform = simtform2d(Scale,RotationAngle,Translation) は、指定された Scale プロパティ、RotationAngle プロパティ、および Translation プロパティの値に基づいて相似変換を実行する simtform2d オブジェクトを作成します。これらのプロパティは、スケール係数、回転角度および平行移動の量を x 方向と y 方向でそれぞれ指定します。

    tform = simtform2d(Scale,R,Translation) は、指定された Scale プロパティ、R プロパティ、および Translation プロパティの値に基づいて相似変換を実行する simtform2d オブジェクトを作成します。これらのプロパティは、スケール係数、回転行列、および x 方向と y 方向における平行移動の量を示します。

    tform = simtform2d(A) は、simtform2d オブジェクトを作成し、指定された 2 次元相似変換行列としてプロパティ A を設定します。

    tform = simtform2d(tformIn) は、有効な 2 次元相似幾何学的変換を表す、別の幾何学的変換オブジェクト tformIn から simtform2d オブジェクトを作成します。

    入力引数

    すべて展開する

    2 次元相似幾何学的変換。affinetform2d オブジェクト、rigidtform2d オブジェクト、simtform2d オブジェクト、transltform2d オブジェクト、または projtform2d オブジェクトとして指定します。

    プロパティ

    すべて展開する

    順方向の 2 次元相似変換。3 行 3 列の数値行列として指定します。このオブジェクトを作成する場合は、2 行 3 列の数値行列として A を指定することもできます。この場合、オブジェクトは行ベクトル [0 0 1] を行列の最後まで連結し、3 行 3 列の行列を作成します。A の既定値は単位行列です。

    行列 A は、次の規則を使用して、入力座標空間内の点 (u, v) を出力座標空間内の点 (x, y) に変換します。

    [xy1]=Α×[uv1]

    相似変換の場合、A は次の形式になります。

    Α=[s×cosd(r)s×sind(r)txs×sind(r)s×cosd(r)ty001]

    ここで、s はスケール係数であり、Scale プロパティに対応します。r は回転角度であり、RotationAngle プロパティに対応します。txty は、それぞれ x 方向と y 方向の平行移動の量であり、Translation プロパティに対応します。

    データ型: double | single

    スケール係数。正の数値として指定します。スケール係数は、プロパティ A によって定義される相似変換行列の値 s に対応します。

    データ型: double | single

    回転行列。2 行 2 列の数値行列として指定します。行列は次の形式でなければなりません。

     R = [cosd(r) -sind(r); sind(r)  cosd(r)]
    ここで、rRotationAngle プロパティの値です。

    原点を中心とした回転角度 (度単位)。範囲 [-180, 180) の数値スカラーとして指定します。この範囲外の回転角度を指定した場合、simtform2d オブジェクトは、360 の正または負の倍数を加算して、値が自動的に [-180, 180) の範囲になるようにします。

    回転角度は、A で定義される変換行列と R で定義される回転行列の値 r に対応します。

    データ型: double | single

    平行移動の量。[tx ty] 形式の 2 要素の数値ベクトルとして指定します。この平行移動の量は、A によって定義される相似変換行列の値 txty に対応します。

    データ型: double | single

    この プロパティ は読み取り専用です。

    入力点と出力点の両方の幾何学的変換の次元。2 として指定します。

    データ型: double

    オブジェクト関数

    invert幾何学的逆変換
    outputLimits与えられた入力空間範囲について出力空間範囲を求める
    transformPointsForward順方向の幾何学的変換の適用
    transformPointsInverse逆方向の幾何学的変換の適用

    すべて折りたたむ

    スケール係数、回転角度、および平行移動の量を指定します。

    scaleFactor = 3;
    theta = 30;
    translation = [10 20.5];

    指定したスケーリング、回転、および平行移動を実行する simtform2d オブジェクトを作成します。

    tform = simtform2d(scaleFactor,theta,translation)
    tform = 
      simtform2d with properties:
    
        Dimensionality: 2
                 Scale: 3
         RotationAngle: 30
           Translation: [10 20.5000]
                     R: [2x2 double]
    
                     A: [2.5981   -1.5000   10.0000
                         1.5000    2.5981   20.5000
                              0         0    1.0000]
    
    

    A プロパティの値を調べます。

    tform.A
    ans = 3×3
    
        2.5981   -1.5000   10.0000
        1.5000    2.5981   20.5000
             0         0    1.0000
    
    

    拡張機能

    すべて展開する

    バージョン履歴

    R2022b で導入

    すべて展開する