randomAffine2d
ランダムな 2 次元アフィン変換の作成
説明
は、恒等変換を実行するtform
= randomAffine2daffinetform2d
オブジェクトを作成します。
は、名前と値の引数を使用して、アフィン変換のタイプを指定します。tform
= randomAffine2d(Name,Value
)
例
ランダムな角度でのイメージの回転
イメージを読み取って表示します。
I = imread("kobi.png"); imshow(I)
イメージを回転する 2 次元アフィン変換オブジェクトを作成します。関数randomAffine2d
は、区間 [35, 55] 度内の連続一様分布から回転角度をランダムに選択します。
tform1 = randomAffine2d(Rotation=[35 55]);
イメージを回転して、結果を表示します。
J = imwarp(I,tform1); imshow(J)
変換オブジェクトtform1
は、すべてのイメージを同じ量だけ回転します。ランダムに選択された異なる量だけイメージを回転するには、新しい幾何学的変換を作成します。
tform2 = randomAffine2d(Rotation=[-10 10]); J2 = imwarp(I,tform2); imshow(J2)
カスタム回転範囲を使用したイメージのランダムな回転
イメージを読み取って表示します。
I = imread("sherlock.jpg"); imshow(I)
イメージを回転する 2 次元アフィン変換オブジェクトを作成します。カスタム範囲から回転角度を選択するには、関数ハンドルとして名前と値の引数Rotation
を指定します。この例では、2 つの重なっていない区間から角度を選択するmyrange
という名前の関数 (この例の終わりで定義) を指定します。
tform = randomAffine2d(Rotation=@myrange);
イメージを回転して、結果を表示します。
J = imwarp(I,tform); imshow(J)
サポート関数
この例では、2 つの区間 (-10, 10) と (170, 190) のいずれかを同じ確率で最初にランダムに選択する関数myrange
を定義します。この関数は、選択した区間内で一様分布から単一の乱数を返します。
functionangle = myrange()ifrandi([0 1],1) a = -10; b = 10;elsea = 170; b = 190;end角= a + (b)。*兰德(1);end
入力引数
名前と値の引数
オプションの引数のペアをName1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例:tform = randomAffine2d(XReflection=true)
R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name
を引用符で囲みます。
例:tform = randomAffine2d("XReflection",true)
XReflection
—水平方向のランダムな反転
false
(既定値) |true
水平方向のランダムな反転。false
またはtrue
として指定します。XReflection
がtrue
(1
) の場合、変換tform
は 50% の確率でイメージを水平方向に反転します。既定では、この変換はイメージを水平方向に反転しません。
YReflection
—垂直方向のランダムな反転
false
(既定値) |true
垂直方向のランダムな反転。false
またはtrue
として指定します。YReflection
がtrue
(1
) の場合、変換tform
は 50% の確率でイメージを垂直方向に反転します。既定では、この変換はイメージを垂直方向に反転しません。
Rotation
—回転の範囲
[0 0]
(既定値) |2 要素の数値ベクトル|関数ハンドル
Scale
—一様スケーリングの範囲
[1 1]
(既定値) |2 要素の数値ベクトル|関数ハンドル
XShear
—水平方向のせん断の範囲
[0 0]
(既定値) |2 要素の数値ベクトル|関数ハンドル
入力イメージに適用される水平方向のせん断の範囲。次のいずれかに指定します。せん断は角度として度単位で測定され、範囲は (–90, 90) になります。
2 要素の数値ベクトル。2 番目の要素は最初の要素以上でなければなりません。水平方向のせん断角度は、指定区間内の連続一様分布からランダムに選択されます。
関数ハンドル。関数は入力引数を受け入れず、水平方向のせん断角度を数値スカラーとして返さなければなりません。関数ハンドルを使用して、重なっていない区間から、または一様ではない確率分布を使用して水平方向のせん断角度を選択します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
既定では、変換tform
はイメージを水平方向にせん断しません。
例:[0 45]
YShear
—垂直方向のせん断の範囲
[0 0]
(既定値) |2 要素の数値ベクトル|関数ハンドル
入力イメージに適用される垂直方向のせん断の範囲。次のいずれかに指定します。せん断は角度として度単位で測定され、範囲は (–90, 90) になります。
2 要素の数値ベクトル。2 番目の要素は最初の要素以上でなければなりません。垂直方向のせん断角度は、指定区間内の連続一様分布からランダムに選択されます。
関数ハンドル。関数は入力引数を受け入れず、垂直方向のせん断角度を数値スカラーとして返さなければなりません。関数ハンドルを使用して、重なっていない区間から、または一様ではない確率分布を使用して垂直方向のせん断角度を選択します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
既定では、変換tform
はイメージを垂直方向にせん断しません。
例:[0 45]
XTranslation
—水平方向の平行移動の範囲
[0 0]
(既定値) |2 要素の数値ベクトル|関数ハンドル
入力イメージに適用される水平方向の平行移動の範囲。次のいずれかに指定します。平行移動距離はピクセル単位で測定します。
2 要素の数値ベクトル。2 番目の要素は最初の要素以上でなければなりません。水平方向の平行移動距離は、指定区間内の連続一様分布からランダムに選択されます。
関数ハンドル。関数は入力引数を受け入れず、水平方向の平行移動距離を数値スカラーとして返さなければなりません。関数ハンドルを使用して、重なっていない区間から、または一様ではない確率分布を使用して水平方向の平行移動距離を選択します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
既定では、変換tform
はイメージを水平方向に平行移動しません。
例:[-5 5]
YTranslation
—垂直方向の平行移動の範囲
[0 0]
(既定値) |2 要素の数値ベクトル|関数ハンドル
入力イメージに適用される垂直方向の平行移動の範囲。次のいずれかに指定します。平行移動距離はピクセル単位で測定します。
2 要素の数値ベクトル。2 番目の要素は最初の要素以上でなければなりません。垂直方向の平行移動距離は、指定区間内の連続一様分布からランダムに選択されます。
関数ハンドル。関数は入力引数を受け入れず、垂直方向の平行移動距離を数値スカラーとして返さなければなりません。関数ハンドルを使用して、重なっていない区間から、または一様ではない確率分布を使用して垂直方向の平行移動距離を選択します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
既定では、変換tform
はイメージを垂直方向に平行移動しません。
例:[-5 5]
出力引数
tform
— アフィン変換
affinetform2d
オブジェクト
アフィン変換。affinetform2d
オブジェクトとして返されます。
バージョン履歴
R2019b で導入R2022b:affinetform2d
オブジェクトとしてtform
を返す
R2022b 以降、ほとんどの Image Processing Toolbox™ 関数は、左から乗算する規則を使用して幾何学的変換を作成し、実行します。そのため、関数randomAffine2d
は、左から乗算する規則をサポートするaffinetform2d
オブジェクトとして出力引数tform
を返すようになりました。以前、この関数は、右から乗算する規則をサポートするaffine2d
オブジェクトとしてtform
を返していました。詳細については、Migrate Geometric Transformations to Premultiply Conventionを参照してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select:.
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina(Español)
- Canada(English)
- United States(English)
Europe
- 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)