このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
affineOutputView
ワーピング イメージの出力表示の作成
説明
例
さまざまな出力表示スタイルを使用したイメージのワープ
イメージを読み取って表示します。イメージの空間範囲を確認するには、座標軸を表示します。
A = imread("kobi.png"); A = imresize(A,0.25); iptsetpref("ImshowAxesVisible","on") imshow(A)
2 次元アフィン変換を作成します。この例では、範囲 [1.2, 2.4] の係数でのスケーリング、範囲 [-45, 45] 度の角度での回転、範囲 [100, 200] ピクセルの距離での水平方向の平行移動で構成されるランダムな変換を作成します。
tform = randomAffine2d("Scale",[1.2,2.4],"XTranslation",[100 200],"Rotation",[-45,45]);
イメージと変換について 3 つの異なる出力表示を作成します。
centerOutput = affineOutputView(size(A),tform,"BoundsStyle","CenterOutput"); followOutput = affineOutputView(size(A),tform,"BoundsStyle","FollowOutput"); sameAsInput = affineOutputView(size(A),tform,"BoundsStyle","SameAsInput");
異なる出力表示スタイルをそれぞれ使用して、入力イメージに変換を適用します。
BCenterOutput = imwarp(A,tform,"OutputView",centerOutput); BFollowOutput = imwarp(A,tform,"OutputView",followOutput); BSameAsInput = imwarp(A,tform,"OutputView",sameAsInput);
結果のイメージを表示します。
imshow(BCenterOutput)
title("CenterOutput Bounds Style");
imshow(BFollowOutput)
title("FollowOutput Bounds Style");
imshow(BSameAsInput)
title("SameAsInput Bounds Style");
iptsetpref("ImshowAxesVisible","off")
入力引数
sizeA
— 入力イメージのサイズ
2 要素の数値ベクトル | 3 要素の数値ベクトル
入力イメージのサイズ。2 次元イメージ入力の 2 要素数値ベクトルまたは 3 次元ボリューム イメージ入力の 3 要素数値ベクトルとして指定します。
tform
— 幾何学的変換
幾何学的変換オブジェクト
幾何学的変換。表に記載されている幾何学的変換オブジェクトとして指定します。
幾何学的変換オブジェクト | 説明 |
---|---|
2 次元幾何学的変換 | |
transltform2d | 平行移動変換 |
rigidtform2d | 剛体変換: 平行移動と回転 |
simtform2d | 相似変換: 平行移動、回転、等方性スケーリング |
affinetform2d | アフィン変換: 平行移動、回転、異方性スケーリング、鏡映、せん断 |
3 次元幾何学的変換 | |
transltform3d | 平行移動変換 |
rigidtform3d | 剛体変換: 平行移動と回転 |
simtform3d | 相似変換: 平行移動、回転、等方性スケーリング |
affinetform3d | アフィン変換: 平行移動、回転、異方性スケーリング、鏡映、せん断 |
style
— 境界のスタイル
"CenterOutput"
(既定値) | "FollowOutput"
| "SameAsInput"
境界のスタイル。次のいずれかの値に指定します。
スタイル | 説明 |
---|---|
"CenterOutput" | 表示を出力空間内のイメージの中心に配置し、平行移動で出力イメージが表示の外に移動できるようにします。 |
"FollowOutput" | 出力イメージを完全に含むように出力表示の範囲を設定します。 |
"SameAsInput" | 出力範囲が入力範囲と同じになるように設定します。 |
出力引数
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2019b で導入R2022b: 新しい幾何学的変換オブジェクトをサポート
R2022b 以降、ほとんどの Image Processing Toolbox™ 関数は、左から乗算する規則を使用して幾何学的変換を作成し、実行します。そのため、tform
を、affinetform2d
や affinetform3d
オブジェクトなどの左から乗算する規則を使用する幾何学的変換オブジェクトとして指定できるようになりました。
tform
は affine2d
や affine3d
オブジェクトとして指定することもできますが、これらのオブジェクトは右から乗算する規則を使用しているため推奨されません。左から乗算する規則を使用するオブジェクトに切り替えることで、幾何学的変換のワークフローを効率化できます。詳細については、Migrate Geometric Transformations to Premultiply Conventionを参照してください。
R2021b: スレッドベース環境のサポート
affineOutputView
は、スレッドベースの環境をサポートするようになりました。
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)