transformPointsInverse
逆方向の幾何学的変換の適用
構文
説明
例
3 行 3 列の幾何学的変換行列を定義します。この例では、垂直方向のせん断と水平方向の広がりから構成されるアフィン変換の行列を指定します。
A = [1.5 0 0; 0.8 1 0; 0 0 1];
変換行列から affinetform2d オブジェクトを作成します。
tform = affinetform2d(A);
点に逆方向の幾何学的変換を適用します。
x = 7.5; y = 14; [u,v] = transformPointsInverse(tform,x,y)
u = 5
v = 10
5 つの入力点のパックされた (x,y) 座標を指定します。パックされた座標は 5 行 2 列の行列として格納します。ここで、各点の x 座標は最初の列に、各点の y 座標は 2 番目の列に入れます。
XY = [10 15;11 32;15 34;2 7;2 10];
逆方向のマッピング関数を定義します。この関数はパックされた (x,y) 形式の点を受け入れ、同じ形式の点を返します。
inversefn = @(c) [c(:,1)+c(:,2),c(:,1)-c(:,2)]
inversefn = function_handle with value:
@(c)[c(:,1)+c(:,2),c(:,1)-c(:,2)]
逆方向のマッピング関数を格納する 2 次元幾何学的変換オブジェクト tform を作成します。
tform = geometricTransform2d(inversefn)
tform =
geometricTransform2d with properties:
InverseFcn: @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2)]
ForwardFcn: []
Dimensionality: 2
逆方向の幾何学的変換を入力点に適用します。
UV = transformPointsInverse(tform,XY)
UV = 5×2
25 -5
43 -21
49 -19
9 -5
12 -8
平行移動のみで構成される剛体幾何学的変換を定義します。
t = [10 20.5 15]; tform = transltform3d(t);
入力点に順方向の幾何学的変換を適用します。
x = 11; y = 21.5; z = 16.01; [u,v,w] = transformPointsInverse(tform,x,y,z)
u = 1
v = 1
w = 1.0100
5 つの入力点のパックされた (x,y,z) 座標を指定します。パックされた座標は 5 行 3 列の行列として格納します。ここで、1 番目、2 番目、3 番目の列には、それぞれ x 座標、y 座標、z 座標を格納します。
XYZ = [5 25 20;10 5 25;15 10 5;20 15 10;25 20 15];
パックされた (x,y,z) 形式の点を受け入れ、同じ形式の点を返す逆方向のマッピング関数を定義します。
inverseFcn = @(c) [c(:,1)+c(:,2),c(:,1)-c(:,2),c(:,3).^2];
この逆方向のマッピング関数を格納する 3 次元幾何学的変換オブジェクト tform を作成します。
tform = geometricTransform3d(inverseFcn)
tform =
geometricTransform3d with properties:
InverseFcn: @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2),c(:,3).^2]
ForwardFcn: []
Dimensionality: 3
この 3 次元幾何学的変換の逆変換を入力点に適用します。
UVW = transformPointsInverse(tform,XYZ)
UVW = 5×3
30 -20 400
15 5 625
25 5 25
35 5 100
45 5 225
入力引数
幾何学的変換。表に記載されている幾何学的変換オブジェクトとして指定します。
| 幾何学的変換オブジェクト | 説明 |
|---|---|
| 2 次元線形幾何学的変換 | |
transltform2d | 平行移動変換 |
rigidtform2d | 剛体変換: 平行移動と回転 |
simtform2d | 相似変換: 平行移動、回転、等方性スケーリング |
affinetform2d | アフィン変換: 平行移動、回転、異方性スケーリング、鏡映、せん断 |
projtform2d | 射影変換 |
| 3 次元線形幾何学的変換 | |
transltform3d | 平行移動変換 |
rigidtform3d | 剛体変換: 平行移動と回転 |
simtform3d | 相似変換: 平行移動、回転、等方性スケーリング |
affinetform3d | アフィン変換: 平行移動、回転、異方性スケーリング、鏡映、せん断 |
| 非線形幾何学的変換 | |
geometricTransform2d | 点単位のマッピング関数を使用したカスタム 2 次元幾何学的変換 |
geometricTransform3d | 点単位のマッピング関数を使用したカスタム 3 次元幾何学的変換 |
LocalWeightedMeanTransformation2D | 2 次元局所重み付き平均変換 |
PiecewiseLinearTransformation2D | 2 次元区分的線形変換 |
PolynomialTransformation2D | 2 次元多項式変換 |
変換する点の x 座標。m 行 n 列または m×n×p の数値配列として指定します。x の次元数は tform の次元数と一致します。
データ型: single | double
変換する点の y 座標。m 行 n 列または m×n×p の数値配列として指定します。y のサイズは x のサイズと一致しなければなりません。
データ型: single | double
変換する点の座標。l 行 2 列または l 行 3 列の数値配列として指定します。X の列数は tform の次元と一致します。
1 番目の列には変換する各点の x 座標がリストされ、2 番目の列には y 座標がリストされます。tform が 3 次元幾何学的変換を表す場合、X のサイズは l 行 3 列となり、3 番目の列には変換する点の z 座標がリストされます。
データ型: single | double
出力引数
バージョン履歴
R2013a で導入R2022b 以降、ほとんどの Image Processing Toolbox™ 関数は、左から乗算する規則を使用して幾何学的変換を作成し、実行します。そのため、tform を、affinetform2d オブジェクトなどの左から乗算する規則を使用する幾何学的変換オブジェクトとして指定できるようになりました。
transformPointsInverse は、affine2d オブジェクトなどの右から乗算する規則を使用するオブジェクトを引き続きサポートしますが、これらのオブジェクトは推奨されません。左から乗算する新しい幾何学的変換オブジェクトに切り替えることで、幾何学的変換のワークフローを効率化できます。詳細については、Migrate Geometric Transformations to Premultiply Conventionを参照してください。
非線形幾何学的変換オブジェクトのサポートに変更はありません。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)