Main Content

fitgeotrans

(非推奨) 幾何学的変換のコントロール ポイントのペアへの近似

fitgeotrans は推奨されません。代わりに関数 fitgeotform2d を使用してください。詳細については、互換性の考慮事項を参照してください。

説明

tform = fitgeotrans(movingPoints,fixedPoints,tformType) は、タイプ tformType の線形幾何学的変換をコントロール ポイントのペア movingPoints および fixedPoints に近似します。

tform = fitgeotrans(movingPoints,fixedPoints,"polynomial",degree) は、PolynomialTransformation2D オブジェクトをコントロール ポイントのペア movingPoints および fixedPoints に近似します。多項式変換の次数を指定します。2、3 または 4 を使用できます。

tform = fitgeotrans(movingPoints,fixedPoints,"pwl") は、PiecewiseLinearTransformation2D オブジェクトをコントロール ポイントのペア movingPoints および fixedPoints に近似します。この変換は、固定コントロール ポイントの Delaunay 三角形分割を作成し、移動コントロール ポイントを対応する固定コントロール ポイントにマッピングします。局所領域ごとに異なるアフィン変換でコントロール ポイントがマッピングされます。このマッピングはコントロール ポイント間で連続的ですが、連続的に微分可能ではありません。

tform = fitgeotrans(movingPoints,fixedPoints,"lwm",n) は、LocalWeightedMeanTransformation2D オブジェクトをコントロール ポイントのペア movingPoints および fixedPoints に近似します。局所重み付き平均変換が、近傍のコントロール ポイントを使用して各コントロール ポイントにおける多項式を推定し、マッピングを行います。任意の位置でのマッピングは、これらの多項式の加重平均に依存します。n 個の最近傍点を使用して、コントロール ポイントの各組に対し 2 次多項式が推定されます。

すべて折りたたむ

チェッカーボードのイメージを作成し、このイメージを回転して、位置のずれたイメージを作成します。

I = checkerboard(40);
J = imrotate(I,30);
imshowpair(I,J,"montage")

固定イメージ (チェッカーボード) と移動イメージ (回転したチェッカーボード) にいくつかの一致させるコントロール ポイントを定義します。コントロール ポイント選択ツールを使用して対話的にポイントを定義できます。

fixedPoints = [41 41; 281 161];
movingPoints = [56 175; 324 160];

2 個のイメージの位置合わせに使用するアフィン幾何学的変換を作成します。

tform = fitgeotform2d(movingPoints,fixedPoints,"similarity");

tform 推定を使用して、回転したイメージをリサンプルし、固定イメージにレジストレーションします。レジストレーションの誤差は、フォールス カラーのオーバーレイ イメージ内で緑とマゼンタの色領域として表示されます。このエラーの原因は、コントロール ポイントが正確に一致していないためです。

Jregistered = imwarp(J,tform,OutputView=imref2d(size(I)));
imshowpair(I,Jregistered)

入力引数

すべて折りたたむ

移動イメージ内のコントロール ポイント。m 行 2 列の行列として指定します。各行は、コントロール ポイントの (x, y) 座標を指定します。

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

データ型: double | single

固定イメージ内のコントロール ポイント。m 行 2 列の行列として指定します。各行は、コントロール ポイントの (x, y) 座標を指定します。

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

データ型: double | single

線形変換のタイプ。"nonreflectivesimilarity""similarity""affine"、または "projective" として指定します。詳細については、変換タイプを参照してください。

データ型: char | string

多項式の次数。整数 23 または 4 として指定します。

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

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

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

出力引数

すべて折りたたむ

変換。幾何学的変換オブジェクトとして返されます。オブジェクトのタイプは変換タイプによって異なります。

変換タイプ

幾何学的変換オブジェクト
"nonreflectivesimilarity"affine2d
"similarity"affine2d
"affine"affine2d
"projective"projective2d
"polynomial"PolynomialTransformation2D
"pwl"PiecewiseLinearTransformation2D
"lwm"LocalWeightedMeanTransformation2D

詳細

すべて折りたたむ

変換タイプ

次の表は、fitgeotrans によってサポートされているすべての変換タイプを複雑度の順にまとめたものです。

変換タイプ

説明コントロール ポイントのペアの最小数
"nonreflectivesimilarity"移動イメージ内の形状は変更されていないが、平行移動、回転、およびスケーリングの組み合わせによってイメージの歪みが生じている場合は、この変換を使用します。直線は直線のまま、平行線は平行のままです。 2

"similarity""nonreflectivesimilarity" にオプションの鏡映が追加されたものと同じです。3

"affine"移動イメージ内の形状がせん断を示す場合は、この変換を使用します。直線は直線のまま、平行線は平行のままですが、四角形は平行四辺形になります。3

"projective"シーンが傾いて見える場合は、この変換を使用します。直線は直線のままですが、平行線は消失点に向かって収束します。4

"polynomial"イメージ内のオブジェクトが湾曲している場合は、この変換を使用します。多項式の次数が高いほど、近似度も高くなりますが、結果に含まれる曲線の数が固定イメージより多くなる場合があります。

6 (2 次)

10 (3 次)

15 (4 次)

"pwl"イメージの部分ごとに異なる歪みがあるように見える場合は、この変換 (区分的線形) を使用します。4

"lwm"歪みが局所的に変化し、区分的な線形が十分でない場合は、この変換 (局所重み付き平均) を使用します。 6 (12 を推奨)

参照

[1] Goshtasby, Ardeshir. “Piecewise Linear Mapping Functions for Image Registration.” Pattern Recognition 19, no. 6 (January 1986): 459–66. https://doi.org/10.1016/0031-3203(86)90044-0.

[2] Goshtasby, Ardeshir. “Image Registration by Local Approximation Methods.” Image and Vision Computing 6, no. 4 (November 1988): 255–61. https://doi.org/10.1016/0262-8856(88)90016-9.

拡張機能

バージョン履歴

R2013b で導入

すべて展開する