ドキュメンテーション

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

projective2d クラス

2 次元射影幾何学的変換

説明

projective2d オブジェクトは、2 次元射影幾何学的変換をカプセル化します。

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

  • fitgeotrans — コントロール ポイントの組をマッピングする projective2d オブジェクトを返す

  • projective2d クラス コンストラクター

構築

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

tform = projective2d(A) は、有効な射影変換を指定する 3 行 3 列の入力配列 A を基に projective2d オブジェクトを作成します。

入力引数

すべて展開する

2 次元フォワード射影変換。3 行 3 列の数値行列として指定します。A の形式は次のとおりです。

 A = [a b c;
      d e f;
      g h i]

データ型: double | single

プロパティ

すべて展開する

2 次元フォワード射影変換。3 行 3 列の数値行列として指定します。

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

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

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

[a b c;...
 d e f;...
 g h i];

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

データ型: double | single

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

メソッド

invert幾何学的変換の反転
outputLimits入力空間範囲に基づく出力空間範囲の特定
transformPointsForwardフォワード幾何学的変換の適用
transformPointsInverse点への 2 次元幾何学的逆変換の適用

コピーのセマンティクス

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

すべて展開する

この例では、変換行列から直接作成された projective2d 幾何学的変換オブジェクトを使用して、回転と傾きをイメージに適用する方法を説明します。

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

I = imread('pout.tif');

幾何学的変換オブジェクトを作成します。この例では、回転と傾きを結合して変換行列 tm を作成します。この変換行列を使用して、projective2dの幾何学的変換オブジェクト tform を作成します。

theta = 10;
tm = [cosd(theta) -sind(theta) 0.001; ...
    sind(theta) cosd(theta) 0.01; ...
    0 0 1];
tform = projective2d(tm);

imwarp を使用して変換を適用します。変換後のイメージを表示します。

outputImage = imwarp(I,tform);
figure
imshow(outputImage);

変換を定義する projective2d オブジェクトを作成します。

theta = 10;
tform = projective2d([cosd(theta) -sind(theta) 0.001; sind(theta) cosd(theta) 0.01; 0 0 1]);
tform = 

  projective2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

フォワード幾何学的変換を入力点に適用します。

[X,Y] = transformPointsForward(tform,5,10)
X =

    6.0276


Y =

    8.1265

前の手順で得た出力点に幾何学的逆変換を適用して、最初の点に戻します。

[U,V] = transformPointsInverse(tform,X,Y)
U =

    5.0000


V =

    10

拡張機能

この情報は役に立ちましたか?