ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

images.geotrans.PolynomialTransformation2D クラス

パッケージ: images.geotrans

2 次元多項式幾何学的変換

説明

images.geotrans.PolynomialTransformation2D オブジェクトは、2 次元多項式幾何学的変換をカプセル化します。

構築

tform = images.geotrans.PolynomialTransformation2D(movingPoints,fixedPoints,degree) は、それぞれ移動イメージと固定イメージ内の一致するコントロール ポイントを定義する m 行 2 列の movingPointsfixedPoints を受け取って、images.geotrans.PolynomialTransformation2D オブジェクトを作成します。Degree はスカラーで、コントロール ポイントに近似する多項式の次数を指定する値として 2、3 または 4 をとります。

tform = images.geotrans.PolynomialTransformation2D(A,B) は、多項式係数ベクトル A および B を受け取って、images.geotrans.PolynomialTransformation2D オブジェクトを作成します。A は長さ N の多項式係数のベクトルで、逆変換における U を決定するために使用されます。B は長さ N の多項式係数のベクトルで、逆変換における V を決定するために使用されます。次数が 2、3 および 4 の多項式では、N はそれぞれ 6、10 および 15 になります。

入力引数

すべて展開する

変換するイメージ内のコントロール ポイントの X 座標と Y 座標。m 行 2 列の double の行列として指定します。

例: fixedPoints = [11 11; 41 71];

データ型: double

ベース イメージ内のコントロール ポイントの X 座標と Y 座標。m 行 2 列の double の行列として指定します。

例: movingPoints = [14 44; 70 81];

データ型: double

逆変換における U を決定するために使用される多項式係数。長さが N の double ベクトルとして指定します。次数が 2、3 および 4 の多項式では、N はそれぞれ 6、10 および 15 になります。多項式係数ベクトル A の順序は次のようになります。

U = A(1) + A(2).*X + A(3).*Y + A(4).*X.*Y + A(5).*X.^2 + A(6).*Y.^2 +...

逆変換における V を決定するために使用される多項式係数。長さが N の double ベクトルとして指定します。次数が 2、3 および 4 の多項式では、N はそれぞれ 6、10 および 15 になります。多項式係数ベクトル B の順序は次のようになります。

V = B(1) + B(2).*X + B(3).*Y + B(4).*X.*Y + B(5).*X.^2 + B(6).*Y.^2 +...

多項式変換の次数。スカラー値 23 または 4 として指定します。

プロパティ

Dimensionality

幾何学的変換の次元

入力点と出力点の両方の幾何学的変換の次元を表します。

メソッド

images.geotrans.PolynomialTransformation2d.outputLimits点への 2 次元幾何学的逆変換の適用
images.geotrans.PolynomialTransformation2d.transformPointsInverse点への 2 次元幾何学的逆変換の適用

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、MATLAB® ドキュメンテーションの「オブジェクトのコピー」 (MATLAB)を参照してください。

すべて展開する

2 次多項式変換を、2 次元アフィン変換によって実際に関連付けられている一連の固定および移動コントロール ポイントに近似します。

2 次元アフィン変換を作成します。

theta = 10;
tformAffine = affine2d([cosd(theta) -sind(theta) 0; sind(theta) cosd(theta) 0; 0 0 1]);

コントロール ポイントの任意の 6 組を選択します。2 次多項式では 6 組のコントロール ポイントが必要です。

 fixedPoints = [10 20; 10 5; 2 3; 0 5; -5 3; -10 -20];

フォワード幾何学的変換を適用して固定点をマップし、幾何学的変換で関連付けられている固定点と移動点の効果を得ます。

movingPoints = transformPointsForward(tformAffine,fixedPoints);

fixedPointsmovingPoints を近似する 2 次の PolynomialTransformation2D 変換を推定します。

tformPolynomial = images.geotrans.PolynomialTransformation2D(movingPoints,fixedPoints,2);

コントロール ポイントにおける PolynomialTransformation2D 変換の近似を検証します。

movingPointsEstimated = transformPointsInverse(tformPolynomial,fixedPoints);
errorInFit = hypot(movingPointsEstimated(:,1)-movingPoints(:,1),...
                   movingPointsEstimated(:,2)-movingPoints(:,2))
この情報は役に立ちましたか?