randomAffine3d
ランダムな 3 次元アフィン変換の作成
説明
は、恒等変換を実行する tform
= randomAffine3daffinetform3d
オブジェクトを作成します。
は、名前と値の引数を使用して、アフィン変換のタイプを指定します。tform
= randomAffine3d(Name,Value
)
例
サンプル ボリュームを作成します。
volumeCube = 0.5*ones(100,100,100);
シーンの外観を制御する 3 次元ビューアーを作成します。シーンのカメラ位置を設定して、ボリュームの可視状態を改良します。
viewer = viewer3d(CameraPosition=[700 -250 650],CameraTarget=[50 50 50]);
シーン内でボリュームを表示します。
volshow(volumeCube,Parent=viewer);
3 次元ボリュームをせん断する 3 次元アフィン変換を作成します。関数 randomAffine3d
は、区間 [40, 60] 度内の連続一様分布からせん断量をランダムに選択します。randomAffine3d
は、x、y、または z 軸に一致するせん断方向をランダムに選択します。
tform1 = randomAffine3d(Shear=[40 60]); J1 = imwarp(volumeCube,tform1);
せん断されたボリュームを、新しいシーンに同じカメラ位置で表示します。
viewer1 = viewer3d(CameraPosition=[700 -250 650],CameraTarget=[50 50 50]); volshow(J1,Parent=viewer1);
ランダムに選択された異なる量だけボリュームをせん断するには、新しい 3 次元アフィン変換を作成します。せん断方向の違いに注目してください。
tform2 = randomAffine3d(Shear=[40 60]); J2 = imwarp(volumeCube,tform2);
せん断されたボリュームを、新しいシーンに同じカメラ位置で表示します。
viewer2 = viewer3d(CameraPosition=[700 -250 650],CameraTarget=[50 50 50]); volshow(J2,Parent=viewer2);
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: tform = randomAffine3d(XReflection=true)
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: tform = randomAffine3d("XReflection",true)
水平方向のランダムな反転。false
または true
として指定します。XReflection
が true
(1
) の場合、変換 tform
は 50% の確率でイメージを水平方向に反転します。既定では、この変換はイメージを水平方向に反転しません。
垂直方向のランダムな反転。false
または true
として指定します。YReflection
が true
(1
) の場合、変換 tform
は 50% の確率でイメージを垂直方向に反転します。既定では、この変換はイメージを垂直方向に反転しません。
奥行方向のランダムな反転。false
または true
として指定します。ZReflection
が true
(1
) の場合、変換 tform
は 50% の確率でイメージを奥行方向に反転します。既定では、この変換はイメージを奥行方向に反転しません。
入力イメージに適用される回転の範囲。次のいずれかに指定します。回転は度単位で測定します。
2 要素の数値ベクトル。2 番目の要素は最初の要素以上でなければなりません。
randomAffine3d
は、指定区間内の連続一様分布から回転角度をランダムに選択します。randomAffine3d
は単位球体から回転軸をランダムに選択します。次の形式の関数ハンドル
関数[rotationAxis,theta] = selectRotation
selectRotation
は入力引数を受け入れてはなりません。この関数は 2 つの出力引数rotationAxis
(回転軸を定義する 3 要素ベクトル) とtheta
(度単位の回転角度) を返さなければなりません。関数ハンドルを使用して、重なっていない区間から、または一様ではない確率分布を使用して回転角度を選択します。関数ハンドルを使用して回転軸を指定することもできます。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
既定では、変換 tform
はイメージを回転しません。
例: [-45 45]
入力イメージに適用されるせん断の範囲。次のいずれかに指定します。せん断は角度として度単位で測定され、範囲は (–90, 90) になります。
2 要素の数値ベクトル。2 番目の要素は最初の要素以上でなければなりません。せん断角度は、指定区間内の連続一様分布からランダムに選択されます。
randomAffine3d
は、可能な 2 つの直交方向に対する主 x、y、および z 方向のいずれかの一様ランダム性を使用してせん断を適用します。関数ハンドル。関数は入力引数を受け入れず、せん断角度を数値スカラーとして返さなければなりません。関数ハンドルを使用して、重なっていない区間から、または一様ではない確率分布を使用してせん断角度を選択します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
既定では、変換 tform
はイメージを水平方向にせん断しません。
例: [0 45]
入力イメージに適用される水平方向の平行移動の範囲。次のいずれかに指定します。平行移動距離はピクセル単位で測定します。
2 要素の数値ベクトル。2 番目の要素は最初の要素以上でなければなりません。平行移動距離は、指定区間内の連続一様分布からランダムに選択されます。
関数ハンドル。関数は入力引数を受け入れず、平行移動距離を数値スカラーとして返さなければなりません。関数ハンドルを使用して、重なっていない区間から、または一様ではない確率分布を使用して平行移動距離を選択します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
既定では、変換 tform
はイメージを水平方向に平行移動しません。
例: [-5 5]
入力イメージに適用される垂直方向の平行移動の範囲。次のいずれかに指定します。平行移動距離はピクセル単位で測定します。
2 要素の数値ベクトル。2 番目の要素は最初の要素以上でなければなりません。平行移動距離は、指定区間内の連続一様分布からランダムに選択されます。
関数ハンドル。関数は入力引数を受け入れず、平行移動距離を数値スカラーとして返さなければなりません。関数ハンドルを使用して、重なっていない区間から、または一様ではない確率分布を使用して平行移動距離を選択します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
既定では、変換 tform
はイメージを垂直方向に平行移動しません。
例: [-5 5]
入力イメージに適用される奥行方向の平行移動の範囲。次のいずれかとして指定します。平行移動距離はピクセル単位で測定します。
2 要素の数値ベクトル。2 番目の要素は最初の要素以上でなければなりません。平行移動距離は、指定区間内の連続一様分布からランダムに選択されます。
関数ハンドル。関数は入力引数を受け入れず、平行移動距離を数値スカラーとして返さなければなりません。関数ハンドルを使用して、重なっていない区間から、または一様ではない確率分布を使用して平行移動距離を選択します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
既定では、変換 tform
はイメージを奥行方向に平行移動しません。
例: [-5 5]
出力引数
アフィン変換。affinetform3d
オブジェクトとして返されます。
バージョン履歴
R2019b で導入R2022b 以降、ほとんどの Image Processing Toolbox™ 関数は、左から乗算する規則を使用して幾何学的変換を作成し、実行します。そのため、関数 randomAffine3d
は、左から乗算する規則をサポートする affinetform3d
オブジェクトとして出力引数 tform
を返すようになりました。以前、この関数は、右から乗算する規則をサポートする affine3d
オブジェクトとして tform
を返していました。詳細については、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)