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

isTranslation

変換が純粋な平行移動かどうかの判別

説明

TF = isTranslation(tform) は、tform によって指定されたアフィン変換が純粋な平行移動かどうかを判定します。

すべて折りたたむ

純粋な平行移動を定義する affine2d オブジェクトを作成します。

A = [ 1  0  0
      0  1  0
     40 40  1 ];

tform = affine2d(A)
tform = 

  affine2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

変換が純粋な平行移動かどうかをチェックします。

tf = isTranslation(tform)
tf =

     1

次元ごとに異なる倍率を定義する affine3d オブジェクトを作成します。

Sx = 1.2;
Sy = 1.6;
Sz = 2.4;
tform = affine3d([Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1]);
tf = 

  affine3d with properties:

                 T: [4x4 double]
    Dimensionality: 3

変換が純粋な平行移動かどうかをチェックします。tform はオブジェクトをスケールするので、

tf = isTranslation(tform)
tf =

     0

予想どおり、スケーリングによって入力ボリュームのサイズと形状が変更されるため、変換は純粋な平行移動ではありません。

入力引数

すべて折りたたむ

幾何学的変換。affine2d または affine3d 幾何学的変換オブジェクトとして指定します。

出力引数

すべて折りたたむ

純粋な平行移動変換を示すフラグ。logical スカラーとして返されます。tform が純粋な平行移動の場合、TFTrue です。

データ型: logical

詳細

すべて折りたたむ

平行移動変換

平行移動変換は、イメージのサイズ、形状、または方向を変更することなく、イメージをシフトします。2 次元平行移動は、以下の形式の行列 T によって表されます。

 [1 0 0;
  0 1 0;
  e f 1];

3 次元平行移動は、以下の形式の行列によって表されます。

 [1 0 0 0;
  0 1 0 0;
  0 0 1 0;
  j k l 1];

R2013a で導入