主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

2次元および3次元の幾何学的変換プロセスの概要

2次元または3次元幾何学的変換を実行するには,まず変換に関する情報を格納する幾何学的変換オブジェクトを作成します。次に,変換するイメージと幾何学的変換オブジェクトを関数imwarpに渡します。オプションで,入力イメージに関する空間参照情報をimwarpに指定できます。

幾何学的変換オブジェクトの作成

異なるタイプの幾何学的変換オブジェクトには,変換に関する異なる情報が格納されます。

幾何学的変換オブジェクトを作成するには,いくつかの方法があります。

変換オブジェクトの作成方法 affine2d affine3d

rigid2d

rigid3d

projective2d

geometricTransform2d

geometricTransform3d

他の変換オブジェクト
変換行列の定義 X X X X
点単位のカスタムマッピング関数の定義 X
コントロールポイントのペアからの変換の推定 X X X
類似性の最適化を使用した変換の推定 X X
位相相関を使用した変換の推定 X

変換行列の定義

実行する幾何学的変換の変換行列が既知の場合は,rigid2daffine2dprojective2drigid3d,またはaffine3d幾何学的変換オブジェクトを直接作成できます。変換行列の作成の詳細については,幾何学的変換の行列表現を参照してください。

次の例では2次元平行移動の変換行列を定義し,affine2d幾何学的変換オブジェクトを作成します。

Xform = [1 0 0 1 0 40 40 1];tform_translate = affine2d(变换)
tform_translate = affine2d with properties: T: [3x3 double] dimension: 2

点単位のカスタムマッピング関数の定義

点単位の逆マッピング関数がある場合,geometricTransform2dオブジェクトおよびgeometricTransform3dオブジェクトをそれぞれ使用して,カスタムの2次元および3次元幾何学的変換を定義できます。

次の例では,パックされた(x, y)形式の2次元の点を受け入れ,同じ形式の点を返す逆マッピング関数を指定します。その後,この例ではgeometricTransform2dカスタム幾何学的変換オブジェクトを作成します。

逆链= @(c) [c(:,1)+c(:,2),c(:,1).^2]
inversefn = function_handle价值:@ (c) [c (: 1) + c (:, 2), c(: 1) ^ 2]。
tform = geometricTransform2d (inversefn)
ForwardFcn:[]维数:2

同様に,次の例では,逆マッピング関数を使用してgeometricTransform3dカスタム幾何学的変換オブジェクトを作成します。この例では,パックされた(x, y, z)形式の3次元の点を受け入れて返す逆マッピング関数を指定します。

inversefn = @ (c) [c (: 1) + c (:, 2), c (: 1) - c (:, 2), c(:, 3) ^ 2]。
inversefn = function_handle价值:@ (c) [c (: 1) + c (:, 2), c (: 1) - c (:, 2), c(:, 3) ^ 2]。
tform = geometricTransform3d (inversefn)
ForwardFcn:[]维数:3

コントロールポイントのペアからの変換の推定

幾何学的変換オブジェクトを作成するには,関数fitgeotransにコントロールポイントのペアを2セット渡します。関数fitgeotransはこれらのポイントから変換を自動的に推定し,幾何学的変換オブジェクトの1つを返します。

必要な点の数は,変換の種類によって異なります。たとえば,アフィン変換では各イメージに3つの同一線上にない点(三角形)が必要ですが,射影変換では4つの点(四角形)が必要です。

この例では2セットのコントロールポイントをfitgeotransに渡し,幾何学的変換オブジェクトaffine2dが返されます。

[11 11;21 11;21日21];fixedPoints = [51 51;61 51;61 61];tform_cpp = fitgeotrans (movingPoints定点,仿射的
tform_cpp = affine2d with properties: T: [3x3 double] dimension: 2

類似性の最適化を使用した変換の推定

固定イメージと,わずかに位置のずれた移動イメージがある場合,関数imregtformを使用して,イメージの位置を合わせるアフィン幾何学的変換を推定できます。imregtformは,規則的なステップ勾配降下オプティマイザーまたは(1 + 1)進化オプティマイザーを使用して,2つのイメージの平均二乗またはマテス相互情報量の類似度メトリクスを最適化します。詳細については,強度ベースのイメージレジストレーションのオプティマイザーとメトリクスの作成を参照してください。

位相相関を使用した変換の推定

固定イメージと,わずかに位置のずれた移動イメージがある場合,関数imregcorrを使用して,イメージの位置合わせを改善するアフィン幾何学的変換を推定できます。類似性の最適化を使用して,結果の変換を調整できます。

幾何学的変換の実行

幾何学的変換オブジェクトに変換を定義したら,関数imwarpを使用して変換を実行します。関数を呼び出すときに、変換するイメージと幾何学的変換オブジェクトを指定します。

imwarpは,幾何学的変換を使用して,出力イメージの座標を入力イメージの対応する座標にマッピングします(逆マッピング)。次に,imwarpは座標マッピングを使用して入力イメージ内にピクセル値を内挿し,出力ピクセル値を計算します。

参考

||||||||

関連する例

詳細