ドキュメンテーション

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

affine2d

2 次元アフィン幾何学的変換

説明

affine2d オブジェクトは、2 次元アフィン幾何学的変換をカプセル化します。

作成

affine2d オブジェクトは以下の方法を使用して作成できます。

  • imregtform — 類似性の最適化を使用して移動イメージを固定イメージにマッピングする幾何学的変換を推定します

  • imregcorr — 位相相関を使用して移動イメージを固定イメージにマッピングする幾何学的変換を推定します

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

  • ここで記述された関数 affine2d

構文

tform = affine2d
tform = affine2d(A)

説明

tform = affine2d は、恒等変換に該当する既定のプロパティ設定を使用して affine2d オブジェクトを作成します。

tform = affine2d(A) は、正則行列 A によって定義される有効なアフィン変換でプロパティ T を設定します。

プロパティ

すべて展開する

2 次元フォワード アフィン変換。正則な 3 行 3 列の数値行列として指定します。

行列 T は次の規則を使用します。

[x y 1] = [u v 1] * T

ここで、T の形式は次のとおりです。

 [a b 0;
  c d 0;
  e f 1];

T の既定の設定は、恒等変換です。

データ型: double | single

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

オブジェクト関数

invert幾何学的変換の反転
isRigid変換が剛体変換かどうかの判別
isSimilarity変換が相似変換かどうかの判別
isTranslation変換が純粋な平行移動かどうかの判別
outputLimits入力空間範囲に基づく出力空間範囲の特定
transformPointsForwardフォワード幾何学的変換の適用
transformPointsInverse幾何学的逆変換の適用

すべて折りたたむ

原点回りの反時計方向に 30 度の回転を定義する affine2d オブジェクトを作成します。

theta = 30;
tform = affine2d([cosd(theta) sind(theta) 0;...
    -sind(theta) cosd(theta) 0; 0 0 1])
tform = 
  affine2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

フォワード幾何学的変換を点 (10,0) に適用します。

[x,y] = transformPointsForward(tform,10,0)
x = 8.6603
y = 5.0000

元の点 (青色) と変換された点 (赤色) をプロットして変換を検証します。

figure
plot(10,0,'bo',x,y,'ro')
axis([0 12 0 12]); axis square;

イメージをワークスペースに読み取ります。

A = imread('pout.tif');

アフィン幾何学的変換を定義する affine2d オブジェクトを作成します。この例では、垂直方向のせん断と水平方向の引き伸ばしを組み合わせています。

tform = affine2d([2 0.33 0; 0 1 0; 0 0 1])
tform = 
  affine2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

imwarpを使用してイメージに幾何学的変換を適用します。

B = imwarp(A,tform);

結果のイメージを表示します。

figure
imshow(B);
axis on equal;

拡張機能

R2013a で導入