Main Content

images.geotrans.LocalWeightedMeanTransformation2D

2 次元局所重み付き平均幾何学的変換

説明

LocalWeightedMeanTransformation2D オブジェクトは、2 次元局所重み付き平均幾何学的変換に関する情報を格納し、逆変換を可能にします。

作成

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

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

  • ここで説明される images.geotrans.LocalWeightedMeanTransformation2D。この関数は固定点と移動点の座標、および局所重み付き平均の計算に使用する指定した数の点を使用して LocalWeightedMeanTransformation2D オブジェクトを作成します。

説明

tform = images.geotrans.LocalWeightedMeanTransformation2D(movingPoints,fixedPoints,n) は、局所重み付き平均変換を使用して、移動イメージ内のコントロール ポイント movingPoints を固定イメージ内のコントロール ポイント fixedPoints にマッピングする LocalWeightedMeanTransformation2D オブジェクトを作成します。n 個の最近傍点を使用して、コントロール ポイントの各組に対し 2 次多項式が推定されます。コントロール ポイントは、関数 cpselect を使用して選択できます。

入力引数

すべて展開する

移動イメージ内のコントロール ポイント。m 行 2 列の行列として指定します。各行は、コントロール ポイントの (x, y) 座標を指定します。コントロール ポイント数 mn 以上でなければなりません。

データ型: double | single

固定イメージ内のコントロール ポイント。m 行 2 列の行列として指定します。各行は、コントロール ポイントの (x, y) 座標を指定します。コントロール ポイント数 mn 以上でなければなりません。

データ型: double | single

局所重み付き平均の計算に使用する点の数。正の整数として指定します。n には最小で 6 を指定できますが、n の値を小さくすると条件の悪い多項式が生成される可能性があります。

データ型: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32

プロパティ

すべて展開する

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

オブジェクト関数

outputLimitsFind output spatial limits given input spatial limits
transformPointsInverseApply inverse geometric transformation

すべて折りたたむ

6 組のコントロール ポイントのペアを指定します。単純化のため、この例ではグローバル 2 次多項式変換の移動点の座標を計算します。

x = [10, 12, 17, 14, 7, 10];
y = [8, 2, 6, 10, 20, 4];
 
a = [1 2 3 4 5 6];
b = [2.3 3 4 5 6 7.5];
 
u = a(1) + a(2).*x + a(3).*y + a(4) .*x.*y + a(5).*x.^2 + a(6).*y.^2;
v = b(1) + b(2).*x + b(3).*y + b(4) .*x.*y + b(5).*x.^2 + b(6).*y.^2;
 
fixedPoints = [x; y]';
movingPoints = [u; v]'
movingPoints = 6×2
103 ×

    1.2490    1.5443
    0.8710    1.0603
    2.1220    2.5913
    2.1990    2.7103
    3.2800    4.0973
    0.7890    0.9683

fixedPointsmovingPoints を近似する局所重み付き平均変換を推定します。

tform = images.geotrans.LocalWeightedMeanTransformation2D(movingPoints,fixedPoints,6)
tform = 
  LocalWeightedMeanTransformation2D with properties:

    Dimensionality: 2

逆変換により、固定点が移動点にマッピングされることを確認します。

movingPointsComputed = transformPointsInverse(tform,fixedPoints)
movingPointsComputed = 6×2
103 ×

    1.2490    1.5443
    0.8710    1.0603
    2.1220    2.5913
    2.1990    2.7103
    3.2800    4.0973
    0.7890    0.9683

アルゴリズム

局所重み付き平均変換が、近傍のコントロール ポイントを使用して各コントロール ポイントにおける多項式を推定します。任意の位置でのマッピングは、これらの多項式の加重平均に依存します。n 個の最近傍点を使用して、コントロール ポイントの各組に対して 2 次多項式変換が推定されます。n には最小で 6 を指定できますが、値を小さくすると条件の悪い多項式が生成される可能性があります。

バージョン履歴

R2013b で導入